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