
Integer sets. More...
#include <int.hh>
Classes | |
| class | MinInc |
| Sort ranges according to increasing minimum. More... | |
Public Member Functions | |
| template<> | |
| IntSet (const std::vector< int > &r) | |
| Initialize with integers from vector r. | |
| template<> | |
| IntSet (const std::vector< std::pair< int, int > > &r) | |
| Initialize with ranges from vector r. | |
Public Member Functions inherited from Gecode::SharedHandle | |
| SharedHandle (void) | |
| Create shared handle with no object pointing to. | |
| SharedHandle (SharedHandle::Object *so) | |
| Create shared handle that points to shared object so. | |
| SharedHandle (const SharedHandle &sh) | |
| Copy constructor maintaining reference count. | |
| SharedHandle & | operator= (const SharedHandle &sh) |
| Assignment operator maintaining reference count. | |
| ~SharedHandle (void) | |
| Destructor that maintains reference count. | |
| operator bool (void) const | |
| Whether handle points to an object. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntSet &s) |
| Print integer set s. | |
Predefined value | |
| static const IntSet | empty |
| Empty set. | |
Constructors and initialization | |
| IntSet (void) | |
| Initialize as empty set. | |
| IntSet (int n, int m) | |
| Initialize as range with minimum n and maximum m. | |
| IntSet (const int r[], int n) | |
| Initialize with n integers from array r. | |
| IntSet (const int r[][2], int n) | |
| Initialize with n ranges from array r. | |
| template<class I > | |
| IntSet (I &i) | |
| Initialize with range iterator i. | |
| template<class I > | |
| IntSet (const I &i) | |
| Initialize with range iterator i. | |
| IntSet (std::initializer_list< int > r) | |
| Initialize with integers from list r. | |
| IntSet (std::initializer_list< std::pair< int, int > > r) | |
| Initialize with ranges from vector r. | |
Range access | |
| int | ranges (void) const |
| Return number of ranges of the specification. | |
| int | min (int i) const |
| Return minimum of range at position i. | |
| int | max (int i) const |
| Return maximum of range at position i. | |
| unsigned int | width (int i) const |
| Return width of range at position i. | |
Entire set access | |
| bool | in (int n) const |
| Return whether n is included in the set. | |
| unsigned int | size (void) const |
| Return size (cardinality) of set. | |
| unsigned int | width (void) const |
| Return width of set (distance between maximum and minimum) | |
| int | min (void) const |
| Return minimum of entire set. | |
| int | max (void) const |
| Return maximum of entire set. | |
Equality tests | |
| bool | operator== (const IntSet &s) const |
| Return whether s is equal. | |
| bool | operator!= (const IntSet &s) const |
| Return whether s is not equal. | |
Additional Inherited Members | |
Protected Member Functions inherited from Gecode::SharedHandle | |
| SharedHandle::Object * | object (void) const |
| Access to the shared object. | |
| void | object (SharedHandle::Object *n) |
| Modify shared object. | |
Integer sets.
Integer sets are the means to specify arbitrary sets of integers to be used as domains for integer variables.
|
inline |
Initialize as empty set.
Definition at line 43 of file int-set-1.hpp.
|
inlineexplicit |
Initialize as range with minimum n and maximum m.
Note that the set is empty if n is larger than m
Definition at line 147 of file int-set-1.hpp.
|
inlineexplicit |
Initialize with n integers from array r.
Definition at line 103 of file int-set-1.hpp.
|
inlineexplicit |
Initialize with n ranges from array r.
For position i in the array r, the minimum is r[i][0] and the maximum is r[i][1].
Definition at line 97 of file int-set-1.hpp.
|
explicit |
Initialize with range iterator i.
Initialize integer set with iterator.
Definition at line 86 of file int-set-1.hpp.
|
explicit |
Initialize with range iterator i.
Initialize integer set with iterator.
Definition at line 92 of file int-set-1.hpp.
|
explicit |
Initialize with integers from list r.
Definition at line 150 of file int-set.cpp.
|
explicit |
Initialize with ranges from vector r.
The minimum is the first element and the maximum is the second element.
Definition at line 162 of file int-set.cpp.
|
inline |
Initialize with integers from vector r.
Definition at line 111 of file int-set-1.hpp.
|
inline |
Initialize with ranges from vector r.
The minimum is the first element and the maximum is the second element.
Definition at line 129 of file int-set-1.hpp.
|
inline |
Return number of ranges of the specification.
Definition at line 171 of file int-set-1.hpp.
|
inline |
Return minimum of range at position i.
Definition at line 152 of file int-set-1.hpp.
|
inline |
Return maximum of range at position i.
Definition at line 158 of file int-set-1.hpp.
|
inline |
Return width of range at position i.
Definition at line 164 of file int-set-1.hpp.
|
inline |
Return whether n is included in the set.
Definition at line 177 of file int-set-1.hpp.
|
inline |
Return size (cardinality) of set.
Definition at line 198 of file int-set-1.hpp.
|
inline |
Return width of set (distance between maximum and minimum)
Definition at line 204 of file int-set-1.hpp.
|
inline |
Return minimum of entire set.
Definition at line 186 of file int-set-1.hpp.
|
inline |
Return maximum of entire set.
Definition at line 192 of file int-set-1.hpp.
|
inline |
Return whether s is equal.
Definition at line 210 of file int-set-1.hpp.
|
inline |
Return whether s is not equal.
Definition at line 223 of file int-set-1.hpp.
|
related |
Print integer set s.
Definition at line 285 of file int-set-1.hpp.