Home Libraries Author Links

stm::integral_set< IntegralRangeT, RangeSetT > Class Template Reference
[DivAids: Diverse Aids]

List of all members.


Detailed Description

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
class stm::integral_set< IntegralRangeT, RangeSetT >

Class template integral_set is a set container representing a set of integral type objects constrained by minimal and maximal values wrapping a set of integral ranges.

The template parameter IntegralRangeT shall be a specialization of integral_range or be publicly derived therefrom. The template parameter RangeSetT a set container with value type IntegralRangeT. As the implementation of integral_set uses regular expressions (see Abstract Data Type StmRe), for its error control the macro StmRectrlTry can be used.

Examples:

divaidstest.cpp.

Definition at line 672 of file divaids.hpp.


Integral Set Iterators

Integral set iterators model the Readable Iterator and the Bidirectional Traversal Iterator concepts.

They iterate over the integral_type object of the controlled integral_set.

typedef impl::integral_iterator iterator
typedef std::reverse_iterator
< iterator > 
reverse_iterator
typedef iterator const_iterator
typedef reverse_iterator const_reverse_iterator
iterator begin () const
iterator end () const
reverse_iterator rbegin () const
reverse_iterator rend () const

Range Iterators

Range iterators model the Readable Iterator and the Bidirectional Traversal Iterator concepts.

They iterate over the range_type objects of the controlled integral_set.

typedef impl::const_iterator range_iterator
typedef
impl::const_reverse_iterator 
reverse_range_iterator
range_iterator beginrange () const
range_iterator endrange () const
reverse_range_iterator rbeginrange () const
reverse_range_iterator rendrange () const

Public Types

typedef IntegralRangeT range_type
 Template type parameter IntegralRangeT.
typedef RangeSetT rangeset_type
 Template type parameter RangeSetT.
typedef
IntegralRangeT::integral_type 
integral_type
 The type of the integral type objects held by this integral_set.

Public Member Functions

 integral_set (integral_type number)
 Constructs an integral set containing number.
 integral_set (const range_type &range)
 Constructs an integral set object containing the integral range.
 integral_set (const rangeset_type &rangeset=rangeset_type())
 Constructs an integral set object wrapping the integral range set rangeset.
integral_set< IntegralRangeT,
RangeSetT > & 
operator= (integral_type number)
 Assigns the integral set specified consisting of number to this integral_set object and returns a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator= (const range_type &range)
 Assigns the integral set specified consisting of range to this integral_set object and returns a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator= (const rangeset_type &rangeset)
 Assigns the integral set specified consisting of rangeset to this integral_set object and returns a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
assign (const std::string &valSpecList, size_t fmtFlags=0)
 Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
assign (const char *valSpecList, size_t fmtFlags=0)
 Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.
void swap (integral_set< IntegralRangeT, RangeSetT > &other) throw ()
 Swap the contents of this set and the other integral set.
void swap (rangeset_type &rangeset) throw ()
 Swap the contents of this set and rangeset.
 operator const RangeSetT & () const
 Returns a constant reference to the range set representing this integral set.
iterator find (integral_type number) const
 If number is contained in this set, return an iterator to it, else return end().
reverse_iterator rfind (integral_type number) const
 If number is contained in this set, return a reverse iterator to it, else return rend().
range_iterator findrange (integral_type number) const
 Return the range iterator pointing to the integral range number belongs to, or endrange(), if there is no such range.
reverse_range_iterator rfindrange (integral_type number) const
 Return the reverse range iterator pointing to the integral range number belongs to, or rendrange(), if there is no such range.
size_t size () const
 Return the number of numbers contained in this set.
size_t ranges () const
 Return the number integral ranges building this set.
bool empty () const
 Returns true, if this set is empty.
bool full () const
 Returns true, if this set is maximal.
range_type hull () const
 Returns the least range containing all numbers of this set.
integral_type min () const
 Returns the least value contained in this set, or MaxVal if the set is empty.
integral_type max () const
 Returns the largest value contained in this set, or MaxVal if the set is empty.
integral_set< IntegralRangeT,
RangeSetT > 
operator| (integral_type number) const
 Return an integral set consisting of the numbers contained in this set and of number.
integral_set< IntegralRangeT,
RangeSetT > 
operator| (const range_type &range) const
 Return an integral set consisting of the numbers contained in this set and in range.
integral_set< IntegralRangeT,
RangeSetT > 
operator| (const rangeset_type &rangeset) const
 Return an integral set consisting of the numbers contained in this set and in rangeset.
