comparison DEPENDENCIES/generic/include/boost/serialization/tracking.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
1 #ifndef BOOST_SERIALIZATION_TRACKING_HPP 1 #ifndef BOOST_SERIALIZATION_TRACKING_HPP
2 #define BOOST_SERIALIZATION_TRACKING_HPP 2 #define BOOST_SERIALIZATION_TRACKING_HPP
3 3
4 // MS compatible compilers support #pragma once 4 // MS compatible compilers support #pragma once
5 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 5 #if defined(_MSC_VER)
6 # pragma once 6 # pragma once
7 #endif 7 #endif
8 8
9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
10 // tracking.hpp: 10 // tracking.hpp:
39 // default tracking level 39 // default tracking level
40 template<class T> 40 template<class T>
41 struct tracking_level_impl { 41 struct tracking_level_impl {
42 template<class U> 42 template<class U>
43 struct traits_class_tracking { 43 struct traits_class_tracking {
44 typedef BOOST_DEDUCED_TYPENAME U::tracking type; 44 typedef typename U::tracking type;
45 }; 45 };
46 typedef mpl::integral_c_tag tag; 46 typedef mpl::integral_c_tag tag;
47 // note: at least one compiler complained w/o the full qualification 47 // note: at least one compiler complained w/o the full qualification
48 // on basic traits below 48 // on basic traits below
49 typedef 49 typedef
50 BOOST_DEDUCED_TYPENAME mpl::eval_if< 50 typename mpl::eval_if<
51 is_base_and_derived<boost::serialization::basic_traits, T>, 51 is_base_and_derived<boost::serialization::basic_traits, T>,
52 traits_class_tracking< T >, 52 traits_class_tracking< T >,
53 //else 53 //else
54 BOOST_DEDUCED_TYPENAME mpl::eval_if< 54 typename mpl::eval_if<
55 is_pointer< T >, 55 is_pointer< T >,
56 // pointers are not tracked by default 56 // pointers are not tracked by default
57 mpl::int_<track_never>, 57 mpl::int_<track_never>,
58 //else 58 //else
59 BOOST_DEDUCED_TYPENAME mpl::eval_if< 59 typename mpl::eval_if<
60 // for primitives 60 // for primitives
61 BOOST_DEDUCED_TYPENAME mpl::equal_to< 61 typename mpl::equal_to<
62 implementation_level< T >, 62 implementation_level< T >,
63 mpl::int_<primitive_type> 63 mpl::int_<primitive_type>
64 >, 64 >,
65 // is never 65 // is never
66 mpl::int_<track_never>, 66 mpl::int_<track_never>,