]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/proto/doc/reference/functional/std/iterator.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / proto / doc / reference / functional / std / iterator.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright 2012 Eric Niebler
4
5 Distributed under the Boost
6 Software License, Version 1.0. (See accompanying
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 -->
9 <header name="boost/proto/functional/std/iterator.hpp">
10 <para>Includes Proto callables for the functions found in the standard <code>&lt;iterator&gt; header</code>.</para>
11
12 <namespace name="boost">
13 <namespace name="proto">
14 <namespace name="functional">
15
16 <!-- proto::functional::advance -->
17 <struct name="advance">
18 <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
19 <code>std::advance()</code> function on its arguments.</purpose>
20 <description>
21 <para>
22 A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
23 <code>std::advance()</code> function on its arguments.</para>
24 </description>
25 <inherit>
26 <type><classname>proto::callable</classname></type>
27 </inherit>
28 <typedef name="result_type">
29 <type>void</type>
30 </typedef>
31 <method-group name="public member functions">
32 <method name="operator()" cv="const">
33 <type>void</type>
34 <template>
35 <template-type-parameter name="InputIterator"/>
36 </template>
37 <template>
38 <template-type-parameter name="Distance"/>
39 </template>
40 <parameter name="x">
41 <paramtype>InputIterator &amp;</paramtype>
42 </parameter>
43 <parameter name="n">
44 <paramtype>Distance</paramtype>
45 </parameter>
46 <description>
47 <para>Calls <code>std::advance(x, n)</code></para>
48 </description>
49 </method>
50 </method-group>
51 </struct>
52
53 <!-- proto::functional::distance -->
54 <struct name="distance">
55 <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
56 <code>std::distance()</code> function on its arguments.</purpose>
57 <description>
58 <para>
59 A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
60 <code>std::distance()</code> function on its arguments.</para>
61 </description>
62 <inherit>
63 <type><classname>proto::callable</classname></type>
64 </inherit>
65 <struct-specialization name="result">
66 <template>
67 <template-type-parameter name="This"/>
68 <template-type-parameter name="InputIterator"/>
69 </template>
70 <specialization>
71 <template-arg>This(InputIterator, InputIterator)</template-arg>
72 </specialization>
73 <typedef name="type">
74 <type>typename std::iterator_traits&lt;
75 typename boost::remove_const&lt;
76 typename boost::remove_reference&lt;InputIterator&gt;::type
77 &gt;::type
78 &gt;::difference_type</type>
79 </typedef>
80 </struct-specialization>
81 <method-group name="public member functions">
82 <method name="operator()" cv="const">
83 <type>void</type>
84 <template>
85 <template-type-parameter name="InputIterator"/>
86 </template>
87 <parameter name="first">
88 <paramtype>InputIterator</paramtype>
89 </parameter>
90 <parameter name="last">
91 <paramtype>InputIterator</paramtype>
92 </parameter>
93 <returns>
94 <para><code>std::distance(first, last)</code></para>
95 </returns>
96 </method>
97 </method-group>
98 </struct>
99
100 <!-- proto::functional::next -->
101 <struct name="next">
102 <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
103 <code>std::next()</code> function on its arguments.</purpose>
104 <description>
105 <para>
106 A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
107 <code>std::next()</code> function on its arguments.</para>
108 </description>
109 <inherit>
110 <type><classname>proto::callable</classname></type>
111 </inherit>
112 <struct-specialization name="result">
113 <template>
114 <template-type-parameter name="This"/>
115 <template-type-parameter name="ForwardIterator"/>
116 </template>
117 <specialization>
118 <template-arg>This(ForwardIterator)</template-arg>
119 </specialization>
120 <typedef name="type">
121 <type>typename boost::remove_const&lt;
122 typename boost::remove_reference&lt;ForwardIterator&gt;::type
123 &gt;::type</type>
124 </typedef>
125 </struct-specialization>
126 <struct-specialization name="result">
127 <template>
128 <template-type-parameter name="This"/>
129 <template-type-parameter name="ForwardIterator"/>
130 <template-type-parameter name="Distance"/>
131 </template>
132 <specialization>
133 <template-arg>This(ForwardIterator, Distance)</template-arg>
134 </specialization>
135 <typedef name="type">
136 <type>typename boost::remove_const&lt;
137 typename boost::remove_reference&lt;ForwardIterator&gt;::type
138 &gt;::type</type>
139 </typedef>
140 </struct-specialization>
141 <method-group name="public member functions">
142 <method name="operator()" cv="const">
143 <type>void</type>
144 <template>
145 <template-type-parameter name="ForwardIterator"/>
146 </template>
147 <parameter name="x">
148 <paramtype>ForwardIterator</paramtype>
149 </parameter>
150 <returns>
151 <para><code>std::next(x)</code></para>
152 </returns>
153 </method>
154 <method name="operator()" cv="const">
155 <type>void</type>
156 <template>
157 <template-type-parameter name="ForwardIterator"/>
158 </template>
159 <parameter name="x">
160 <paramtype>ForwardIterator</paramtype>
161 </parameter>
162 <parameter name="n">
163 <paramtype>typename std::iterator_traits&lt;ForwardIterator&gt;::difference_type</paramtype>
164 </parameter>
165 <returns>
166 <para><code>std::next(x, n)</code></para>
167 </returns>
168 </method>
169 </method-group>
170 </struct>
171
172 <!-- proto::functional::prior -->
173 <struct name="prior">
174 <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
175 <code>std::prior()</code> function on its arguments.</purpose>
176 <description>
177 <para>
178 A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
179 <code>std::prior()</code> function on its arguments.</para>
180 </description>
181 <inherit>
182 <type><classname>proto::callable</classname></type>
183 </inherit>
184 <struct-specialization name="result">
185 <template>
186 <template-type-parameter name="This"/>
187 <template-type-parameter name="BidirectionalIterator"/>
188 </template>
189 <specialization>
190 <template-arg>This(BidirectionalIterator)</template-arg>
191 </specialization>
192 <typedef name="type">
193 <type>typename boost::remove_const&lt;
194 typename boost::remove_reference&lt;BidirectionalIterator&gt;::type
195 &gt;::type</type>
196 </typedef>
197 </struct-specialization>
198 <struct-specialization name="result">
199 <template>
200 <template-type-parameter name="This"/>
201 <template-type-parameter name="BidirectionalIterator"/>
202 <template-type-parameter name="Distance"/>
203 </template>
204 <specialization>
205 <template-arg>This(BidirectionalIterator, Distance)</template-arg>
206 </specialization>
207 <typedef name="type">
208 <type>typename boost::remove_const&lt;
209 typename boost::remove_reference&lt;BidirectionalIterator&gt;::type
210 &gt;::type</type>
211 </typedef>
212 </struct-specialization>
213 <method-group name="public member functions">
214 <method name="operator()" cv="const">
215 <type>void</type>
216 <template>
217 <template-type-parameter name="BidirectionalIterator"/>
218 </template>
219 <parameter name="x">
220 <paramtype>BidirectionalIterator</paramtype>
221 </parameter>
222 <returns>
223 <para><code>std::prior(x)</code></para>
224 </returns>
225 </method>
226 <method name="operator()" cv="const">
227 <type>void</type>
228 <template>
229 <template-type-parameter name="BidirectionalIterator"/>
230 </template>
231 <parameter name="x">
232 <paramtype>BidirectionalIterator</paramtype>
233 </parameter>
234 <parameter name="n">
235 <paramtype>typename std::iterator_traits&lt;BidirectionalIterator&gt;::difference_type</paramtype>
236 </parameter>
237 <returns>
238 <para><code>std::prior(x, n)</code></para>
239 </returns>
240 </method>
241 </method-group>
242 </struct>
243
244 </namespace>
245 </namespace>
246 </namespace>
247 </header>