00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef TEMPLATEDEXPORT_HPP_
00030 #define TEMPLATEDEXPORT_HPP_
00031
00032 #define COVERAGE_IGNORE
00033
00039 #include <boost/serialization/export.hpp>
00040
00041 template<class> struct pack;
00043 template<class T> struct pack<void (T)> {
00044 typedef T type;
00045 };
00046
00047 #define EXPORT_TEMPLATE_CLASS2(CLASS, E, S) \
00048 BOOST_CLASS_EXPORT( pack<void (CLASS< E,S >)>::type );
00049
00050 #define EXPORT_TEMPLATE_CLASS1(CLASS, D) \
00051 BOOST_CLASS_EXPORT( pack<void (CLASS< D >)>::type );
00052
00053 #define EXPORT_TEMPLATE_CLASS_ALL_DIMS(CLASS) \
00054 EXPORT_TEMPLATE_CLASS2(CLASS, 1, 1) \
00055 EXPORT_TEMPLATE_CLASS2(CLASS, 1, 2) \
00056 EXPORT_TEMPLATE_CLASS2(CLASS, 1, 3) \
00057 EXPORT_TEMPLATE_CLASS2(CLASS, 2, 2) \
00058 EXPORT_TEMPLATE_CLASS2(CLASS, 2, 3) \
00059 EXPORT_TEMPLATE_CLASS2(CLASS, 3, 3)
00060
00061 #define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS) \
00062 EXPORT_TEMPLATE_CLASS1(CLASS, 1) \
00063 EXPORT_TEMPLATE_CLASS1(CLASS, 2) \
00064 EXPORT_TEMPLATE_CLASS1(CLASS, 3)
00065
00066 #define EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, E, S) \
00067 BOOST_IS_ABSTRACT( pack<void (CLASS< E,S >)>::type );
00068
00069 #define EXPORT_ABSTRACT_TEMPLATE_CLASS1(CLASS, D) \
00070 BOOST_IS_ABSTRACT( pack<void (CLASS< D >)>::type );
00071
00072 #define EXPORT_ABSTRACT_TEMPLATE_CLASS_SAME_DIMS(CLASS) \
00073 EXPORT_ABSTRACT_TEMPLATE_CLASS1(CLASS, 1) \
00074 EXPORT_ABSTRACT_TEMPLATE_CLASS1(CLASS, 2) \
00075 EXPORT_ABSTRACT_TEMPLATE_CLASS1(CLASS, 3)
00076
00077 #define EXPORT_ABSTRACT_TEMPLATE_CLASS_ALL_DIMS(CLASS) \
00078 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 1, 1) \
00079 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 1, 2) \
00080 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 1, 3) \
00081 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 2, 2) \
00082 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 2, 3) \
00083 EXPORT_ABSTRACT_TEMPLATE_CLASS2(CLASS, 3, 3)
00084
00085
00086 #undef COVERAGE_IGNORE
00087 #endif