![]() |
Home | Libraries | Author | Links |
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.
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. |
typedef IntegralRangeT stm::integral_set< IntegralRangeT, RangeSetT >::range_type |
typedef RangeSetT stm::integral_set< IntegralRangeT, RangeSetT >::rangeset_type |
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.
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set | ( | integral_type | number | ) |
Constructs an integral set containing number.
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set | ( | const range_type & | range | ) |
Constructs an integral set object containing the integral range.
stm::integral_set< IntegralRangeT, RangeSetT >::integral_set | ( | const rangeset_type & | rangeset = rangeset_type() |
) |
Constructs an integral set object wrapping the integral range set rangeset.
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.
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.
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.
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.
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.
void stm::integral_set< IntegralRangeT, RangeSetT >::swap | ( | integral_set< IntegralRangeT, RangeSetT > & | other | ) | throw () |
Swap the contents of this set and the other integral set.
void stm::integral_set< IntegralRangeT, RangeSetT >::swap | ( | rangeset_type & | rangeset | ) | throw () |
Swap the contents of this set and rangeset.
stm::integral_set< IntegralRangeT, RangeSetT >::operator const RangeSetT & | ( | ) | const |
Returns a constant reference to the range set representing this integral set.
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().
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().
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.
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.
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).
size_t stm::integral_set< IntegralRangeT, RangeSetT >::ranges | ( | ) | const |
Return the number integral ranges building this set.
bool stm::integral_set< IntegralRangeT, RangeSetT >::empty | ( | ) | const |
Returns true, if this set is empty.
bool stm::integral_set< IntegralRangeT, RangeSetT >::full | ( | ) | const |
Returns true, if this set is maximal.
range_type stm::integral_set< IntegralRangeT, RangeSetT >::hull | ( | ) | const |
Returns the least range containing all numbers of this set.
integral_type stm::integral_set< IntegralRangeT, RangeSetT >::min | ( | ) | const |
Returns the least value contained in this set, or MaxVal if the set is empty.
integral_type stm::integral_set< IntegralRangeT, RangeSetT >::max | ( | ) | const |
Returns the largest value contained in this set, or MaxVal if the set is empty.
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.
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.
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.
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator|= | ( | integral_type | number | ) |
Add number to this set and return a reference to it.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::operator-= | ( | integral_type | number | ) |
Remove number from this set and return a reference to it.
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.
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.
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.
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.
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.
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.
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.
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.
integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::operator~ | ( | ) | const |
Return an integral set consisting of the complement of this set.
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::invert | ( | ) |
Invert this set and return it.
static integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::emptyset | ( | ) | [static] |
Return the empty integral set.
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::clear | ( | ) |
Empty this set and return it.
static integral_set<IntegralRangeT, RangeSetT> stm::integral_set< IntegralRangeT, RangeSetT >::fullset | ( | ) | [static] |
Return the maximal integral set.
integral_set<IntegralRangeT, RangeSetT>& stm::integral_set< IntegralRangeT, RangeSetT >::fill | ( | ) |
Make this set maximal and return it.
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.
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.
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.
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator>= | ( | integral_type | number | ) | const |
Return true, if this integral set contains number.
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.
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.
bool stm::integral_set< IntegralRangeT, RangeSetT >::operator== | ( | integral_type | number | ) | const |
Return true, if this integral set's only element is number.
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.
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.
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.
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.
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.
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.
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).