]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/icl/doc/html/boost_icl/function_reference/range.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / icl / doc / html / boost_icl / function_reference / range.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Range</title>
5 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
7 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
8 <link rel="up" href="../function_reference.html" title="Function Reference">
9 <link rel="prev" href="size.html" title="Size">
10 <link rel="next" href="selection.html" title="Selection">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="size.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="selection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section boost_icl_function_reference_range" lang="en">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_icl.function_reference.range"></a><a class="link" href="range.html" title="Range">Range</a>
28 </h3></div></div></div>
29 <div class="informaltable"><table class="table">
30 <colgroup>
31 <col>
32 <col>
33 <col>
34 <col>
35 <col>
36 </colgroup>
37 <thead><tr>
38 <th>
39 <p>
40 <span class="emphasis"><em><span class="bold"><strong>Range</strong></span></em></span>
41 </p>
42 </th>
43 <th>
44 <p>
45 intervals
46 </p>
47 </th>
48 <th>
49 <p>
50 interval<br> sets
51 </p>
52 </th>
53 <th>
54 <p>
55 interval<br> maps
56 </p>
57 </th>
58 <th>
59 <p>
60 condition
61 </p>
62 </th>
63 </tr></thead>
64 <tbody>
65 <tr>
66 <td>
67 <p>
68 <code class="computeroutput"><span class="identifier">interval_type</span> <span class="identifier">hull</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
69 </p>
70 </td>
71 <td>
72 <p>
73 </p>
74 </td>
75 <td>
76 <p>
77 <span class="emphasis"><em>O(1)</em></span>
78 </p>
79 </td>
80 <td>
81 <p>
82 <span class="emphasis"><em>O(1)</em></span>
83 </p>
84 </td>
85 <td>
86 <p>
87 </p>
88 </td>
89 </tr>
90 <tr>
91 <td>
92 <p>
93 <code class="computeroutput"><span class="identifier">T</span> <span class="identifier">hull</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span>
94 <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
95 </p>
96 </td>
97 <td>
98 <p>
99 <span class="emphasis"><em>O(1)</em></span>
100 </p>
101 </td>
102 <td>
103 <p>
104 </p>
105 </td>
106 <td>
107 <p>
108 </p>
109 </td>
110 <td>
111 <p>
112 </p>
113 </td>
114 </tr>
115 <tr>
116 <td>
117 <p>
118 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">lower</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
119 </p>
120 </td>
121 <td>
122 <p>
123 <span class="emphasis"><em>O(1)</em></span>
124 </p>
125 </td>
126 <td>
127 <p>
128 <span class="emphasis"><em>O(1)</em></span>
129 </p>
130 </td>
131 <td>
132 <p>
133 <span class="emphasis"><em>O(1)</em></span>
134 </p>
135 </td>
136 <td>
137 <p>
138 </p>
139 </td>
140 </tr>
141 <tr>
142 <td>
143 <p>
144 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">upper</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
145 </p>
146 </td>
147 <td>
148 <p>
149 <span class="emphasis"><em>O(1)</em></span>
150 </p>
151 </td>
152 <td>
153 <p>
154 <span class="emphasis"><em>O(1)</em></span>
155 </p>
156 </td>
157 <td>
158 <p>
159 <span class="emphasis"><em>O(1)</em></span>
160 </p>
161 </td>
162 <td>
163 <p>
164 </p>
165 </td>
166 </tr>
167 <tr>
168 <td>
169 <p>
170 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">first</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
171 </p>
172 </td>
173 <td>
174 <p>
175 <span class="emphasis"><em>O(1)</em></span>
176 </p>
177 </td>
178 <td>
179 <p>
180 <span class="emphasis"><em>O(1)</em></span>
181 </p>
182 </td>
183 <td>
184 <p>
185 <span class="emphasis"><em>O(1)</em></span>
186 </p>
187 </td>
188 <td>
189 <p>
190 <code class="computeroutput"><span class="identifier">is_discrete</span><span class="special">&lt;</span><span class="identifier">domain_type</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
191 </p>
192 </td>
193 </tr>
194 <tr>
195 <td>
196 <p>
197 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">last</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
198 </p>
199 </td>
200 <td>
201 <p>
202 <span class="emphasis"><em>O(1)</em></span>
203 </p>
204 </td>
205 <td>
206 <p>
207 <span class="emphasis"><em>O(1)</em></span>
208 </p>
209 </td>
210 <td>
211 <p>
212 <span class="emphasis"><em>O(1)</em></span>
213 </p>
214 </td>
215 <td>
216 <p>
217 <code class="computeroutput"><span class="identifier">is_discrete</span><span class="special">&lt;</span><span class="identifier">domain_type</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
218 </p>
219 </td>
220 </tr>
221 </tbody>
222 </table></div>
223 <p>
224 The table above shows the availability of functions <code class="computeroutput"><span class="identifier">hull</span></code>,
225 <code class="computeroutput"><span class="identifier">lower</span></code>, <code class="computeroutput"><span class="identifier">upper</span></code>,
226 <code class="computeroutput"><span class="identifier">first</span></code> and <code class="computeroutput"><span class="identifier">last</span></code>
227 on intervals and interval containers that are all of <span class="emphasis"><em><span class="bold"><strong>constant time complexity</strong></span></em></span>. Find the functions
228 description and some simple properties below.
229 </p>
230 <div class="informaltable"><table class="table">
231 <colgroup>
232 <col>
233 <col>
234 <col>
235 </colgroup>
236 <thead><tr>
237 <th>
238 <p>
239 <span class="emphasis"><em><span class="bold"><strong>Range</strong></span></em></span>
240 </p>
241 </th>
242 <th>
243 <p>
244 Types
245 </p>
246 </th>
247 <th>
248 <p>
249 Description
250 </p>
251 </th>
252 </tr></thead>
253 <tbody>
254 <tr>
255 <td>
256 <p>
257 <code class="computeroutput"><span class="identifier">interval_type</span> <span class="identifier">hull</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
258 </p>
259 </td>
260 <td>
261 <p>
262 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
263 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
264 </p>
265 </td>
266 <td>
267 <p>
268 <code class="computeroutput"><span class="identifier">hull</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
269 returns the smallest interval that contains all intervals of an interval
270 container <code class="computeroutput"><span class="identifier">x</span></code>.
271 </p>
272 </td>
273 </tr>
274 <tr>
275 <td>
276 <p>
277 <code class="computeroutput"><span class="identifier">T</span> <span class="identifier">hull</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span>
278 <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
279 </p>
280 </td>
281 <td>
282 <p>
283 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
284 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
285 </p>
286 </td>
287 <td>
288 <p>
289 <code class="computeroutput"><span class="identifier">hull</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span><span class="identifier">j</span><span class="special">)</span></code>
290 returns the smallest interval that contains intervals <code class="computeroutput"><span class="identifier">i</span></code> abd 'j'.
291 </p>
292 </td>
293 </tr>
294 <tr>
295 <td>
296 <p>
297 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">lower</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
298 </p>
299 </td>
300 <td>
301 <p>
302 <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
303 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
304 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
305 </p>
306 </td>
307 <td>
308 <p>
309 <code class="computeroutput"><span class="identifier">lower</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
310 returns the lower bound of an interval or interval container <code class="computeroutput"><span class="identifier">x</span></code>.
311 </p>
312 </td>
313 </tr>
314 <tr>
315 <td>
316 <p>
317 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">upper</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
318 </p>
319 </td>
320 <td>
321 <p>
322 <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
323 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
324 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
325 </p>
326 </td>
327 <td>
328 <p>
329 <code class="computeroutput"><span class="identifier">upper</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
330 returns the upper bound of an interval or interval container <code class="computeroutput"><span class="identifier">x</span></code>.
331 </p>
332 </td>
333 </tr>
334 <tr>
335 <td>
336 <p>
337 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">first</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
338 </p>
339 </td>
340 <td>
341 <p>
342 <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
343 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
344 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
345 </p>
346 </td>
347 <td>
348 <p>
349 <code class="computeroutput"><span class="identifier">first</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
350 returns the first element of an interval or interval container <code class="computeroutput"><span class="identifier">x</span></code>. <code class="computeroutput"><span class="identifier">first</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
351 is defined for a discrete <code class="computeroutput"><span class="identifier">domain_type</span></code>
352 only.
353 </p>
354 </td>
355 </tr>
356 <tr>
357 <td>
358 <p>
359 <code class="computeroutput"><span class="identifier">domain_type</span> <span class="identifier">last</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
360 </p>
361 </td>
362 <td>
363 <p>
364 <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
365 <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
366 <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
367 </p>
368 </td>
369 <td>
370 <p>
371 <code class="computeroutput"><span class="identifier">last</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
372 returns the last element of an interval or interval container <code class="computeroutput"><span class="identifier">x</span></code>. <code class="computeroutput"><span class="identifier">last</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
373 is defined for a discrete <code class="computeroutput"><span class="identifier">domain_type</span></code>
374 only.
375 </p>
376 </td>
377 </tr>
378 </tbody>
379 </table></div>
380 <p>
381
382 </p>
383 <pre class="programlisting"><span class="comment">// for interval_containers x:
384 </span><span class="identifier">lower</span><span class="special">(</span><span class="identifier">hull</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">lower</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
385 <span class="identifier">upper</span><span class="special">(</span><span class="identifier">hull</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">upper</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
386 <span class="identifier">first</span><span class="special">(</span><span class="identifier">hull</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">first</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
387 <span class="identifier">last</span><span class="special">(</span><span class="identifier">hull</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">last</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
388 </pre>
389 <p>
390 </p>
391 <p>
392 <span class="emphasis"><em><span class="bold"><strong>Back to section . . .</strong></span></em></span>
393 </p>
394 <div class="informaltable"><table class="table">
395 <colgroup><col></colgroup>
396 <thead><tr></tr></thead>
397 <tbody>
398 <tr><td>
399 <p>
400 <a class="link" href="../interface/function_synopsis.html#function_synopsis_table"><span class="emphasis"><em><span class="bold"><strong>Function
401 Synopsis</strong></span></em></span></a>
402 </p>
403 </td></tr>
404 <tr><td>
405 <p>
406 <a class="link" href="../interface.html" title="Interface"><span class="emphasis"><em><span class="bold"><strong>Interface</strong></span></em></span></a>
407 </p>
408 </td></tr>
409 </tbody>
410 </table></div>
411 </div>
412 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
413 <td align="left"></td>
414 <td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
415 Distributed under the Boost Software License, Version 1.0. (See accompanying
416 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
417 </p>
418 </div></td>
419 </tr></table>
420 <hr>
421 <div class="spirit-nav">
422 <a accesskey="p" href="size.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="selection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
423 </div>
424 </body>
425 </html>