File indexing completed on 2024-04-06 12:02:32
0001 #ifndef CondFormats_Serialization_Serializable_h
0002 #define CondFormats_Serialization_Serializable_h
0003
0004 #if defined(__GCCXML__)
0005
0006 #define COND_SERIALIZABLE
0007 #define COND_TRANSIENT
0008
0009 #else
0010
0011
0012
0013
0014
0015 #include <boost/serialization/access.hpp>
0016
0017 #include <boost/serialization/string.hpp>
0018 #include <boost/serialization/vector.hpp>
0019 #include <boost/serialization/list.hpp>
0020 #include <boost/serialization/set.hpp>
0021 #include <boost/serialization/map.hpp>
0022 #include <boost/serialization/bitset.hpp>
0023 #include <boost/serialization/unordered_map.hpp>
0024 #include <boost/serialization/utility.hpp>
0025
0026
0027 namespace cond {
0028 namespace serialization {
0029 template <typename CondSerializationT, typename Enabled = void>
0030 struct access;
0031 }
0032 }
0033
0034
0035
0036
0037
0038
0039 #define COND_SERIALIZABLE \
0040 private: \
0041 template <class Archive> \
0042 void serialize(Archive& ar, const unsigned int version); \
0043 template <typename CondSerializationT, typename Enabled> \
0044 friend struct cond::serialization::access; \
0045 friend class boost::serialization::access;
0046
0047
0048
0049
0050 #define COND_SERIALIZABLE_MANUAL \
0051 COND_SERIALIZABLE; \
0052 void cond_serialization_manual();
0053
0054
0055 #define COND_SERIALIZABLE_POLYMORPHIC(T) BOOST_CLASS_EXPORT(T);
0056
0057
0058
0059
0060
0061
0062
0063 #define COND_TRANSIENT
0064
0065 #endif
0066 #endif