sick_visionary_cpp_shared
3pp
boost
serialization
wrapper.hpp
Go to the documentation of this file.
1
#ifndef BOOST_SERIALIZATION_WRAPPER_HPP
2
#define BOOST_SERIALIZATION_WRAPPER_HPP
3
4
// (C) Copyright 2005-2006 Matthias Troyer
5
// Use, modification and distribution is subject to the Boost Software
6
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7
// http://www.boost.org/LICENSE_1_0.txt)
8
9
#include <
boost/serialization/traits.hpp
>
10
#include <
boost/type_traits/is_base_and_derived.hpp
>
11
#include <
boost/mpl/eval_if.hpp
>
12
#include <
boost/mpl/bool_fwd.hpp
>
13
14
namespace
boost
{
namespace
serialization {
15
20
// is not supported by all compilers, we derive all wrappers from wrapper_traits.
21
22
template
<
23
class
T
,
24
int
Level
=
object_serializable
,
25
int
Tracking =
track_never
,
26
unsigned
int
Version = 0,
27
class
ETII = extended_type_info_impl< T >
28
>
29
struct
wrapper_traits
:
30
public
traits
<T,Level,Tracking,Version,ETII,mpl::true_>
31
{};
32
33
template
<
class
T>
34
struct
is_wrapper_impl
:
35
boost::mpl::eval_if
<
36
boost::is_base_and_derived<basic_traits,T>,
37
boost::mpl::true_,
38
boost::mpl::false_
39
>
::type
40
{};
41
42
template
<
class
T>
43
struct
is_wrapper
{
44
typedef
typename
is_wrapper_impl<const T>::type
type
;
45
};
46
47
}
// serialization
48
}
// boost
49
50
// A macro to define that a class is a wrapper
51
#define BOOST_CLASS_IS_WRAPPER(T) \
52
namespace boost { \
53
namespace serialization { \
54
template<> \
55
struct is_wrapper_impl<const T> : boost::mpl::true_ {}; \
56
} \
57
} \
58
59
60
#endif //BOOST_SERIALIZATION_WRAPPER_HPP
traits.hpp
T
T
Definition:
mem_fn_cc.hpp:25
boost::type
Definition:
type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::serialization::is_wrapper
Definition:
wrapper.hpp:43
boost::serialization::is_wrapper_impl
Definition:
wrapper.hpp:34
boost::serialization::traits
Definition:
serialization/traits.hpp:52
boost::serialization::wrapper_traits
Definition:
wrapper.hpp:29
boost::serialization::object_serializable
@ object_serializable
Definition:
level_enum.hpp:41
bool_fwd.hpp
eval_if.hpp
Level
Level
boost::mpl::eval_if
Definition:
gcc/basic_bind.hpp:408
is_base_and_derived.hpp
boost::serialization::is_wrapper::type
is_wrapper_impl< const T >::type type
Definition:
wrapper.hpp:44
boost::serialization::track_never
@ track_never
Definition:
tracking_enum.hpp:30
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:56:19