• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Selection</title>
5<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../../index.html" title="Chapter 1. Boost.Icl">
8<link rel="up" href="../function_reference.html" title="Function Reference">
9<link rel="prev" href="range.html" title="Range">
10<link rel="next" href="addition.html" title="Addition">
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="range.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="addition.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h3 class="title">
27<a name="boost_icl.function_reference.selection"></a><a class="link" href="selection.html" title="Selection">Selection</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<col>
37</colgroup>
38<thead><tr>
39<th>
40                <p>
41                  <span class="emphasis"><em><span class="bold"><strong>Selection</strong></span></em></span>
42                </p>
43              </th>
44<th>
45                <p>
46                  interval<br> sets
47                </p>
48              </th>
49<th>
50                <p>
51                  interval<br> maps
52                </p>
53              </th>
54<th>
55                <p>
56                  element<br> sets
57                </p>
58              </th>
59<th>
60                <p>
61                  element<br> maps
62                </p>
63              </th>
64<th>
65                <p>
66                  condition
67                </p>
68              </th>
69</tr></thead>
70<tbody>
71<tr>
72<td>
73                <p>
74                  <code class="computeroutput"><span class="identifier">iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span>
75                  <span class="identifier">domain_type</span><span class="special">&amp;)</span></code>
76                </p>
77              </td>
78<td>
79              </td>
80<td>
81              </td>
82<td>
83                <p>
84                  <span class="emphasis"><em>O(log n)</em></span>
85                </p>
86              </td>
87<td>
88                <p>
89                  <span class="emphasis"><em>O(log n)</em></span>
90                </p>
91              </td>
92<td>
93              </td>
94</tr>
95<tr>
96<td>
97                <p>
98                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">&amp;)</span><span class="keyword">const</span></code>
99                </p>
100              </td>
101<td>
102                <p>
103                  <span class="emphasis"><em>O(log n)</em></span>
104                </p>
105              </td>
106<td>
107                <p>
108                  <span class="emphasis"><em>O(log n)</em></span>
109                </p>
110              </td>
111<td>
112                <p>
113                  <span class="emphasis"><em>O(log n)</em></span>
114                </p>
115              </td>
116<td>
117                <p>
118                  <span class="emphasis"><em>O(log n)</em></span>
119                </p>
120              </td>
121<td>
122              </td>
123</tr>
124<tr>
125<td>
126                <p>
127                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;,</span>
128                  <span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">&amp;)</span></code>
129                </p>
130              </td>
131<td>
132                <p>
133                  <span class="emphasis"><em>O(log n)</em></span>
134                </p>
135              </td>
136<td>
137                <p>
138                  <span class="emphasis"><em>O(log n)</em></span>
139                </p>
140              </td>
141<td>
142              </td>
143<td>
144              </td>
145<td>
146              </td>
147</tr>
148<tr>
149<td>
150                <p>
151                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span><span class="special">&amp;)</span><span class="keyword">const</span></code>
152                </p>
153              </td>
154<td>
155                <p>
156                  <span class="emphasis"><em>O(log n)</em></span>
157                </p>
158              </td>
159<td>
160                <p>
161                  <span class="emphasis"><em>O(log n)</em></span>
162                </p>
163              </td>
164<td>
165              </td>
166<td>
167              </td>
168<td>
169              </td>
170</tr>
171<tr>
172<td>
173                <p>
174                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;,</span>
175                  <span class="keyword">const</span> <span class="identifier">interval_type</span><span class="special">&amp;)</span></code>
176                </p>
177              </td>
178<td>
179                <p>
180                  <span class="emphasis"><em>O(log n)</em></span>
181                </p>
182              </td>
183<td>
184                <p>
185                  <span class="emphasis"><em>O(log n)</em></span>
186                </p>
187              </td>
188<td>
189              </td>
190<td>
191              </td>
192<td>
193              </td>
194</tr>
195<tr>
196<td>
197                <p>
198                  <code class="computeroutput"><span class="identifier">codomain_type</span><span class="special">&amp;</span>
199                  <span class="keyword">operator</span><span class="special">[]</span>
200                  <span class="special">(</span><span class="keyword">const</span>
201                  <span class="identifier">domain_type</span><span class="special">&amp;)</span></code>
202                </p>
203              </td>
204<td>
205              </td>
206<td>
207              </td>
208<td>
209              </td>
210<td>
211                <p>
212                  <span class="emphasis"><em>O(log n)</em></span>
213                </p>
214              </td>
215<td>
216              </td>
217</tr>
218<tr>
219<td>
220                <p>
221                  <code class="computeroutput"><span class="identifier">codomain_type</span> <span class="keyword">operator</span><span class="special">()</span>
222                  <span class="special">(</span><span class="keyword">const</span>
223                  <span class="identifier">domain_type</span><span class="special">&amp;)</span><span class="keyword">const</span></code>
224                </p>
225              </td>
226<td>
227              </td>
228<td>
229                <p>
230                  <span class="emphasis"><em>O(log n)</em></span>
231                </p>
232              </td>
233<td>
234              </td>
235<td>
236                <p>
237                  <span class="emphasis"><em>O(log n)</em></span>
238                </p>
239              </td>
240<td>
241                <p>
242                  <code class="computeroutput"><span class="identifier">is_total</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
243                </p>
244              </td>
245</tr>
246</tbody>
247</table></div>
248<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
249<li class="listitem">
250            All time <span class="bold"><strong>complexities</strong></span> are <span class="emphasis"><em><span class="bold"><strong>logarithmic</strong></span></em></span> in the containers <code class="computeroutput"><span class="identifier">iterative_size</span><span class="special">()</span></code>.
251          </li>
252<li class="listitem">
253            <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>
254            is available for total maps only.
255          </li>
256<li class="listitem">
257            <code class="computeroutput"><span class="identifier">interval_type</span></code> is also
258            the interval container's <code class="computeroutput"><span class="identifier">key_type</span></code>
259          </li>
260</ul></div>
261<div class="informaltable"><table class="table">
262<colgroup>
263<col>
264<col>
265<col>
266</colgroup>
267<thead><tr>
268<th>
269                <p>
270                  <span class="emphasis"><em><span class="bold"><strong>Selection</strong></span></em></span>
271                </p>
272              </th>
273<th>
274                <p>
275                  Types
276                </p>
277              </th>
278<th>
279                <p>
280                  Description
281                </p>
282              </th>
283</tr></thead>
284<tbody>
285<tr>
286<td>
287                <p>
288                  <code class="computeroutput"><span class="identifier">iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span>
289                  <span class="identifier">domain_type</span><span class="special">&amp;</span>
290                  <span class="identifier">x</span><span class="special">)</span></code>
291                </p>
292              </td>
293<td>
294                <p>
295                  <a class="link" href="../interface/function_synopsis.html#itl_set_type"><span class="bold"><strong>s</strong></span></a>
296                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
297                </p>
298              </td>
299<td>
300                <p>
301                  Searches the container for the element <code class="computeroutput"><span class="identifier">x</span></code>
302                  and return an iterator to it, if <code class="computeroutput"><span class="identifier">x</span></code>
303                  is found. Otherwise <code class="computeroutput"><span class="identifier">find</span></code>
304                  returns iterator <code class="computeroutput"><span class="identifier">end</span><span class="special">()</span></code>.
305                </p>
306              </td>
307</tr>
308<tr>
309<td>
310                <p>
311                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span></code><br> <code class="computeroutput"><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span></code>
312                </p>
313              </td>
314<td>
315                <p>
316                  <a class="link" href="../interface/function_synopsis.html#itl_set_type"><span class="bold"><strong>s</strong></span></a>
317                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
318                </p>
319              </td>
320<td>
321                <p>
322                  Const version of <code class="computeroutput"><span class="identifier">find</span></code>
323                  above.
324                </p>
325              </td>
326</tr>
327<tr>
328<td>
329                <p>
330                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span></code><br> <code class="computeroutput"><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span></code><br>
331                  <br> <code class="computeroutput"><span class="identifier">const_iterator</span>
332                  <span class="identifier">find</span></code><br> <code class="computeroutput"><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span>
333                  <span class="identifier">domain_type</span><span class="special">&amp;</span>
334                  <span class="identifier">x</span><span class="special">)</span></code>
335                </p>
336              </td>
337<td>
338                <p>
339                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
340                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
341                </p>
342              </td>
343<td>
344                <p>
345                  For interval containers <code class="computeroutput"><span class="identifier">c</span></code>,
346                  <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
347                  or <code class="computeroutput"><span class="identifier">icl</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span><span class="identifier">x</span><span class="special">)</span></code>
348                  searches a key element <code class="computeroutput"><span class="identifier">x</span></code>
349                  and returns an iterator to the interval containing the element
350                  <code class="computeroutput"><span class="identifier">x</span></code>.
351                </p>
352              </td>
353</tr>
354<tr>
355<td>
356                <p>
357                  <code class="computeroutput"><span class="identifier">const_iterator</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">find</span></code><br> <code class="computeroutput"><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span></code><br>
358                  <br> <code class="computeroutput"><span class="identifier">const_iterator</span>
359                  <span class="identifier">find</span></code><br> <code class="computeroutput"><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span>
360                  <span class="identifier">interval_type</span><span class="special">&amp;</span>
361                  <span class="identifier">x</span><span class="special">)</span></code>
362                </p>
363              </td>
364<td>
365                <p>
366                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
367                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
368                </p>
369              </td>
370<td>
371                <p>
372                  For interval containers <code class="computeroutput"><span class="identifier">c</span></code>,
373                  <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">y</span><span class="special">)</span></code>
374                  or <code class="computeroutput"><span class="identifier">icl</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span></code>
375                  searches an interval <code class="computeroutput"><span class="identifier">y</span></code>
376                  and returns an iterator to the first interval in <code class="computeroutput"><span class="identifier">c</span></code> that overlaps with <code class="computeroutput"><span class="identifier">y</span></code>.
377                </p>
378              </td>
379</tr>
380<tr>
381<td>
382                <p>
383                  <code class="computeroutput"><span class="identifier">codomain_type</span><span class="special">&amp;</span>
384                  <span class="keyword">operator</span><span class="special">[]</span></code><br>
385                  <code class="computeroutput"><span class="special">(</span><span class="keyword">const</span>
386                  <span class="identifier">domain_type</span><span class="special">&amp;</span>
387                  <span class="identifier">x</span><span class="special">)</span></code>
388                </p>
389              </td>
390<td>
391                <p>
392                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
393                </p>
394              </td>
395<td>
396                <p>
397                  For the key element <code class="computeroutput"><span class="identifier">x</span></code>
398                  the operator returns a reference to the mapped value. A pair <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">codomain_type</span><span class="special">())</span></code>
399                  will be inserted, of <code class="computeroutput"><span class="identifier">x</span></code>
400                  is not found in the map.
401                </p>
402              </td>
403</tr>
404<tr>
405<td>
406                <p>
407                  <code class="computeroutput"><span class="identifier">codomain_type</span> <span class="keyword">operator</span><span class="special">()</span></code><br>
408                  <code class="computeroutput"><span class="special">(</span><span class="keyword">const</span>
409                  <span class="identifier">domain_type</span><span class="special">&amp;</span>
410                  <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span></code>
411                </p>
412              </td>
413<td>
414                <p>
415                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
416                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
417                </p>
418              </td>
419<td>
420                <p>
421                  Returns the mapped value for a key <code class="computeroutput"><span class="identifier">x</span></code>.
422                  The operator is only available for <span class="emphasis"><em><span class="bold"><strong>total</strong></span></em></span>
423                  maps.
424                </p>
425              </td>
426</tr>
427</tbody>
428</table></div>
429<p>
430        <span class="emphasis"><em><span class="bold"><strong>See also . . .</strong></span></em></span>
431      </p>
432<div class="informaltable"><table class="table">
433<colgroup><col></colgroup>
434<thead><tr></tr></thead>
435<tbody><tr><td>
436                <p>
437                  <a class="link" href="intersection.html" title="Intersection"><span class="emphasis"><em><span class="bold"><strong>Intersection</strong></span></em></span></a>
438                </p>
439              </td></tr></tbody>
440</table></div>
441<p>
442        <span class="emphasis"><em><span class="bold"><strong>Back to section . . .</strong></span></em></span>
443      </p>
444<div class="informaltable"><table class="table">
445<colgroup><col></colgroup>
446<thead><tr></tr></thead>
447<tbody>
448<tr><td>
449                <p>
450                  <a class="link" href="../interface/function_synopsis.html#function_synopsis_table"><span class="emphasis"><em><span class="bold"><strong>Function
451                  Synopsis</strong></span></em></span></a>
452                </p>
453              </td></tr>
454<tr><td>
455                <p>
456                  <a class="link" href="../interface.html" title="Interface"><span class="emphasis"><em><span class="bold"><strong>Interface</strong></span></em></span></a>
457                </p>
458              </td></tr>
459</tbody>
460</table></div>
461</div>
462<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
463<td align="left"></td>
464<td align="right"><div class="copyright-footer">Copyright © 2007-2010 Joachim
465      Faulhaber<br>Copyright © 1999-2006 Cortex Software
466      GmbH<p>
467        Distributed under the Boost Software License, Version 1.0. (See accompanying
468        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>)
469      </p>
470</div></td>
471</tr></table>
472<hr>
473<div class="spirit-nav">
474<a accesskey="p" href="range.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="addition.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
475</div>
476</body>
477</html>
478