]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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><iterator> 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 &</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< | |
75 | typename boost::remove_const< | |
76 | typename boost::remove_reference<InputIterator>::type | |
77 | >::type | |
78 | >::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< | |
122 | typename boost::remove_reference<ForwardIterator>::type | |
123 | >::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< | |
137 | typename boost::remove_reference<ForwardIterator>::type | |
138 | >::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<ForwardIterator>::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< | |
194 | typename boost::remove_reference<BidirectionalIterator>::type | |
195 | >::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< | |
209 | typename boost::remove_reference<BidirectionalIterator>::type | |
210 | >::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<BidirectionalIterator>::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> |