Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/archive/iterators/unescape.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_ARCHIVE_ITERATORS_UNESCAPE_HPP | 1 #ifndef BOOST_ARCHIVE_ITERATORS_UNESCAPE_HPP |
2 #define BOOST_ARCHIVE_ITERATORS_UNESCAPE_HPP | 2 #define BOOST_ARCHIVE_ITERATORS_UNESCAPE_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 // unescape.hpp | 10 // unescape.hpp |
16 | 16 |
17 // See http://www.boost.org for updates, documentation, and revision history. | 17 // See http://www.boost.org for updates, documentation, and revision history. |
18 | 18 |
19 #include <boost/assert.hpp> | 19 #include <boost/assert.hpp> |
20 | 20 |
21 #include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME | |
22 #include <boost/iterator/iterator_adaptor.hpp> | 21 #include <boost/iterator/iterator_adaptor.hpp> |
23 //#include <boost/iterator/iterator_traits.hpp> | |
24 #include <boost/pointee.hpp> | 22 #include <boost/pointee.hpp> |
25 | 23 |
26 namespace boost { | 24 namespace boost { |
27 namespace archive { | 25 namespace archive { |
28 namespace iterators { | 26 namespace iterators { |
33 template<class Derived, class Base> | 31 template<class Derived, class Base> |
34 class unescape | 32 class unescape |
35 : public boost::iterator_adaptor< | 33 : public boost::iterator_adaptor< |
36 unescape<Derived, Base>, | 34 unescape<Derived, Base>, |
37 Base, | 35 Base, |
38 BOOST_DEDUCED_TYPENAME pointee<Base>::type, | 36 typename pointee<Base>::type, |
39 single_pass_traversal_tag, | 37 single_pass_traversal_tag, |
40 BOOST_DEDUCED_TYPENAME pointee<Base>::type | 38 typename pointee<Base>::type |
41 > | 39 > |
42 { | 40 { |
43 friend class boost::iterator_core_access; | 41 friend class boost::iterator_core_access; |
44 typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor< | 42 typedef typename boost::iterator_adaptor< |
45 unescape<Derived, Base>, | 43 unescape<Derived, Base>, |
46 Base, | 44 Base, |
47 BOOST_DEDUCED_TYPENAME pointee<Base>::type, | 45 typename pointee<Base>::type, |
48 single_pass_traversal_tag, | 46 single_pass_traversal_tag, |
49 BOOST_DEDUCED_TYPENAME pointee<Base>::type | 47 typename pointee<Base>::type |
50 > super_t; | 48 > super_t; |
51 | 49 |
52 typedef unescape<Derived, Base> this_t; | 50 typedef unescape<Derived, Base> this_t; |
53 public: | 51 public: |
54 typedef BOOST_DEDUCED_TYPENAME this_t::value_type value_type; | 52 typedef typename this_t::value_type value_type; |
55 typedef BOOST_DEDUCED_TYPENAME this_t::reference reference; | 53 typedef typename this_t::reference reference; |
56 private: | 54 private: |
57 value_type dereference_impl() { | 55 value_type dereference_impl() { |
58 if(! m_full){ | 56 if(! m_full){ |
59 m_current_value = static_cast<Derived *>(this)->drain(); | 57 m_current_value = static_cast<Derived *>(this)->drain(); |
60 m_full = true; | 58 m_full = true; |