Gecode::VarArray< Var > Class Template Reference
[Programming variables]
Variable arrays More...
#include <array.hpp>
Public Member Functions | |
bool | assigned (void) const |
Test if all variables are assigned. | |
Protected Attributes | |
int | n |
Number of variables (size). | |
Var * | x |
Array of variables. | |
Related Functions | |
(Note that these are not member functions.) | |
template<class T > | |
ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const VarArgArray< T > &y) |
template<class T > | |
ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const VarArray< T > &y) |
template<class T > | |
ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArgArray< T > &x, const VarArray< T > &y) |
template<class T > | |
ArrayTraits< VarArray< T > >::ArgsType | operator+ (const VarArray< T > &x, const T &y) |
template<class T > | |
ArrayTraits< VarArray< T > >::ArgsType | operator+ (const T &x, const VarArray< T > &y) |
template<class Char , class Traits , class Var > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const VarArray< Var > &x) |
Print array elements enclosed in curly brackets. | |
Associated types | |
| |
typedef Var | value_type |
Type of the variable stored in this array. | |
typedef Var & | reference |
Type of a reference to the value type. | |
typedef const Var & | const_reference |
Type of a constant reference to the value type. | |
typedef Var * | pointer |
Type of a pointer to the value type. | |
typedef const Var * | const_pointer |
Type of a read-only pointer to the value type. | |
typedef Var * | iterator |
Type of the iterator used to iterate through this array's elements. | |
typedef const Var * | const_iterator |
Type of the iterator used to iterate read-only through this array's elements. | |
typedef std::reverse_iterator < Var * > | reverse_iterator |
Type of the iterator used to iterate backwards through this array's elements. | |
typedef std::reverse_iterator < const Var * > | const_reverse_iterator |
Type of the iterator used to iterate backwards and read-only through this array's elements. | |
Constructors and initialization | |
| |
VarArray (void) | |
Default constructor (array of size 0). | |
VarArray (Space &home, int m) | |
Allocate array with m variables. | |
VarArray (Space &home, const VarArgArray< Var > &) | |
Initialize from variable argument array a (copy elements). | |
VarArray (const VarArray< Var > &a) | |
Initialize from variable array a (share elements). | |
const VarArray< Var > & | operator= (const VarArray< Var > &a) |
Initialize from variable array a (share elements). | |
Array size | |
| |
int | size (void) const |
Return size of array (number of elements). | |
Array elements | |
| |
Var & | operator[] (int i) |
Return variable at position i. | |
const Var & | operator[] (int i) const |
Return variable at position i. | |
ArrayTraits< VarArgArray< Var > >::ArgsType | slice (int start, int inc=1, int n=-1) |
Array iteration | |
| |
iterator | begin (void) |
Return an iterator at the beginning of the array. | |
const_iterator | begin (void) const |
Return a read-only iterator at the beginning of the array. | |
iterator | end (void) |
Return an iterator past the end of the array. | |
const_iterator | end (void) const |
Return a read-only iterator past the end of the array. | |
reverse_iterator | rbegin (void) |
Return a reverse iterator at the end of the array. | |
const_reverse_iterator | rbegin (void) const |
Return a reverse and read-only iterator at the end of the array. | |
reverse_iterator | rend (void) |
Return a reverse iterator past the beginning of the array. | |
const_reverse_iterator | rend (void) const |
Return a reverse and read-only iterator past the beginning of the array. | |
Cloning | |
| |
void | update (Space &home, VarArray< Var > &a) |
Update array to be a clone of array a. |
Detailed Description
template<class Var>
class Gecode::VarArray< Var >
Variable arrays
Variable arrays store variables. They are typically used for storing the variables being part of a solution.
Never use them for temporary purposes, use argument arrays instead.
Variable arrays can be enlarged dynamically. For memory efficiency, the initial array is allocated in the space. When adding variables, it is automatically resized and allocated on the heap.
Definition at line 94 of file array.hpp.
Member Typedef Documentation
template<class Var>
typedef Var Gecode::VarArray< Var >::value_type |
template<class Var>
typedef Var& Gecode::VarArray< Var >::reference |
template<class Var>
typedef const Var& Gecode::VarArray< Var >::const_reference |
template<class Var>
typedef Var* Gecode::VarArray< Var >::pointer |
template<class Var>
typedef const Var* Gecode::VarArray< Var >::const_pointer |
template<class Var>
typedef Var* Gecode::VarArray< Var >::iterator |
template<class Var>
typedef const Var* Gecode::VarArray< Var >::const_iterator |
template<class Var>
typedef std::reverse_iterator<Var*> Gecode::VarArray< Var >::reverse_iterator |
template<class Var>
typedef std::reverse_iterator<const Var*> Gecode::VarArray< Var >::const_reverse_iterator |
Constructor & Destructor Documentation
template<class Var >
Gecode::VarArray< Var >::VarArray | ( | void | ) | [inline] |
template<class Var >
Gecode::VarArray< Var >::VarArray | ( | Space & | home, | |
int | m | |||
) | [inline] |
template<class Var>
Gecode::VarArray< Var >::VarArray | ( | Space & | home, | |
const VarArgArray< Var > & | a | |||
) | [inline] |
template<class Var>
Gecode::VarArray< Var >::VarArray | ( | const VarArray< Var > & | a | ) | [inline] |
Member Function Documentation
template<class Var >
int Gecode::VarArray< Var >::size | ( | void | ) | const [inline] |
template<class Var >
Var & Gecode::VarArray< Var >::operator[] | ( | int | i | ) | [inline] |
template<class Var >
const Var & Gecode::VarArray< Var >::operator[] | ( | int | i | ) | const [inline] |
template<class Var >
ArrayTraits< VarArgArray< Var > >::ArgsType Gecode::VarArray< Var >::slice | ( | int | start, | |
int | inc = 1 , |
|||
int | n = -1 | |||
) | [inline] |
template<class Var >
VarArray< Var >::iterator Gecode::VarArray< Var >::begin | ( | void | ) | [inline] |
template<class Var >
VarArray< Var >::const_iterator Gecode::VarArray< Var >::begin | ( | void | ) | const [inline] |
template<class Var >
VarArray< Var >::iterator Gecode::VarArray< Var >::end | ( | void | ) | [inline] |
template<class Var >
VarArray< Var >::const_iterator Gecode::VarArray< Var >::end | ( | void | ) | const [inline] |
template<class Var >
VarArray< Var >::reverse_iterator Gecode::VarArray< Var >::rbegin | ( | void | ) | [inline] |
template<class Var >
VarArray< Var >::const_reverse_iterator Gecode::VarArray< Var >::rbegin | ( | void | ) | const [inline] |
template<class Var >
VarArray< Var >::reverse_iterator Gecode::VarArray< Var >::rend | ( | void | ) | [inline] |
template<class Var >
VarArray< Var >::const_reverse_iterator Gecode::VarArray< Var >::rend | ( | void | ) | const [inline] |
template<class Var >
bool Gecode::VarArray< Var >::assigned | ( | void | ) | const [inline] |
template<class Var>
void Gecode::VarArray< Var >::update | ( | Space & | home, | |
VarArray< Var > & | a | |||
) | [inline] |
Friends And Related Function Documentation
template<class T >
ArrayTraits< VarArray< T > >::ArgsType operator+ | ( | const VarArray< T > & | x, | |
const VarArgArray< T > & | y | |||
) | [related] |
Concatenate x and y and return result
template<class T >
ArrayTraits< VarArray< T > >::ArgsType operator+ | ( | const VarArray< T > & | x, | |
const VarArray< T > & | y | |||
) | [related] |
Concatenate x and y and return result
template<class T >
ArrayTraits< VarArray< T > >::ArgsType operator+ | ( | const VarArgArray< T > & | x, | |
const VarArray< T > & | y | |||
) | [related] |
Concatenate x and y and return result
template<class T >
ArrayTraits< VarArray< T > >::ArgsType operator+ | ( | const VarArray< T > & | x, | |
const T & | y | |||
) | [related] |
Concatenate x and y and return result
template<class T >
ArrayTraits< VarArray< T > >::ArgsType operator+ | ( | const T & | x, | |
const VarArray< T > & | y | |||
) | [related] |
Concatenate x and y and return result
Member Data Documentation
template<class Var>
int Gecode::VarArray< Var >::n [protected] |
template<class Var>
Var* Gecode::VarArray< Var >::x [protected] |
The documentation for this class was generated from the following file:
- gecode/kernel/data/array.hpp