22 #ifndef USMODULEIMPORT_H
23 #define USMODULEIMPORT_H
31 struct ModuleActivator;
52 #define US_INITIALIZE_STATIC_MODULE(_module_name) \
53 extern "C" void _us_import_module_initializer_ ## _module_name(); \
54 struct StaticModuleInitializer_ ## _module_name \
56 StaticModuleInitializer_ ## _module_name() \
58 _us_import_module_initializer_ ## _module_name(); \
61 static StaticModuleInitializer_ ## _module_name _InitializeModule_ ## _module_name;
85 #define US_IMPORT_MODULE(_module_name) \
86 US_INITIALIZE_STATIC_MODULE(_module_name) \
87 extern "C" US_PREPEND_NAMESPACE(ModuleActivator)* _us_module_activator_instance_ ## _module_name (); \
88 void _dummy_reference_to_ ## _module_name ## _activator() \
90 _us_module_activator_instance_ ## _module_name(); \
#define US_BEGIN_NAMESPACE