]> git.proxmox.com Git - ceph.git/blame - 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
CommitLineData
7c673cae
FG
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.
27These metafunctions can be used outside the bimap framework for other bimap
28signature compatible classes.
29\code
30
31template< class Tag, class Bimap >
32struct iterator_type_by
33{
34 typedef -unspecified- type;
35};
36
37template< class Tag, class Bimap >
38struct const_iterator_type_by
39{
40 typedef -unspecified- type;
41};
42
43template< class Tag, class Bimap >
44struct reverse_iterator_type_by
45{
46 typedef -unspecified- type;
47};
48
49template< class Tag, class Bimap >
50struct const_reverse_iterator_type_by
51{
52 typedef -unspecified- type;
53};
54
55template< class Tag, class Bimap >
56struct local_iterator_type_by
57{
58 typedef -unspecified- type;
59};
60
61template< class Tag, class Bimap >
62struct const_local_iterator_type_by
63{
64 typedef -unspecified- type;
65};
66
67\endcode
68
69See also member_at.
70\ingroup bimap_group
71 **/
72
73#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
74
75namespace boost {
76namespace bimaps {
77namespace support {
78
79// Implementation of iterator type by metafunction
80
81BOOST_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
90BOOST_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
100BOOST_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
109BOOST_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
119BOOST_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
128BOOST_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