39#include <boost/variant/variant.hpp>
40#include <boost/variant/apply_visitor.hpp>
41#include <boost/variant/static_visitor.hpp>
42#include <boost/mpl/empty.hpp>
43#include <boost/mpl/if.hpp>
44#include <boost/mpl/front.hpp>
45#include <boost/mpl/pop_front.hpp>
54template <
class Archive,
class T>
63template <
class Archive,
class Variant,
class TBegin,
class TEnd>
67 typedef typename boost::mpl::next<TBegin>::type
TNext;
91template <
class Archive,
class Variant,
class TBegin>
103template <
template <
bool>
class Archive,
typename...
T>
105 using types =
typename boost::variant<
T...>::types;
106 typename Archive<false>::variant_tag_type t;
108 ar.read_variant_tag(t);
110 typename boost::mpl::begin<types>::type,
111 typename boost::mpl::end<types>::type>::read(
ar, v, t))
120template <
template <
bool>
class Archive>
142template <
template <
bool>
class Archive,
typename...
T>
binary_archive< false > ar
Definition cold-outputs.cpp:54
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1124
Simple DSL AAPI based on.
Archive::variant_tag_type variant_tag_type
Definition variant.h:94
static bool read(Archive &ar, Variant &v, variant_tag_type t)
Definition variant.h:96
reads a variant
Definition variant.h:65
boost::mpl::deref< TBegin >::type current_type
Definition variant.h:68
Archive::variant_tag_type variant_tag_type
Definition variant.h:66
static bool read(Archive &ar, Variant &v, variant_tag_type t)
Definition variant.h:71
boost::mpl::next< TBegin >::type TNext
Definition variant.h:67
bool operator()(T &rv) const
Definition variant.h:128
Archive< true > & ar
Definition variant.h:123
variant_write_visitor(Archive< true > &a)
Definition variant.h:125
static bool do_serialize(Archive< false > &ar, boost::variant< T... > &v)
Definition variant.h:104