2 Copyright (c) 2008-2010 Joachim Faulhaber
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
10 [/ //= Additional Interval Orderings ===================================================================]
11 [section Additional Interval Orderings]
13 In addition to the standard orderings `operator <` and rleated `> <= >=` that you will find in the
14 [link function_synopsis_table ['*librarie's function synopsis*]], intervals
15 implement some additional orderings that can be useful.
18 [[T] [__ch_dsc_itv__] [__ch_cnt_itv__] [__ch_ro_itv__] [__ch_lo_itv__] [__ch_cl_itv__] [__ch_op_itv__] ]
19 [[Interval bounds] [dynamic] [dynamic] [static] [static] [static] [static] ]
20 [[Form] [ ] [ ] [asymmetric] [asymmetric] [symmetric] [symmetric] ]
21 [[['*Orderings*]] [ ] [ ] [ ] [ ] [ ] [ ] ]
22 [[`bool exclusive_less(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
24 bool lower_less(const T&, const T&)
25 bool lower_equal(const T&, const T&)
26 bool lower_less_equal(const T&, const T&)
27 ``] [1] [1] [1] [1] [1] [1] ]
29 bool upper_less(const T&, const T&)
30 bool upper_equal(const T&, const T&)
31 bool upper_less_equal(const T&, const T&)
33 [1] [1] [1] [1] [1] [1] ]
36 A central role for the *icl* plays the
37 `exclusive_less` ordering, which is used
38 in all interval containers.
39 The other orderings can be useful to simplify
40 comparison of intervals specifically for
41 dynamically bounded ones.
44 [[['*Orderings*]] [Description] ]
45 [[`bool exclusive_less(const T&, const T&)`] [`exclusive_less(x1, x2)` is true if every element of interval `x1` is less than
46 every element of interval `x2` w.r.t. the the intervals `Compare` ordering ] ]
48 bool lower_less(const T&, const T&)
49 bool lower_equal(const T&, const T&)
50 bool lower_less_equal(const T&, const T&)
51 ``] [Compares the beginnings of intervals.
53 lower_less(x,y) == true; // x begins before y
54 lower_equal(x,y) == true; // x and y begin at the same element
55 lower_less_equal(x,y) == lower_less(x,y) || lower_equal(x,y);
59 bool upper_less(const T&, const T&)
60 bool upper_equal(const T&, const T&)
61 bool upper_less_equal(const T&, const T&)
63 [Compares the endings of intervals.
65 upper_less(x,y) == true; // x ends before y
66 upper_equal(x,y) == true; // x and y end at the same element
67 upper_less_equal(x,y) == upper_less(x,y) || upper_equal(x,y);
76 [[ __biLEquivsOrderings__ ]]
80 ['*Back to section . . .*]
83 [[[link additional_interval_functions ['*Additional interval functions*]] ]]
84 [[[link function_synopsis_table ['*Function Synopsis*]] ]]
85 [[[link boost_icl.interface ['*Interface*]] ]]
88 [endsect][/ Additional Interval Orderings]