| 
    bpp-core
    2.2.0
    
   | 
 
This class implements a data structure describing a set of intervales. More...
#include <Bpp/Numeric/Range.h>
 Inheritance diagram for bpp::RangeSet< T >:
 Collaboration diagram for bpp::RangeSet< T >:Public Member Functions | |
| RangeSet () | |
| RangeSet (const RangeSet< T > &set) | |
| RangeSet & | operator= (const RangeSet< T > &set) | 
| virtual | ~RangeSet () | 
| 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 | 
| bool | isEmpty () const | 
| size_t | size () const | 
| const Range< T > & | getRange (size_t i) const | 
| const std::set< Range< T > *, rangeComp_< T > > & | getSet () const | 
| std::set< Range< T > *, rangeComp_< T > > & | getSet () | 
| void | clear () | 
| Clear the collection.  More... | |
Private Member Functions | |
| void | clear_ () | 
Private Attributes | |
| std::set< Range< T > *, rangeComp_< T > > | ranges_ | 
This class implements a data structure describing a set of intervales.
Intervales can be overlapping, but empty intervales will be ignored/removed.
      
  | 
  inline | 
      
  | 
  inline | 
Definition at line 286 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Definition at line 302 of file Range.h.
References bpp::RangeSet< 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 307 of file Range.h.
References bpp::Range< T >::clone(), bpp::Range< T >::isEmpty(), and bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Clear the collection.
Implements bpp::RangeCollection< T >.
Definition at line 366 of file Range.h.
References bpp::RangeSet< T >::clear_().
      
  | 
  inlineprivate | 
Definition at line 371 of file Range.h.
References bpp::RangeSet< T >::ranges_.
Referenced by bpp::RangeSet< T >::clear(), bpp::RangeSet< T >::operator=(), and bpp::RangeSet< T >::~RangeSet().
      
  | 
  inlinevirtual | 
Only keep the ranges that fall within the given range.
| r | Restriction range. | 
Implements bpp::RangeCollection< T >.
Definition at line 327 of file Range.h.
References bpp::Range< T >::contains(), and bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Implements bpp::RangeCollection< T >.
Definition at line 354 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inline | 
Definition at line 362 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inline | 
Definition at line 364 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Implements bpp::RangeCollection< T >.
Definition at line 350 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inline | 
Definition at line 293 of file Range.h.
References bpp::RangeSet< T >::clear_(), and bpp::RangeSet< 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 312 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Implements bpp::RangeCollection< T >.
Definition at line 352 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  inlinevirtual | 
Implements bpp::RangeCollection< T >.
Definition at line 341 of file Range.h.
References bpp::RangeSet< T >::ranges_.
      
  | 
  private | 
Definition at line 281 of file Range.h.
Referenced by bpp::RangeSet< T >::addRange(), bpp::RangeSet< T >::clear_(), bpp::RangeSet< T >::filterWithin(), bpp::RangeSet< T >::getRange(), bpp::RangeSet< T >::getSet(), bpp::RangeSet< T >::isEmpty(), bpp::RangeSet< T >::operator=(), bpp::RangeSet< T >::RangeSet(), bpp::RangeSet< T >::restrictTo(), bpp::RangeSet< T >::size(), and bpp::RangeSet< T >::toString().