hpp-util  4.12.0
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 #include <boost/serialization/export.hpp>
25 
26 namespace boost {
27 namespace serialization {
28 class access;
29 } // namespace serialization
30 } // namespace boost
31 
35 #define HPP_SERIALIZABLE() \
36  friend class boost::serialization::access; \
37  \
38  template<class Archive> \
39  void serialize(Archive & ar, const unsigned int version)
40 
45 #define HPP_SERIALIZABLE_SPLIT() \
46  BOOST_SERIALIZATION_SPLIT_MEMBER() \
47  friend class boost::serialization::access; \
48  \
49  template<class Archive> \
50  void save(Archive & ar, const unsigned int version) const; \
51  \
52  template<class Archive> \
53  void load(Archive & ar, const unsigned int version)
54 
59 #define HPP_SERIALIZABLE_FREE(type) \
60  namespace boost { namespace serialization { \
61  template<class Archive> \
62  void serialize(Archive & ar, type& t, const unsigned int version); \
63  }}
64 
65 
71 #define HPP_SERIALIZABLE_SPLIT_FREE(type) \
72  HPP_SERIALIZABLE_FREE(type)
73 
74 #endif // HPP_UTIL_SERIALIZATION_FWD_HH
Definition: serialization-fwd.hh:26