version 3.3

VRS::MultiRange Class Reference

#include <vrs/range.h>

Inheritance diagram for VRS::MultiRange:

VRS::CircularRange

List of all members.

Public Types

typedef std::list< SimpleRangeRangeList

Public Member Functions

 MultiRange ()
 create a range with the total range of [from; to], other values are ignored.
 MultiRange (const SimpleRange &range)
MultiRange operator+ (const SimpleRange &range) const
 add/subtract a new SimpleRange to/from the current set of ranges.
MultiRange operator- (const SimpleRange &range) const
MultiRangeoperator+= (const SimpleRange &range)
MultiRangeoperator-= (const SimpleRange &range)
const RangeListgetRanges () const
bool isEmpty () const
MultiRange operator & (const MultiRange &range) const
 intersect or unite two MultiRanges
MultiRange operator| (const MultiRange &range) const
MultiRangeoperator &= (const MultiRange &range)
MultiRangeoperator|= (const MultiRange &range)
MultiRange operator & (const SimpleRange &range) const
 intersect or unite with a SimpleRanges
MultiRange operator| (const SimpleRange &range) const
MultiRangeoperator &= (const SimpleRange &range)
MultiRangeoperator|= (const SimpleRange &range)
bool contains (double value) const
bool contains (const SimpleRange &range) const
void clear ()
 removes all sub-ranges
 VRS_SERIALIZABLE_NO_SO_CLASS (MultiRange)


Member Typedef Documentation


Constructor & Destructor Documentation

VRS::MultiRange::MultiRange (  ) 

create a range with the total range of [from; to], other values are ignored.

if keepPoints is true ranges of size 0 are not discarded on subtraction or addition.

VRS::MultiRange::MultiRange ( const SimpleRange range  ) 


Member Function Documentation

MultiRange VRS::MultiRange::operator+ ( const SimpleRange range  )  const

add/subtract a new SimpleRange to/from the current set of ranges.

adding a range will unite all ranges that are overlapped by the new range, subtraction will intersect the current ranges with the new range' inverse, carving away those regions

Reimplemented in VRS::CircularRange.

MultiRange VRS::MultiRange::operator- ( const SimpleRange range  )  const

Reimplemented in VRS::CircularRange.

MultiRange& VRS::MultiRange::operator+= ( const SimpleRange range  ) 

Reimplemented in VRS::CircularRange.

MultiRange& VRS::MultiRange::operator-= ( const SimpleRange range  ) 

Reimplemented in VRS::CircularRange.

const RangeList& VRS::MultiRange::getRanges (  )  const

bool VRS::MultiRange::isEmpty (  )  const

MultiRange VRS::MultiRange::operator & ( const MultiRange range  )  const

intersect or unite two MultiRanges

MultiRange VRS::MultiRange::operator| ( const MultiRange range  )  const

MultiRange& VRS::MultiRange::operator &= ( const MultiRange range  ) 

MultiRange& VRS::MultiRange::operator|= ( const MultiRange range  ) 

MultiRange VRS::MultiRange::operator & ( const SimpleRange range  )  const

intersect or unite with a SimpleRanges

MultiRange VRS::MultiRange::operator| ( const SimpleRange range  )  const

MultiRange& VRS::MultiRange::operator &= ( const SimpleRange range  ) 

MultiRange& VRS::MultiRange::operator|= ( const SimpleRange range  ) 

bool VRS::MultiRange::contains ( double  value  )  const

Reimplemented in VRS::CircularRange.

bool VRS::MultiRange::contains ( const SimpleRange range  )  const

Reimplemented in VRS::CircularRange.

void VRS::MultiRange::clear (  ) 

removes all sub-ranges

VRS::MultiRange::VRS_SERIALIZABLE_NO_SO_CLASS ( MultiRange   ) 


The documentation for this class was generated from the following file:

Generated on Tue May 22 06:00:27 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact