hpp-util  4.10.1
Debugging tools for the HPP project.
serialization-fwd.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 CNRS
3 // Authors: Joseph Mirabel
4 //
5 // This file is part of hpp-util
6 // hpp-util is free software: you can redistribute it
7 // and/or modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation, either version
9 // 3 of the License, or (at your option) any later version.
10 //
11 // hpp-util is distributed in the hope that it will be
12 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // General Lesser Public License for more details. You should have
15 // received a copy of the GNU Lesser General Public License along with
16 // hpp-util If not, see
17 // <http://www.gnu.org/licenses/>.
18 
19 #ifndef HPP_UTIL_SERIALIZATION_FWD_HH
20 #define HPP_UTIL_SERIALIZATION_FWD_HH
21 
22 #include <boost/serialization/split_member.hpp>
23 #include <boost/serialization/split_free.hpp>
24 
25 namespace boost {
26 namespace serialization {
27 class access;
28 } // namespace serialization
29 } // namespace boost
30 
34 #define HPP_SERIALIZABLE() \
35  friend class boost::serialization::access; \
36  \
37  template<class Archive> \
38  void serialize(Archive & ar, const unsigned int version)
39 
44 #define HPP_SERIALIZABLE_SPLIT() \
45  BOOST_SERIALIZATION_SPLIT_MEMBER() \
46  friend class boost::serialization::access; \
47  \
48  template<class Archive> \
49  void save(Archive & ar, const unsigned int version) const; \
50  \
51  template<class Archive> \
52  void load(Archive & ar, const unsigned int version)
53 
58 #define HPP_SERIALIZABLE_FREE(type) \
59  namespace boost { namespace serialization { \
60  template<class Archive> \
61  void serialize(Archive & ar, type& t, const unsigned int version); \
62  }}
63 
64 
70 #define HPP_SERIALIZABLE_SPLIT_FREE(type) \
71  HPP_SERIALIZABLE_FREE(type)
72 
73 #endif // HPP_UTIL_SERIALIZATION_FWD_HH
Definition: serialization-fwd.hh:25