Mercurial > hg > vamp-build-and-test
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>, |