bpp-core
2.2.0
|
This class implements a data structure describing a set of non-overlapping intervales. More...
#include <Bpp/Numeric/Range.h>
Public Member Functions | |
MultiRange () | |
MultiRange (const MultiRange< T > &mr) | |
MultiRange & | operator= (const MultiRange< T > &mr) |
virtual | ~MultiRange () |
void | addRange (const Range< T > &r) |
Add a new range to the collection. More... | |
void | restrictTo (const Range< T > &r) |
Get the intersection with a given range. More... | |
void | filterWithin (const Range< T > &r) |
Only keep the ranges that fall within the given range. More... | |
std::string | toString () const |
std::vector< T > | getBounds () const |
bool | isEmpty () const |
size_t | size () const |
const Range< T > & | getRange (size_t i) const |
void | clear () |
Clear the collection. More... | |
Private Member Functions | |
void | clean_ () |
void | clear_ () |
Private Attributes | |
std::vector< Range< T > * > | ranges_ |
This class implements a data structure describing a set of non-overlapping intervales.
|
inline |
|
inline |
Definition at line 391 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Definition at line 405 of file Range.h.
References bpp::MultiRange< T >::clear_().
|
inlinevirtual |
Add a new range to the collection.
r | The range to add to the collection. |
Implements bpp::RangeCollection< T >.
Definition at line 411 of file Range.h.
References bpp::MultiRange< T >::clean_(), bpp::Range< T >::clone(), and bpp::MultiRange< T >::ranges_.
|
inlineprivate |
Definition at line 492 of file Range.h.
References comp(), and bpp::MultiRange< T >::ranges_.
Referenced by bpp::MultiRange< T >::addRange(), and bpp::MultiRange< T >::restrictTo().
|
inlinevirtual |
Clear the collection.
Implements bpp::RangeCollection< T >.
Definition at line 487 of file Range.h.
References bpp::MultiRange< T >::clear_().
|
inlineprivate |
Definition at line 508 of file Range.h.
References bpp::MultiRange< T >::ranges_.
Referenced by bpp::MultiRange< T >::clear(), bpp::MultiRange< T >::operator=(), and bpp::MultiRange< T >::~MultiRange().
|
inlinevirtual |
Only keep the ranges that fall within the given range.
r | Restriction range. |
Implements bpp::RangeCollection< T >.
Definition at line 443 of file Range.h.
References bpp::Range< T >::contains(), and bpp::MultiRange< T >::ranges_.
|
inline |
Definition at line 469 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Implements bpp::RangeCollection< T >.
Definition at line 485 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Implements bpp::RangeCollection< T >.
Definition at line 481 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
inline |
Definition at line 397 of file Range.h.
References bpp::MultiRange< T >::clear_(), and bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Get the intersection with a given range.
The new multirange is the union of all ranges intersections with the given range.
r | Restriction range. |
Implements bpp::RangeCollection< T >.
Definition at line 437 of file Range.h.
References bpp::MultiRange< T >::clean_(), and bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Implements bpp::RangeCollection< T >.
Definition at line 483 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
inlinevirtual |
Implements bpp::RangeCollection< T >.
Definition at line 458 of file Range.h.
References bpp::MultiRange< T >::ranges_.
|
private |
Definition at line 386 of file Range.h.
Referenced by bpp::MultiRange< T >::addRange(), bpp::MultiRange< T >::clean_(), bpp::MultiRange< T >::clear_(), bpp::MultiRange< T >::filterWithin(), bpp::MultiRange< T >::getBounds(), bpp::MultiRange< T >::getRange(), bpp::MultiRange< T >::isEmpty(), bpp::MultiRange< T >::MultiRange(), bpp::MultiRange< T >::operator=(), bpp::MultiRange< T >::restrictTo(), bpp::MultiRange< T >::size(), and bpp::MultiRange< T >::toString().