00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020
00021 #ifndef SOME_DEFINES_HEADER
00022 #define SOME_DEFINES_HEADER
00023
00024 #ifdef _WIN32
00025 #define SOME_EXPORT extern "C" __declspec(dllexport)
00026 #else
00027 #define SOME_EXPORT extern "C"
00028 #endif
00029
00033 #define DEFAULT_CONSTRUCT_FUNC_NAME(classname) create_default_##classname
00034 #define MAKE_DEFAULT_CONSTRUCT_FUNC(classname) SOME_EXPORT inline classname * create_default_##classname() { return new classname; }
00035
00036 #define ONE_PARAM_CONSTRUCT_FUNC_NAME(classname) create_1param_##classname
00037 #define MAKE_ONE_PARAM_CONSTRUCT_FUNC(classname, param1type) SOME_EXPORT inline classname * create_1param_##classname( param1type param1) { return new classname(param1); }
00038
00039 #define TWO_PARAM_CONSTRUCT_FUNC_NAME(classname) create_2param_##classname
00040 #define MAKE_TWO_PARAM_CONSTRUCT_FUNC(classname, param1type, param2type) SOME_EXPORT inline classname * create_2param_##classname( param1type param1, param2type param2 ) { return new classname(param1, param2); }
00041
00042 #endif //SOME_DEFINES_HEADER
00043