1[/ 2 Copyright (c) 2008-2010 Joachim Faulhaber 3 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) 7] 8 9 10[/ //= Range ===================================================================] 11[section Range] 12 13[table 14[[['*Range*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][condition] ] 15[[`interval_type hull(const T&)`] [ ] [__O1__] [__O1__][] ] 16[[`T hull(const T&, const T&)`] [__O1__] [ ] [ ][] ] 17[[`domain_type lower(const T&)`] [__O1__] [__O1__] [__O1__][] ] 18[[`domain_type upper(const T&)`] [__O1__] [__O1__] [__O1__][] ] 19[[`domain_type first(const T&)`] [__O1__] [__O1__] [__O1__][`is_discrete<domain_type>::value`]] 20[[`domain_type last(const T&)`] [__O1__] [__O1__] [__O1__][`is_discrete<domain_type>::value`]] 21] 22 23The table above shows the availability of functions 24`hull`, `lower`, `upper`, `first` and `last` on intervals 25and interval containers that are all of ['*constant time complexity*]. 26Find the functions description and some simple properties below. 27 28[table 29[[['*Range*]] [Types] [Description] ] 30[[`interval_type hull(const T&)`] [__S __M] [`hull(x)` returns the smallest interval that contains all intervals of an interval container `x`.] ] 31[[`T hull(const T&, const T&)`] [__S __M] [`hull(i,j)` returns the smallest interval that contains intervals `i` abd 'j'.] ] 32[[`domain_type lower(const T&)`] [__i __S __M][`lower(x)` returns the lower bound of an interval or interval container `x`.] ] 33[[`domain_type upper(const T&)`] [__i __S __M][`upper(x)` returns the upper bound of an interval or interval container `x`.] ] 34[[`domain_type first(const T&)`] [__i __S __M][`first(x)` returns the first element of an interval or interval container `x`. 35 `first(const T&)` is defined for a discrete `domain_type` only.] ] 36[[`domain_type last(const T&)`] [__i __S __M][`last(x)` returns the last element of an interval or interval container `x`. 37 `last(const T&)` is defined for a discrete `domain_type` only.] ] 38] 39 40`` 41// for interval_containers x: 42lower(hull(x)) == lower(x) 43upper(hull(x)) == upper(x) 44first(hull(x)) == first(x) 45last(hull(x)) == last(x) 46`` 47 48['*Back to section . . .*] 49[table 50[] 51[[[link function_synopsis_table ['*Function Synopsis*]] ]] 52[[[link boost_icl.interface ['*Interface*]] ]] 53] 54 55[endsect][/ Range] 56 57 58