1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Additional Interval Orderings</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="interval_construction.html" title="Interval Construction"> 10<link rel="next" href="miscellaneous_interval_functions.html" title="Miscellaneous Interval Functions"> 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="interval_construction.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="miscellaneous_interval_functions.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.additional_interval_orderings"></a><a class="link" href="additional_interval_orderings.html" title="Additional Interval Orderings">Additional 28 Interval Orderings</a> 29</h3></div></div></div> 30<p> 31 In addition to the standard orderings <code class="computeroutput"><span class="keyword">operator</span> 32 <span class="special"><</span></code> and rleated <code class="computeroutput"><span class="special">></span> 33 <span class="special"><=</span> <span class="special">>=</span></code> 34 that you will find in the <a class="link" href="../interface/function_synopsis.html#function_synopsis_table"><span class="emphasis"><em><span class="bold"><strong>librarie's function synopsis</strong></span></em></span></a>, intervals 35 implement some additional orderings that can be useful. 36 </p> 37<div class="informaltable"><table class="table"> 38<colgroup> 39<col> 40<col> 41<col> 42<col> 43<col> 44<col> 45<col> 46</colgroup> 47<thead><tr> 48<th> 49 <p> 50 T 51 </p> 52 </th> 53<th> 54 <p> 55 discrete<br> _interval 56 </p> 57 </th> 58<th> 59 <p> 60 continuous<br> _interval 61 </p> 62 </th> 63<th> 64 <p> 65 right_open<br> _interval 66 </p> 67 </th> 68<th> 69 <p> 70 left_open<br> _interval 71 </p> 72 </th> 73<th> 74 <p> 75 closed<br> _interval 76 </p> 77 </th> 78<th> 79 <p> 80 open<br> _interval 81 </p> 82 </th> 83</tr></thead> 84<tbody> 85<tr> 86<td> 87 <p> 88 Interval bounds 89 </p> 90 </td> 91<td> 92 <p> 93 dynamic 94 </p> 95 </td> 96<td> 97 <p> 98 dynamic 99 </p> 100 </td> 101<td> 102 <p> 103 static 104 </p> 105 </td> 106<td> 107 <p> 108 static 109 </p> 110 </td> 111<td> 112 <p> 113 static 114 </p> 115 </td> 116<td> 117 <p> 118 static 119 </p> 120 </td> 121</tr> 122<tr> 123<td> 124 <p> 125 Form 126 </p> 127 </td> 128<td> 129 </td> 130<td> 131 </td> 132<td> 133 <p> 134 asymmetric 135 </p> 136 </td> 137<td> 138 <p> 139 asymmetric 140 </p> 141 </td> 142<td> 143 <p> 144 symmetric 145 </p> 146 </td> 147<td> 148 <p> 149 symmetric 150 </p> 151 </td> 152</tr> 153<tr> 154<td> 155 <p> 156 <span class="emphasis"><em><span class="bold"><strong>Orderings</strong></span></em></span> 157 </p> 158 </td> 159<td> 160 </td> 161<td> 162 </td> 163<td> 164 </td> 165<td> 166 </td> 167<td> 168 </td> 169<td> 170 </td> 171</tr> 172<tr> 173<td> 174 <p> 175 <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">exclusive_less</span><span class="special">(</span><span class="keyword">const</span> 176 <span class="identifier">T</span><span class="special">&,</span> 177 <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span></code> 178 </p> 179 </td> 180<td> 181 <p> 182 1 183 </p> 184 </td> 185<td> 186 <p> 187 1 188 </p> 189 </td> 190<td> 191 <p> 192 1 193 </p> 194 </td> 195<td> 196 <p> 197 1 198 </p> 199 </td> 200<td> 201 <p> 202 1 203 </p> 204 </td> 205<td> 206 <p> 207 1 208 </p> 209 </td> 210</tr> 211<tr> 212<td> 213 <p> 214</p> 215<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">lower_less</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 216<span class="keyword">bool</span> <span class="identifier">lower_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 217<span class="keyword">bool</span> <span class="identifier">lower_less_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 218</pre> 219<p> 220 </p> 221 </td> 222<td> 223 <p> 224 1 225 </p> 226 </td> 227<td> 228 <p> 229 1 230 </p> 231 </td> 232<td> 233 <p> 234 1 235 </p> 236 </td> 237<td> 238 <p> 239 1 240 </p> 241 </td> 242<td> 243 <p> 244 1 245 </p> 246 </td> 247<td> 248 <p> 249 1 250 </p> 251 </td> 252</tr> 253<tr> 254<td> 255 <p> 256</p> 257<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">upper_less</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 258<span class="keyword">bool</span> <span class="identifier">upper_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 259<span class="keyword">bool</span> <span class="identifier">upper_less_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 260</pre> 261<p> 262 </p> 263 </td> 264<td> 265 <p> 266 1 267 </p> 268 </td> 269<td> 270 <p> 271 1 272 </p> 273 </td> 274<td> 275 <p> 276 1 277 </p> 278 </td> 279<td> 280 <p> 281 1 282 </p> 283 </td> 284<td> 285 <p> 286 1 287 </p> 288 </td> 289<td> 290 <p> 291 1 292 </p> 293 </td> 294</tr> 295</tbody> 296</table></div> 297<p> 298 A central role for the <span class="bold"><strong>icl</strong></span> plays the <code class="computeroutput"><span class="identifier">exclusive_less</span></code> ordering, which is used 299 in all interval containers. The other orderings can be useful to simplify 300 comparison of intervals specifically for dynamically bounded ones. 301 </p> 302<div class="informaltable"><table class="table"> 303<colgroup> 304<col> 305<col> 306</colgroup> 307<thead><tr> 308<th> 309 <p> 310 <span class="emphasis"><em><span class="bold"><strong>Orderings</strong></span></em></span> 311 </p> 312 </th> 313<th> 314 <p> 315 Description 316 </p> 317 </th> 318</tr></thead> 319<tbody> 320<tr> 321<td> 322 <p> 323 <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">exclusive_less</span><span class="special">(</span><span class="keyword">const</span> 324 <span class="identifier">T</span><span class="special">&,</span> 325 <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span></code> 326 </p> 327 </td> 328<td> 329 <p> 330 <code class="computeroutput"><span class="identifier">exclusive_less</span><span class="special">(</span><span class="identifier">x1</span><span class="special">,</span> <span class="identifier">x2</span><span class="special">)</span></code> is true if every element of interval 331 <code class="computeroutput"><span class="identifier">x1</span></code> is less than 332 every element of interval <code class="computeroutput"><span class="identifier">x2</span></code> 333 w.r.t. the the intervals <code class="computeroutput"><span class="identifier">Compare</span></code> 334 ordering 335 </p> 336 </td> 337</tr> 338<tr> 339<td> 340 <p> 341</p> 342<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">lower_less</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 343<span class="keyword">bool</span> <span class="identifier">lower_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 344<span class="keyword">bool</span> <span class="identifier">lower_less_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 345</pre> 346<p> 347 </p> 348 </td> 349<td> 350 <p> 351 Compares the beginnings of intervals. 352</p> 353<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">lower_less</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span> <span class="comment">// x begins before y</span> 354<span class="identifier">lower_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span> <span class="comment">// x and y begin at the same element</span> 355<span class="identifier">lower_less_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">lower_less</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">lower_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">);</span> 356</pre> 357<p> 358 </p> 359 </td> 360</tr> 361<tr> 362<td> 363 <p> 364</p> 365<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">upper_less</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 366<span class="keyword">bool</span> <span class="identifier">upper_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 367<span class="keyword">bool</span> <span class="identifier">upper_less_equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> 368</pre> 369<p> 370 </p> 371 </td> 372<td> 373 <p> 374 Compares the endings of intervals. 375</p> 376<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">upper_less</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span> <span class="comment">// x ends before y</span> 377<span class="identifier">upper_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span> <span class="comment">// x and y end at the same element</span> 378<span class="identifier">upper_less_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">upper_less</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">upper_equal</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">);</span> 379</pre> 380<p> 381 </p> 382 </td> 383</tr> 384</tbody> 385</table></div> 386<p> 387 <span class="emphasis"><em><span class="bold"><strong>See also . . .</strong></span></em></span> 388 </p> 389<div class="informaltable"><table class="table"> 390<colgroup><col></colgroup> 391<thead><tr></tr></thead> 392<tbody><tr><td> 393 <p> 394 <a class="link" href="equivalences_and_orderings.html" title="Equivalences and Orderings"><span class="emphasis"><em><span class="bold"><strong>Equivalences and Orderings</strong></span></em></span></a> 395 </p> 396 </td></tr></tbody> 397</table></div> 398<p> 399 <span class="emphasis"><em><span class="bold"><strong>Back to section . . .</strong></span></em></span> 400 </p> 401<div class="informaltable"><table class="table"> 402<colgroup><col></colgroup> 403<thead><tr></tr></thead> 404<tbody> 405<tr><td> 406 <p> 407 <a class="link" href="../interface/function_synopsis.html#additional_interval_functions"><span class="emphasis"><em><span class="bold"><strong>Additional interval functions</strong></span></em></span></a> 408 </p> 409 </td></tr> 410<tr><td> 411 <p> 412 <a class="link" href="../interface/function_synopsis.html#function_synopsis_table"><span class="emphasis"><em><span class="bold"><strong>Function 413 Synopsis</strong></span></em></span></a> 414 </p> 415 </td></tr> 416<tr><td> 417 <p> 418 <a class="link" href="../interface.html" title="Interface"><span class="emphasis"><em><span class="bold"><strong>Interface</strong></span></em></span></a> 419 </p> 420 </td></tr> 421</tbody> 422</table></div> 423</div> 424<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 425<td align="left"></td> 426<td align="right"><div class="copyright-footer">Copyright © 2007-2010 Joachim 427 Faulhaber<br>Copyright © 1999-2006 Cortex Software 428 GmbH<p> 429 Distributed under the Boost Software License, Version 1.0. (See accompanying 430 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>) 431 </p> 432</div></td> 433</tr></table> 434<hr> 435<div class="spirit-nav"> 436<a accesskey="p" href="interval_construction.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="miscellaneous_interval_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 437</div> 438</body> 439</html> 440