ModernCPlusPlusDemo
载入中...
搜索中...
未找到
| Public 成员函数 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
ObjectFactory类 参考

#include <ObjectFactory.hpp>

类 ObjectFactory 继承关系图:
Singleton< ObjectFactory >

struct  Deleter
 
struct  ObjectInfo
 
struct  TypeInfo
 

Public 成员函数

template<typename T , typename... Args>
T * create (Args &&... args)
 
template<typename T , typename... Args>
T * createByName (const std::string &typeName, Args &&... args)
 
template<typename T >
void registerType (const std::string &typeName)
 
template<typename T >
std::vector< T * > getObjects () const
 
void deleteObject (void *ptr)
 
 ~ObjectFactory ()
 
- Public 成员函数 继承自 Singleton< ObjectFactory >
 Singleton (const Singleton &)=delete
 
 Singleton (Singleton &&)=delete
 
Singletonoperator= (const Singleton &)=delete
 
Singletonoperator= (Singleton &&)=delete
 

Private 成员函数

template<typename T , typename... Args>
T * createImpl (const std::string &typeName, Args &&... args)
 
 ObjectFactory ()=default
 

Private 属性

std::unordered_map< std::string, TypeInfom_typeInfo
 
std::unordered_map< void *, ObjectInfom_objects
 

友元

class Singleton< ObjectFactory >
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 Singleton< ObjectFactory >
static ObjectFactorys_getInstance ()
 
- Protected 成员函数 继承自 Singleton< ObjectFactory >
 Singleton ()=default
 
 ~Singleton ()=default
 

构造及析构函数说明

◆ ~ObjectFactory()

ObjectFactory::~ObjectFactory ( )
inline

◆ ObjectFactory()

ObjectFactory::ObjectFactory ( )
privatedefault

成员函数说明

◆ create()

template<typename T , typename... Args>
T * ObjectFactory::create ( Args &&...  args)
inline

◆ createByName()

template<typename T , typename... Args>
T * ObjectFactory::createByName ( const std::string &  typeName,
Args &&...  args 
)
inline

◆ createImpl()

template<typename T , typename... Args>
T * ObjectFactory::createImpl ( const std::string &  typeName,
Args &&...  args 
)
inlineprivate

◆ deleteObject()

void ObjectFactory::deleteObject ( void *  ptr)
inline

◆ getObjects()

template<typename T >
std::vector< T * > ObjectFactory::getObjects ( ) const
inline

◆ registerType()

template<typename T >
void ObjectFactory::registerType ( const std::string &  typeName)
inline

友元及相关函数文档

◆ Singleton< ObjectFactory >

friend class Singleton< ObjectFactory >
friend

类成员变量说明

◆ m_objects

std::unordered_map<void*, ObjectInfo> ObjectFactory::m_objects
private

◆ m_typeInfo

std::unordered_map<std::string, TypeInfo> ObjectFactory::m_typeInfo
private

该类的文档由以下文件生成: