]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/iterator/include/boost/iterator/iterator_traits.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / iterator / include / boost / iterator / iterator_traits.hpp
1 // Copyright David Abrahams 2003.
2 // Distributed under the Boost Software License, Version 1.0. (See
3 // accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 #ifndef ITERATOR_TRAITS_DWA200347_HPP
6 # define ITERATOR_TRAITS_DWA200347_HPP
7
8 # include <boost/detail/iterator.hpp>
9 # include <boost/detail/workaround.hpp>
10
11 namespace boost {
12 namespace iterators {
13
14 // Macro for supporting old compilers, no longer needed but kept
15 // for backwards compatibility (it was documented).
16 #define BOOST_ITERATOR_CATEGORY iterator_category
17
18
19 template <class Iterator>
20 struct iterator_value
21 {
22 typedef typename boost::detail::iterator_traits<Iterator>::value_type type;
23 };
24
25 template <class Iterator>
26 struct iterator_reference
27 {
28 typedef typename boost::detail::iterator_traits<Iterator>::reference type;
29 };
30
31
32 template <class Iterator>
33 struct iterator_pointer
34 {
35 typedef typename boost::detail::iterator_traits<Iterator>::pointer type;
36 };
37
38 template <class Iterator>
39 struct iterator_difference
40 {
41 typedef typename boost::detail::iterator_traits<Iterator>::difference_type type;
42 };
43
44 template <class Iterator>
45 struct iterator_category
46 {
47 typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
48 };
49
50 } // namespace iterators
51
52 using iterators::iterator_value;
53 using iterators::iterator_reference;
54 using iterators::iterator_pointer;
55 using iterators::iterator_difference;
56 using iterators::iterator_category;
57
58 } // namespace boost
59
60 #endif // ITERATOR_TRAITS_DWA200347_HPP