integral_set< IntegralRangeT,
RangeSetT > & 
operator|= (integral_type number)
 Add number to this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator|= (const range_type &range)
 Add the numbers contained in range to this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator|= (const rangeset_type &rangeset)
 Add the numbers contained in rangeset to this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > 
operator & (integral_type number) const
 Return the empty integral set, if number is not contained in this set, else an integral set consisting of number.
integral_set< IntegralRangeT,
RangeSetT > 
operator & (const range_type &range) const
 Return an integral set consisting of the numbers contained in both this set and in range.
integral_set< IntegralRangeT,
RangeSetT > 
operator & (const rangeset_type &rangeset) const
 Return an integral set consisting of the numbers contained in both this set and in rangeset.
integral_set< IntegralRangeT,
RangeSetT > & 
operator &= (integral_type number)
 Remove all numbers unequal to number from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator &= (const range_type &range)
 Remove all numbers not contained in range from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator &= (const rangeset_type &rangeset)
 Remove all numbers not contained in rangeset from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > 
operator- (integral_type number) const
 Return an integral set consisting of the numbers contained in this set except number.
integral_set< IntegralRangeT,
RangeSetT > 
operator- (const range_type &range) const
 Return an integral set consisting of the numbers contained in this set except those contained also in range.
integral_set< IntegralRangeT,
RangeSetT > 
operator- (const rangeset_type &rangeset) const
 Return an integral set consisting of the numbers contained in this set except those contained also in rangeset.
integral_set< IntegralRangeT,
RangeSetT > & 
operator-= (integral_type number)
 Remove number from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator-= (const range_type &range)
 Remove all numbers contained in range from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator-= (const rangeset_type &rangeset)
 Remove all numbers contained in rangeset from this set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > 
operator^ (integral_type number) const
 Return an integral set consisting of the symmetrical difference of this set and number.
integral_set< IntegralRangeT,
RangeSetT > 
operator^ (const range_type &range) const
 Return an integral set consisting of the symmetrical difference of this set and range.
integral_set< IntegralRangeT,
RangeSetT > 
operator^ (const rangeset_type &rangeset) const
 Return an integral set consisting of the symmetrical difference of this set and rangeset.
integral_set< IntegralRangeT,
RangeSetT > & 
operator^= (integral_type number)
 Make this set the symmetrical difference of number and the other set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator^= (const range_type &range)
 Make this set the symmetrical difference of range and the other set and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > & 
operator^= (const rangeset_type &rangeset)
 Make this set the symmetrical difference of this set and rangeset and return a reference to it.
integral_set< IntegralRangeT,
RangeSetT > 
operator~ () const
 Return an integral set consisting of the complement of this set.
integral_set< IntegralRangeT,
RangeSetT > & 
invert ()
 Invert this set and return it.
integral_set< IntegralRangeT,
RangeSetT > & 
clear ()
 Empty this set and return it.
integral_set< IntegralRangeT,
RangeSetT > & 
fill ()
 Make this set maximal and return it.
bool operator<= (integral_type number) const
 Return true, if this integral set is empty or its only element is number.
bool operator<= (const range_type &range) const
 Return true, if all numbers contained in this integral set are also contained in range.
bool operator<= (const rangeset_type &rangeset) const
 Return true, if all numbers contained in this integral set are also contained in rangeset.
bool operator>= (integral_type number) const
 Return true, if this integral set contains number.
bool operator>= (const range_type &range) const
 Return true, if this integral set contains at least the same numbers as range.
bool operator>= (const rangeset_type &rangeset) const
 Return true, if this integral set contains at least the same numbers as rangeset.
bool operator== (integral_type number) const
 Return true, if this integral set's only element is number.
bool operator== (const range_type &range) const
 Return true, if this integral set contains exactly the same numbers as range.
bool operator== (const rangeset_type &rangeset) const
 Return true, if this integral set contains exactly the same numbers as rangeset.
bool operator!= (integral_type number) const
 Return true, if number is no element of this integral set or if it is not its only element.
bool operator!= (const range_type &range) const
 Return true, if this integral set does not contain exactly the same numbers as range.
bool operator!= (const rangeset_type &rangeset) const
 Return true, if this integral set does not contain exactly the same numbers as rangeset.

Static Public Member Functions

static integral_set
< IntegralRangeT, RangeSetT > 
emptyset ()
 Return the empty integral set.
static integral_set
< IntegralRangeT, RangeSetT > 
fullset ()
 Return the maximal integral set.

