21 #ifndef mia_core_creator_hh    22 #define mia_core_creator_hh    60         virtual std::shared_ptr<T> operator () (
const typename T::dimsize_type& size, 
EPixelType type) 
const = 0;
    64 #define DEFINE_Image_Creator(TYPE) \    65         typedef TImageCreator<TYPE> TYPE##Creator; \    66         typedef TFactory<TImageCreator<TYPE> > TYPE##CreatorPlugin; \    67         typedef THandlerSingleton<TFactoryPluginHandler<TYPE##CreatorPlugin> > TYPE##CreatorPluginHandler;\    68         FACTORY_TRAIT(THandlerSingleton<TFactoryPluginHandler<TYPE##CreatorPlugin> >);     71 #define INSTANCIATE_Image_Creator(TYPE) \    72         template class  TImageCreator<TYPE>;\    73         template class  TPlugin<TYPE, creator_type>;                    \    74         template class  TFactory<TImageCreator<TYPE> >;                 \    75         template class  TPluginHandler<TYPE##CreatorPlugin>;    \    76         template class  TFactoryPluginHandler<TYPE##CreatorPlugin>;     \    77         template class  THandlerSingleton<TFactoryPluginHandler<TYPE##CreatorPlugin> >;  T plugin_data
plugin searchpath helper type, data part 
#define NS_MIA_BEGIN
conveniance define to start the mia namespace 
The base class for generic image creation. 
creator_type plugin_type
plugin searchpath helper type, plugin type part 
static const char * type_descr
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport. 
The base class for all plug-in created object. 
#define NS_MIA_END
conveniance define to end the mia namespace