Go to the source code of this file.
|
#define | FirstArgStr(X, ...) #X |
|
#define | FirstArgFactoryName(X, ...) X##_factory |
|
#define | DeclareFactory(...) typedef ::sprockit::Factory<__VA_ARGS__> FirstArgFactoryName(__VA_ARGS__); |
|
#define | ImplementFactory(type_name) |
|
#define | SpktTemplateRegister(cls_str, parent_cls, child_cls, unique_name, ...) static ::sprockit::SpktBuilderImpl<child_cls, parent_cls##_factory> unique_name##_cd(cls_str) |
|
#define | SpktRegister(cls_str, parent_cls, child_cls, ...) static ::sprockit::SpktBuilderImpl<child_cls,parent_cls##_factory> child_cls##_cd(cls_str) |
|
#define | DeclareFactory1InitParam(type_name, param1_name) DeclareFactory(type_name, param1_name); |
|
#define | DeclareFactory2InitParams(type_name, param1_name, param2_name) DeclareFactory(type_name, param1_name, param2_name); |
|
#define | DeclareFactory3InitParams(type_name, param1_name, param2_name, param3_name) DeclareFactory(type_name, param1_name, param2_name, param3_name); |
|
#define DeclareFactory1InitParam |
( |
|
type_name, |
|
|
|
param1_name |
|
) |
| DeclareFactory(type_name, param1_name); |
#define DeclareFactory2InitParams |
( |
|
type_name, |
|
|
|
param1_name, |
|
|
|
param2_name |
|
) |
| DeclareFactory(type_name, param1_name, param2_name); |
#define DeclareFactory3InitParams |
( |
|
type_name, |
|
|
|
param1_name, |
|
|
|
param2_name, |
|
|
|
param3_name |
|
) |
| DeclareFactory(type_name, param1_name, param2_name, param3_name); |
#define FirstArgFactoryName |
( |
|
X, |
|
|
|
... |
|
) |
| X##_factory |
#define FirstArgStr |
( |
|
X, |
|
|
|
... |
|
) |
| #X |
#define ImplementFactory |
( |
|
type_name | ) |
|
Value:template<> const char* type_name##_factory::name_ = #type_name; \
template<> std::map<std::string, type_name##_factory::builder_t*>* type_name##_factory::builder_map_ = 0; \
template<> std::map<std::string, std::list<std::string>>* type_name##_factory::alias_map_ = 0; \
Definition at line 300 of file factory.h.
#define SpktRegister |
( |
|
cls_str, |
|
|
|
parent_cls, |
|
|
|
child_cls, |
|
|
|
... |
|
) |
| static ::sprockit::SpktBuilderImpl<child_cls,parent_cls##_factory> child_cls##_cd(cls_str) |
#define SpktTemplateRegister |
( |
|
cls_str, |
|
|
|
parent_cls, |
|
|
|
child_cls, |
|
|
|
unique_name, |
|
|
|
... |
|
) |
| static ::sprockit::SpktBuilderImpl<child_cls, parent_cls##_factory> unique_name##_cd(cls_str) |