810d4582e4
[SVN r66438]
91 lines
3.7 KiB
Plaintext
91 lines
3.7 KiB
Plaintext
[/
|
|
Copyright (c) 2008-2010 Joachim Faulhaber
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
(See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt)
|
|
]
|
|
|
|
|
|
[/ //= Additional Interval Orderings ===================================================================]
|
|
[section Additional Interval Orderings]
|
|
|
|
In addition to the standard orderings `operator <` and rleated `> <= >=` that you will find in the
|
|
[link function_synopsis_table ['*librarie's function synopsis*]], intervals
|
|
implement some additional orderings that can be useful.
|
|
|
|
[table
|
|
[[T] [__ch_dsc_itv__] [__ch_cnt_itv__] [__ch_ro_itv__] [__ch_lo_itv__] [__ch_cl_itv__] [__ch_op_itv__] ]
|
|
[[Interval bounds] [dynamic] [dynamic] [static] [static] [static] [static] ]
|
|
[[Form] [ ] [ ] [asymmetric] [asymmetric] [symmetric] [symmetric] ]
|
|
[[['*Orderings*]] [ ] [ ] [ ] [ ] [ ] [ ] ]
|
|
[[`bool exclusive_less(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
|
|
[[``
|
|
bool lower_less(const T&, const T&)
|
|
bool lower_equal(const T&, const T&)
|
|
bool lower_less_equal(const T&, const T&)
|
|
``] [1] [1] [1] [1] [1] [1] ]
|
|
[[``
|
|
bool upper_less(const T&, const T&)
|
|
bool upper_equal(const T&, const T&)
|
|
bool upper_less_equal(const T&, const T&)
|
|
``]
|
|
[1] [1] [1] [1] [1] [1] ]
|
|
]
|
|
|
|
A central role for the *icl* plays the
|
|
`exclusive_less` ordering, which is used
|
|
in all interval containers.
|
|
The other orderings can be useful to simplify
|
|
comparison of intervals specifically for
|
|
dynamically bounded ones.
|
|
|
|
[table
|
|
[[['*Orderings*]] [Description] ]
|
|
[[`bool exclusive_less(const T&, const T&)`] [`exclusive_less(x1, x2)` is true if every element of interval `x1` is less than
|
|
every element of interval `x2` w.r.t. the the intervals `Compare` ordering ] ]
|
|
[[``
|
|
bool lower_less(const T&, const T&)
|
|
bool lower_equal(const T&, const T&)
|
|
bool lower_less_equal(const T&, const T&)
|
|
``] [Compares the beginnings of intervals.
|
|
``
|
|
lower_less(x,y) == true; // x begins before y
|
|
lower_equal(x,y) == true; // x and y begin at the same element
|
|
lower_less_equal(x,y) == lower_less(x,y) || lower_equal(x,y);
|
|
``
|
|
] ]
|
|
[[``
|
|
bool upper_less(const T&, const T&)
|
|
bool upper_equal(const T&, const T&)
|
|
bool upper_less_equal(const T&, const T&)
|
|
``]
|
|
[Compares the endings of intervals.
|
|
``
|
|
upper_less(x,y) == true; // x ends before y
|
|
upper_equal(x,y) == true; // x and y end at the same element
|
|
upper_less_equal(x,y) == upper_less(x,y) || upper_equal(x,y);
|
|
``
|
|
] ]
|
|
]
|
|
|
|
|
|
['*See also . . .*]
|
|
[table
|
|
[]
|
|
[[ __biLEquivsOrderings__ ]]
|
|
]
|
|
|
|
|
|
['*Back to section . . .*]
|
|
[table
|
|
[]
|
|
[[[link additional_interval_functions ['*Additional interval functions*]] ]]
|
|
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
|
|
[[[link boost_icl.interface ['*Interface*]] ]]
|
|
]
|
|
|
|
[endsect][/ Additional Interval Orderings]
|
|
|
|
|