Static Public Attributes

static const integral_type MinVal = range_type::MinVal
 Minimal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.
static const integral_type MaxVal = range_type::MaxVal
 Maximal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Member Typedef Documentation

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
typedef IntegralRangeT stm::integral_set< IntegralRangeT, RangeSetT >::range_type

Template type parameter IntegralRangeT.

Definition at line 680 of file divaids.hpp.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
typedef RangeSetT stm::integral_set< IntegralRangeT, RangeSetT >::rangeset_type

Template type parameter RangeSetT.

Definition at line 683 of file divaids.hpp.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
typedef IntegralRangeT::integral_type stm::integral_set< IntegralRangeT, RangeSetT >::integral_type

The type of the integral type objects held by this integral_set.

Definition at line 686 of file divaids.hpp.


Constructor & Destructor Documentation

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set ( integral_type  number  ) 

Constructs an integral set containing number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set ( const range_type range  ) 

Constructs an integral set object containing the integral range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set ( const rangeset_type rangeset = rangeset_type()  ) 

Constructs an integral set object wrapping the integral range set rangeset.


Member Function Documentation

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator= ( integral_type  number  ) 

Assigns the integral set specified consisting of number to this integral_set object and returns a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator= ( const range_type range  ) 

Assigns the integral set specified consisting of range to this integral_set object and returns a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator= ( const rangeset_type rangeset  ) 

Assigns the integral set specified consisting of rangeset to this integral_set object and returns a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::assign ( const std::string &  valSpecList,
size_t  fmtFlags = 0 
)

Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

The integral set to assign is specified by valSpecList, which consists of a list of comma separated valSpec items as described for integral_range::assign(). If the fmtFlags bit integral_range::EmptyAllowed is set, also an empty or only whitespace containing valSpecList is allowed representing the empty integral_set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::assign ( const char *  valSpecList,
size_t  fmtFlags = 0 
)

Assigns the integral set specified by valSpecList to this integral_set object and returns a reference to it.

The integral set to assign is specified by valSpecList, which consists of a list of comma separated valSpec items as described for integral_range::assign(). If the fmtFlags bit integral_range::EmptyAllowed is set, also an empty or only whitespace containing valSpecList is allowed representing the empty integral_set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
void stm::integral_set< IntegralRangeT, RangeSetT >::swap ( integral_set< IntegralRangeT, RangeSetT > &  other  )  throw ()

Swap the contents of this set and the other integral set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
void stm::integral_set< IntegralRangeT, RangeSetT >::swap ( rangeset_type rangeset  )  throw ()

Swap the contents of this set and rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
stm::integral_set< IntegralRangeT, RangeSetT >::operator const RangeSetT & (  )  const

Returns a constant reference to the range set representing this integral set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
iterator stm::integral_set< IntegralRangeT, RangeSetT >::find ( integral_type  number  )  const

If number is contained in this set, return an iterator to it, else return end().

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
reverse_iterator stm::integral_set< IntegralRangeT, RangeSetT >::rfind ( integral_type  number  )  const

If number is contained in this set, return a reverse iterator to it, else return rend().

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
range_iterator stm::integral_set< IntegralRangeT, RangeSetT >::findrange ( integral_type  number  )  const

Return the range iterator pointing to the integral range number belongs to, or endrange(), if there is no such range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
reverse_range_iterator stm::integral_set< IntegralRangeT, RangeSetT >::rfindrange ( integral_type  number  )  const

Return the reverse range iterator pointing to the integral range number belongs to, or rendrange(), if there is no such range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
size_t stm::integral_set< IntegralRangeT, RangeSetT >::size (  )  const

Return the number of numbers contained in this set.

This may be 0, although the set is not empty in cases where sizeof (integral_type) == sizeof (size_t).

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
size_t stm::integral_set< IntegralRangeT, RangeSetT >::ranges (  )  const

Return the number integral ranges building this set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::empty (  )  const

Returns true, if this set is empty.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::full (  )  const

Returns true, if this set is maximal.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
range_type stm::integral_set< IntegralRangeT, RangeSetT >::hull (  )  const

Returns the least range containing all numbers of this set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_type stm::integral_set< IntegralRangeT, RangeSetT >::min (  )  const

Returns the least value contained in this set, or MaxVal if the set is empty.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_type stm::integral_set< IntegralRangeT, RangeSetT >::max (  )  const

Returns the largest value contained in this set, or MaxVal if the set is empty.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator| ( integral_type  number  )  const

