]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/bimap/include/boost/bimap/support/iterator_type_by.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / bimap / include / boost / bimap / support / iterator_type_by.hpp
1 // Boost.Bimap
2 //
3 // Copyright (c) 2006-2007 Matias Capeletto
4 //
5 // Distributed under the Boost Software License, Version 1.0.
6 // (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8
9 /// \file support/iterator_type_by.hpp
10 /// \brief Metafunctions to access the iterator types of a bimap
11
12 #ifndef BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
13 #define BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
14
15 #if defined(_MSC_VER)
16 #pragma once
17 #endif
18
19 #include <boost/config.hpp>
20
21 #include <boost/bimap/relation/detail/metadata_access_builder.hpp>
22 #include <boost/bimap/relation/detail/static_access_builder.hpp>
23
24 /** \struct boost::bimaps::support::iterator_type_by
25
26 \brief Metafunction to obtain the iterator type of the map view by one of the sides.
27 These metafunctions can be used outside the bimap framework for other bimap
28 signature compatible classes.
29 \code
30
31 template< class Tag, class Bimap >
32 struct iterator_type_by
33 {
34 typedef -unspecified- type;
35 };
36
37 template< class Tag, class Bimap >
38 struct const_iterator_type_by
39 {
40 typedef -unspecified- type;
41 };
42
43 template< class Tag, class Bimap >
44 struct reverse_iterator_type_by
45 {
46 typedef -unspecified- type;
47 };
48
49 template< class Tag, class Bimap >
50 struct const_reverse_iterator_type_by
51 {
52 typedef -unspecified- type;
53 };
54
55 template< class Tag, class Bimap >
56 struct local_iterator_type_by
57 {
58 typedef -unspecified- type;
59 };
60
61 template< class Tag, class Bimap >
62 struct const_local_iterator_type_by
63 {
64 typedef -unspecified- type;
65 };
66
67 \endcode
68
69 See also member_at.
70 \ingroup bimap_group
71 **/
72
73 #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
74
75 namespace boost {
76 namespace bimaps {
77 namespace support {
78
79 // Implementation of iterator type by metafunction
80
81 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
82 (
83 iterator_type_by,
84 left_iterator,
85 right_iterator
86 )
87
88 // Implementation of const iterator type by metafunction
89
90 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
91 (
92 const_iterator_type_by,
93 left_const_iterator,
94 right_const_iterator
95 )
96
97
98 // Implementation of reverse iterator type by metafunction
99
100 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
101 (
102 reverse_iterator_type_by,
103 left_reverse_iterator,
104 right_reverse_iterator
105 )
106
107 // Implementation of const reverse iterator type by metafunction
108
109 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
110 (
111 const_reverse_iterator_type_by,
112 left_const_reverse_iterator,
113 right_const_reverse_iterator
114 )
115
116
117 // Implementation of local iterator type by metafunction
118
119 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
120 (
121 local_iterator_type_by,
122 left_local_iterator,
123 right_local_iterator
124 )
125
126 // Implementation of const local iterator type by metafunction
127
128 BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
129 (
130 const_local_iterator_type_by,
131 left_const_local_iterator,
132 right_const_local_iterator
133 )
134
135 } // namespace support
136 } // namespace bimaps
137 } // namespace boost
138
139 #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
140
141 #endif // BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
142