Go to the source code of this file.
Classes | |
class | mvsim::ClassFactory< CLASS, ARG1, ARG2 > |
struct | mvsim::ClassFactory< CLASS, ARG1, ARG2 >::TClassData |
Namespaces | |
namespace | mvsim |
Defines | |
#define | DECLARES_REGISTER_CLASS1(CLASS_NAME, BASE_CLASS, ARG1) |
#define | DECLARES_REGISTER_CLASS2(CLASS_NAME, BASE_CLASS, ARG1, ARG2) |
#define | REGISTER_CLASS1(FACTORY_TYPE, FACTORY_OBJ, TEXTUAL_NAME, CLASS_NAME) |
#define | REGISTER_CLASS2(FACTORY_TYPE, FACTORY_OBJ, TEXTUAL_NAME, CLASS_NAME) |
#define DECLARES_REGISTER_CLASS1 | ( | CLASS_NAME, | |
BASE_CLASS, | |||
ARG1 | |||
) |
public: \ static BASE_CLASS* Create(ARG1 a1) { return new CLASS_NAME(a1); }
Definition at line 71 of file ClassFactory.h.
#define DECLARES_REGISTER_CLASS2 | ( | CLASS_NAME, | |
BASE_CLASS, | |||
ARG1, | |||
ARG2 | |||
) |
public: \ static BASE_CLASS* Create(ARG1 a1, ARG2 a2) \ { \ return new CLASS_NAME(a1, a2); \ }
Definition at line 74 of file ClassFactory.h.
#define REGISTER_CLASS1 | ( | FACTORY_TYPE, | |
FACTORY_OBJ, | |||
TEXTUAL_NAME, | |||
CLASS_NAME | |||
) |
{ \ FACTORY_TYPE::TClassData data; \ data.ptr_factory1 = &CLASS_NAME::Create; \ FACTORY_OBJ.do_register(TEXTUAL_NAME, data); \ }
Definition at line 81 of file ClassFactory.h.
#define REGISTER_CLASS2 | ( | FACTORY_TYPE, | |
FACTORY_OBJ, | |||
TEXTUAL_NAME, | |||
CLASS_NAME | |||
) |
{ \ FACTORY_TYPE::TClassData data; \ data.ptr_factory2 = &CLASS_NAME::Create; \ FACTORY_OBJ.do_register(TEXTUAL_NAME, data); \ }
Definition at line 88 of file ClassFactory.h.