Interval
object is used to represent an interval [ lower(), upper() )
where the ordering is defined by the bool operator()(const T &, const T &) const
member of the CMP class (by defaut less<T>).
More...
#include <Interval.h>
Public Member Functions | |
Interval () | |
Construct an empty interval. | |
Interval (T dn, T up) | |
Construct interval [dn,up). | |
bool | operator== (const Interval &i) const |
Test for equality. | |
bool | operator< (const Interval &i) const |
Test for ordering. | |
bool | check () const |
Check consistency ie. | |
bool | operator() (T x) const |
Returns true if x is within the interval. | |
bool | includes (T x) const |
Returns true if x is within the interval. | |
bool | includes (const Interval< T, CMP > &i) const |
Returns true if the whole of i is within the interval. | |
Interval< T, CMP > | chopUpper (T x) |
If x is in the interval return the interval [x,upper()) and change this interval to [lower(),x). | |
Interval< T, CMP > | chopLower (T x) |
If x is in the interval return the interval [lower(),x) and change this interval to [x,upper()). | |
Interval< T, CMP > | overlap (const Interval &i) const |
If this interval operlaps with i return the overlapping interval. | |
Interval< T, CMP > | sum (const Interval &i) const |
If this interval operlaps with i return the union of the two intervals. | |
T | upper () const |
Return the upper limit of the interval. | |
T | lower () const |
Return the lower limit of the interval. | |
void | upper (T up) |
Set the upper limit of the interval. | |
void | lower (T dn) |
Set the lower limit of the interval. | |
Static Public Member Functions | |
template<typename Iterator> | |
static bool | check (Iterator first, Iterator last) |
Check if any of the values in the iterator given range is included in this interval. | |
template<typename Iterator> | |
static bool | checkAll (Iterator first, Iterator last) |
Check if all of the values in the given iterator range is included in this interval. | |
static std::vector< Interval < T, CMP > > | split (Interval< T, CMP >, T x) |
If x is in the given interval, split the given interval in two, otherwise return an empty list. | |
template<typename Iterator> | |
static std::vector< Interval < T, CMP > > | split (Interval< T, CMP >, Iterator first, Iterator last) |
For each value in the given range is in the given interval, split the interval in two, otherwise return an empty list. | |
Private Attributes | |
std::pair< T, T > | theLimits |
The lower and upper limit of this interval. | |
Static Private Attributes | |
static CMP | cmp |
The object used for comparisons. |
Interval
object is used to represent an interval [ lower(), upper() )
where the ordering is defined by the bool operator()(const T &, const T &) const
member of the CMP class (by defaut less<T>).
Definition at line 27 of file Interval.h.
bool ThePEG::Interval< T, CMP >::operator< | ( | const Interval< T, CMP > & | i | ) | const [inline] |
bool ThePEG::Interval< T, CMP >::check | ( | ) | const [inline] |
Interval<T,CMP> ThePEG::Interval< T, CMP >::chopUpper | ( | T | x | ) | [inline] |
If x is in the interval return the interval [x,upper()) and change this interval to [lower(),x).
If x is not within the interval, return [0,0) and leave this interval as it is.
Definition at line 85 of file Interval.h.
Interval<T,CMP> ThePEG::Interval< T, CMP >::chopLower | ( | T | x | ) | [inline] |
If x is in the interval return the interval [lower(),x) and change this interval to [x,upper()).
If x is not within the interval, return [0,0) and leave this interval as it is.
Definition at line 100 of file Interval.h.
CMP ThePEG::Interval< T, CMP >::cmp [static, private] |
The object used for comparisons.
Definition at line 187 of file Interval.h.
Referenced by ThePEG::Interval< QTY< 0, 2, 0 >::Type >::check(), ThePEG::Interval< QTY< 0, 2, 0 >::Type >::includes(), and ThePEG::Interval< QTY< 0, 2, 0 >::Type >::operator<().