Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
i
k
n
p
r
s
t
v
Typedefs
a
b
c
f
h
i
m
n
p
s
t
u
w
y
Enumerations
Enumerator
a
b
c
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
Enumerator
a
b
c
e
g
i
k
l
m
n
o
p
r
s
u
v
Related Functions
a
b
c
d
e
i
l
m
o
r
s
u
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
g
m
o
p
r
s
t
Variables
_
a
b
f
g
l
t
u
Typedefs
Enumerations
Enumerator
Macros
_
a
b
c
e
f
g
i
l
m
r
s
u
v
w
x
sick_visionary_cpp_shared
3pp
boost
serialization
split_member.hpp
Go to the documentation of this file.
1
#ifndef BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
2
#define BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
3
4
// MS compatible compilers support #pragma once
5
#if defined(_MSC_VER)
6
# pragma once
7
#endif
8
10
// split_member.hpp:
11
12
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
13
// Use, modification and distribution is subject to the Boost Software
14
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
15
// http://www.boost.org/LICENSE_1_0.txt)
16
17
// See http://www.boost.org for updates, documentation, and revision history.
18
19
#include <
boost/config.hpp
>
20
#include <
boost/mpl/eval_if.hpp
>
21
#include <
boost/mpl/identity.hpp
>
22
23
#include <
boost/serialization/access.hpp
>
24
25
namespace
boost
{
26
namespace
archive {
27
namespace
detail {
28
template
<
class
Archive>
class
interface_oarchive;
29
template
<
class
Archive>
class
interface_iarchive;
30
}
// namespace detail
31
}
// namespace archive
32
33
namespace
serialization {
34
namespace
detail {
35
36
template
<
class
Archive,
class
T>
37
struct
member_saver {
38
static
void
invoke
(
39
Archive & ar,
40
const
T
& t,
41
const
unsigned
int
file_version
42
){
43
access::member_save
(ar, t, file_version);
44
}
45
};
46
47
template
<
class
Archive,
class
T>
48
struct
member_loader {
49
static
void
invoke
(
50
Archive & ar,
51
T
& t,
52
const
unsigned
int
file_version
53
){
54
access::member_load
(ar, t, file_version);
55
}
56
};
57
58
}
// detail
59
60
template
<
class
Archive,
class
T>
61
inline
void
split_member
(
62
Archive & ar,
T
& t,
const
unsigned
int
file_version
63
){
64
typedef
typename
mpl::eval_if
<
65
typename
Archive::is_saving,
66
mpl::identity<detail::member_saver<Archive, T>
>,
67
mpl::identity<detail::member_loader<Archive, T>
>
68
>
::type
typex;
69
typex::invoke(ar, t, file_version);
70
}
71
72
}
// namespace serialization
73
}
// namespace boost
74
75
// split member function serialize funcition into save/load
76
#define BOOST_SERIALIZATION_SPLIT_MEMBER() \
77
template<class Archive> \
78
void serialize( \
79
Archive &ar, \
80
const unsigned int file_version \
81
){ \
82
boost::serialization::split_member(ar, *this, file_version); \
83
} \
84
85
86
#endif // BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
boost::serialization::access::member_save
static void member_save(Archive &ar, T &t, const unsigned int file_version)
Definition:
access.hpp:85
identity.hpp
T
T
Definition:
mem_fn_cc.hpp:25
config.hpp
boost::serialization::access::member_load
static void member_load(Archive &ar, T &t, const unsigned int file_version)
Definition:
access.hpp:94
boost::type
Definition:
type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
access.hpp
boost::serialization::split_member
void split_member(Archive &ar, T &t, const unsigned int file_version)
Definition:
split_member.hpp:61
boost::serialization::detail::member_saver::invoke
static void invoke(Archive &ar, const T &t, const unsigned int file_version)
Definition:
split_member.hpp:38
boost::mpl::identity
Definition:
mpl/identity.hpp:25
eval_if.hpp
boost::mpl::eval_if
Definition:
gcc/basic_bind.hpp:408
boost::serialization::detail::member_loader::invoke
static void invoke(Archive &ar, T &t, const unsigned int file_version)
Definition:
split_member.hpp:49
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:40