|
Chaste
Release::2017.1
|
Go to the documentation of this file. 36 #ifndef CLASSISABSTRACT_HPP_ 37 #define CLASSISABSTRACT_HPP_ 76 #include <boost/version.hpp> 78 #if BOOST_VERSION >= 103600 81 #include <boost/serialization/assume_abstract.hpp> 88 #define CLASS_IS_ABSTRACT(T) BOOST_SERIALIZATION_ASSUME_ABSTRACT(T) 94 #define TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 95 : boost::true_type {}; 100 #include <boost/serialization/is_abstract.hpp> 107 #define CLASS_IS_ABSTRACT(T) BOOST_IS_ABSTRACT(T) 113 #define TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 115 typedef mpl::bool_<true> type; \ 116 BOOST_STATIC_CONSTANT(bool, value = true); \ 119 #endif // BOOST_VERSION >= 103600 126 #define TEMPLATED_CLASS_IS_ABSTRACT_1_UNSIGNED(T) \ 128 namespace serialization { \ 129 template<unsigned U> \ 130 struct is_abstract<T<U> > \ 131 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 132 template<unsigned U> \ 133 struct is_abstract<const T<U> > \ 134 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 142 #define TEMPLATED_CLASS_IS_ABSTRACT_2_UNSIGNED(T) \ 144 namespace serialization { \ 145 template<unsigned U1, unsigned U2> \ 146 struct is_abstract<T<U1, U2> > \ 147 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 148 template<unsigned U1, unsigned U2> \ 149 struct is_abstract<const T<U1, U2> > \ 150 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 158 #define TEMPLATED_CLASS_IS_ABSTRACT_3_UNSIGNED(T) \ 160 namespace serialization { \ 161 template<unsigned U1, unsigned U2, unsigned U3> \ 162 struct is_abstract<T<U1, U2, U3> > \ 163 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \ 164 template<unsigned U1, unsigned U2, unsigned U3> \ 165 struct is_abstract<const T<U1, U2, U3> > \ 166 TEMPLATED_CLASS_IS_ABSTRACT_DEFN \