1 #ifndef __CPPLUGINS__INTERFACE__MACROS__H__
2 #define __CPPLUGINS__INTERFACE__MACROS__H__
4 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
7 * Based upon: http://www.itk.org/Wiki/Proposals:Explicit_Instantiation
10 // -------------------------------------------------------------------------
11 #define cpPlugins_TEMPLATE_1( X1 ) \
13 #define cpPlugins_TEMPLATE_2( X1, X2 ) \
15 #define cpPlugins_TEMPLATE_3( X1, X2, X3 ) \
17 #define cpPlugins_TEMPLATE_4( X1, X2, X3, X4 ) \
19 #define cpPlugins_TEMPLATE_5( X1, X2, X3, X4, X5 ) \
21 #define cpPlugins_TEMPLATE_6( X1, X2, X3, X4, X5, X6 ) \
23 #define cpPlugins_TEMPLATE_7( X1, X2, X3, X4, X5, X6, X7 ) \
25 #define cpPlugins_TEMPLATE_8( X1, X2, X3, X4, X5, X6, X7, X8 ) \
26 X1,X2,X3,X4,X5,X6,X7,X8
27 #define cpPlugins_TEMPLATE_9( X1, X2, X3, X4, X5, X6, X7, X8, X9 ) \
28 X1,X2,X3,X4,X5,X6,X7,X8,X9
30 #define cpPlugins_TEMPLATE_EXPORT( X ) \
31 template cpPlugins_TEMPLATE_##X;
32 #define cpPlugins_TEMPLATE_IMPORT( X ) \
33 extern template cpPlugins_TEMPLATE_##X;
35 #endif // __CPPLUGINS__INTERFACE__MACROS__H__