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">&)</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">&)</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">&,</span> 128 <span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">&)</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">&)</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">&,</span> 175 <span class="keyword">const</span> <span class="identifier">interval_type</span><span class="special">&)</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">&</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">&)</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">&)</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"><</span><span class="identifier">T</span><span class="special">>::</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">&</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">&</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">&</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">&,</span> <span class="keyword">const</span> 333 <span class="identifier">domain_type</span><span class="special">&</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">&</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">&,</span> <span class="keyword">const</span> 360 <span class="identifier">interval_type</span><span class="special">&</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">&</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">&</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">&</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