LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
represents a "Range" w/ notion of ordering. A range is defined by a pair of "start" and "end" values. This is stored in std::pair
attribute util::Range::_window. This attribute is protected so that the start/end cannot
be changed w/o a check that start is always less than end. Note the specialization
requires a template class T to have less operator implemented.
More...
#include "Range.h"
Public Member Functions | |
Range (const T &start, const T &end) | |
Enforced ctor. start must be less than end. More... | |
~Range () | |
Default dtor. More... | |
const T & | Start () const |
"start" accessor More... | |
const T & | End () const |
"end" accessor More... | |
void | Set (const T &s, const T &e) |
Setter. More... | |
bool | operator< (const Range &rhs) const |
bool | operator> (const Range &rhs) const |
bool | operator== (const Range &rhs) const |
bool | operator!= (const Range &rhs) const |
bool | operator< (const T &rhs) const |
bool | operator> (const T &rhs) const |
void | Merge (const Range &a) |
Merge two util::Range into 1. More... | |
Protected Attributes | |
std::pair< T, T > | _window |
Protected to avoid user's illegal modification on first/second (sorry users!) More... | |
Private Member Functions | |
Range () | |
Default ctor is hidden. More... | |
Friends | |
class | UniqueRangeSet< T > |
represents a "Range" w/ notion of ordering. A range is defined by a pair of "start" and "end" values. This is stored in std::pair
attribute util::Range::_window. This attribute is protected so that the start/end cannot
be changed w/o a check that start is always less than end. Note the specialization
requires a template class T to have less operator implemented.
|
inlineprivate |
|
inline |
Enforced ctor. start must be less than end.
Definition at line 45 of file Range.h.
|
inline |
|
inline |
"end" accessor
Definition at line 56 of file Range.h.
References util::Range< T >::_window.
Referenced by util::Range< T >::Merge(), util::Range< T >::operator==(), and util::Range< T >::operator>().
|
inline |
Merge two util::Range into 1.
Definition at line 83 of file Range.h.
References util::Range< T >::_window, util::Range< T >::End(), and util::Range< T >::Start().
Referenced by util::UniqueRangeSet< T >::emplace().
|
inline |
|
inline |
Definition at line 68 of file Range.h.
References util::Range< T >::_window, and util::Range< T >::Start().
|
inline |
Definition at line 79 of file Range.h.
References util::Range< T >::_window.
|
inline |
Definition at line 70 of file Range.h.
References util::Range< T >::_window, util::Range< T >::End(), and util::Range< T >::Start().
|
inline |
Definition at line 69 of file Range.h.
References util::Range< T >::_window, and util::Range< T >::End().
|
inline |
Definition at line 80 of file Range.h.
References util::Range< T >::_window.
|
inline |
Setter.
Definition at line 58 of file Range.h.
References util::Range< T >::_window, and e.
|
inline |
"start" accessor
Definition at line 54 of file Range.h.
References util::Range< T >::_window.
Referenced by util::Range< T >::Merge(), util::Range< T >::operator<(), and util::Range< T >::operator==().
|
friend |
|
protected |
Protected to avoid user's illegal modification on first/second (sorry users!)
Definition at line 91 of file Range.h.
Referenced by util::Range< T >::End(), util::UniqueRangeSet< T >::insert(), util::Range< T >::Merge(), util::Range< T >::operator<(), util::Range< T >::operator==(), util::Range< T >::operator>(), util::Range< T >::Set(), and util::Range< T >::Start().