Return an integral set consisting of the numbers contained in this set and of number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator| ( const range_type range  )  const

Return an integral set consisting of the numbers contained in this set and in range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator| ( const rangeset_type rangeset  )  const

Return an integral set consisting of the numbers contained in this set and in rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator|= ( integral_type  number  ) 

Add number to this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator|= ( const range_type range  ) 

Add the numbers contained in range to this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator|= ( const rangeset_type rangeset  ) 

Add the numbers contained in rangeset to this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator & ( integral_type  number  )  const

Return the empty integral set, if number is not contained in this set, else an integral set consisting of number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator & ( const range_type range  )  const

Return an integral set consisting of the numbers contained in both this set and in range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator & ( const rangeset_type rangeset  )  const

Return an integral set consisting of the numbers contained in both this set and in rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator &= ( integral_type  number  ) 

Remove all numbers unequal to number from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator &= ( const range_type range  ) 

Remove all numbers not contained in range from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator &= ( const rangeset_type rangeset  ) 

Remove all numbers not contained in rangeset from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator- ( integral_type  number  )  const

Return an integral set consisting of the numbers contained in this set except number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator- ( const range_type range  )  const

Return an integral set consisting of the numbers contained in this set except those contained also in range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator- ( const rangeset_type rangeset  )  const

Return an integral set consisting of the numbers contained in this set except those contained also in rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator-= ( integral_type  number  ) 

Remove number from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator-= ( const range_type range  ) 

Remove all numbers contained in range from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator-= ( const rangeset_type rangeset  ) 

Remove all numbers contained in rangeset from this set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator^ ( integral_type  number  )  const

Return an integral set consisting of the symmetrical difference of this set and number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator^ ( const range_type range  )  const

Return an integral set consisting of the symmetrical difference of this set and range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator^ ( const rangeset_type rangeset  )  const

Return an integral set consisting of the symmetrical difference of this set and rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator^= ( integral_type  number  ) 

Make this set the symmetrical difference of number and the other set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator^= ( const range_type range  ) 

Make this set the symmetrical difference of range and the other set and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator^= ( const rangeset_type rangeset  ) 

Make this set the symmetrical difference of this set and rangeset and return a reference to it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator~ (  )  const

Return an integral set consisting of the complement of this set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::invert (  ) 

Invert this set and return it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
static integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::emptyset (  )  [static]

Return the empty integral set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::clear (  ) 

Empty this set and return it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
static integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::fullset (  )  [static]

Return the maximal integral set.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::fill (  ) 

Make this set maximal and return it.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator<= ( integral_type  number  )  const

Return true, if this integral set is empty or its only element is number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator<= ( const range_type range  )  const

Return true, if all numbers contained in this integral set are also contained in range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator<= ( const rangeset_type rangeset  )  const

Return true, if all numbers contained in this integral set are also contained in rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator>= ( integral_type  number  )  const

Return true, if this integral set contains number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator>= ( const range_type range  )  const

Return true, if this integral set contains at least the same numbers as range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator>= ( const rangeset_type rangeset  )  const

Return true, if this integral set contains at least the same numbers as rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator== ( integral_type  number  )  const

Return true, if this integral set's only element is number.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator== ( const range_type range  )  const

Return true, if this integral set contains exactly the same numbers as range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator== ( const rangeset_type rangeset  )  const

Return true, if this integral set contains exactly the same numbers as rangeset.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator!= ( integral_type  number  )  const

Return true, if number is no element of this integral set or if it is not its only element.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator!= ( const range_type range  )  const

Return true, if this integral set does not contain exactly the same numbers as range.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator!= ( const rangeset_type rangeset  )  const

Return true, if this integral set does not contain exactly the same numbers as rangeset.


Member Data Documentation

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
const integral_type stm::integral_set< IntegralRangeT, RangeSetT >::MinVal = range_type::MinVal [static]

Minimal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Definition at line 720 of file divaids.hpp.

template<class IntegralRangeT, class RangeSetT = std::set<IntegralRangeT>>
const integral_type stm::integral_set< IntegralRangeT, RangeSetT >::MaxVal = range_type::MaxVal [static]

Maximal value an integral_set<IntegralRangeT, RangeSetT> object is allowed to contain.

Definition at line 724 of file divaids.hpp.


© Copyright Tom Michaelis 2002-2007

Distributed under the SysToMath Software License (See the accompanying file license.txt or a copy at www.SysToMath.com).