Gecode::VarArgArray< Var > Class Template Reference
Functionality by programming task » Programming variables

Argument array for variables. More...

`#include <array.hpp>`

## Related Symbols

(Note that these are not member symbols.)
template<class Var>
bool | same (VarArgArray< Var > x, VarArgArray< Var > y)
| Test whether array x together with array y contains at least one variable being the same.
template<class Var>
bool | same (VarArgArray< Var > x, Var y)
| Test whether array x contains variable y.
template<class Var>
bool | same (Var x, VarArgArray< Var > y)
| Test whether array y contains variable x.
template<class Var>
bool | same (VarArgArray< Var > x)
| Test whether array x contains a variable multiply.
Related Symbols inherited from Gecode::ArgArrayBase< Var >
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ArgArrayBase< Var > &x)
| Print array elements enclosed in curly brackets.

## Constructors and initialization

| VarArgArray (void)
| Allocate empty array.
| VarArgArray (int n)
| Allocate array with n elements.
| VarArgArray (const VarArgArray< Var > &a)
| Initialize from variable argument array a (copy elements).
| VarArgArray (const VarArray< Var > &a)
| Initialize from variable array a (copy elements).
| VarArgArray (const std::vector< Var > &a)
| Initialize from vector a.
| VarArgArray (std::initializer_list< Var > a)
| Initialize from initializer list a.
template<class InputIterator>
| VarArgArray (InputIterator first, InputIterator last)
| Initialize from InputIterator first and last.

## Array elements

ArrayTraits< VarArgArray< Var > >::ArgsType | slice (int start, int inc=1, int n=-1)
| Return slice of length n such that forall , .

## Appending elements

ArrayTraits< VarArgArray< Var > >::ArgsType & | operator<< (const Var &x)
| Insert a new element x at the end of the array (increase size by 1).
ArrayTraits< VarArgArray< Var > >::ArgsType & | operator<< (const VarArgArray< Var > &x)
| Append x to the end of the array.
bool | assigned (void) const
| Test if all variables are assigned.

## Additional Inherited Members

typedef Var | value_type
| Type of the view 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.
| ArgArrayBase (void)
| Allocate empty array.
const ArgArrayBase< Var > & | operator= (const ArgArrayBase< Var > &a)
| Initialize from view array a (copy elements).
int | size (void) const
| Return size of array (number of elements).
Var & | operator[] (int i)
| Return element at position i.
iterator | begin (void)
| Return an iterator at the beginning of the array.
iterator | end (void)
| Return an iterator past the end of the array.
reverse_iterator | rbegin (void)
| Return a reverse iterator at the end of the array.
reverse_iterator | rend (void)
| Return a reverse iterator past the beginning of the array.
| ~ArgArrayBase (void)
| Destructor.
Protected Member Functions inherited from Gecode::ArgArrayBase< Var >
Var * | allocate (int n)
| Allocate memory for n elements.
void | resize (int i)
| Resize to hold at least i additional elements.
A | concat (const ArgArrayBase< Var > &x) const
| Return this array concatenated with x.
A & | append (const Var &x)
| Insert a new element x at the end of the array (increase size by 1).
A | slice (int start, int inc=1, int n=-1)
Protected Attributes inherited from Gecode::ArgArrayBase< Var >
int | n
| Number of elements.
int | capacity
| Allocated size of the array.
Var * | a
| Element array.
Var | onstack [onstack_size]
| In-array storage for elements.
Static Protected Attributes inherited from Gecode::ArgArrayBase< Var >
static const int | onstack_size
| How many elements are possible inside array.

## Detailed Description

template<class Var>
class Gecode::VarArgArray< Var >

Argument array for variables.

Argument arrays are used as convenient mechanism of passing arguments when calling functions as they combine both the size and the elements of an array. For a small number of elements, memory is allocated by creating an argument array object. Otherwise the memory is allocated from the heap.

Definition at line 774 of file array.hpp.

## Constructor & Destructor Documentation

## VarArgArray() [1/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | void |  | ) |

inline

Allocate empty array.

Definition at line 1839 of file array.hpp.

## VarArgArray() [2/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | int | n | ) |

inline explicit

Allocate array with n elements.

Definition at line 1843 of file array.hpp.

## VarArgArray() [3/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | const VarArgArray< Var > & | a | ) |

inline

Initialize from variable argument array a (copy elements).

Definition at line 1847 of file array.hpp.

## VarArgArray() [4/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | const VarArray< Var > & | a | ) |

inline

Initialize from variable array a (copy elements).

Definition at line 1868 of file array.hpp.

## VarArgArray() [5/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | const std::vector< Var > & | a | ) |

inline

Initialize from vector a.

Definition at line 1852 of file array.hpp.

## VarArgArray() [6/7]

template<class Var>

Gecode::VarArgArray< Var >::VarArgArray | ( | std::initializer_list< Var > | a | ) |

inline

Initialize from initializer list a.

Definition at line 1857 of file array.hpp.

## VarArgArray() [7/7]

template<class Var>
template<class InputIterator>

Gecode::VarArgArray< Var >::VarArgArray | ( | InputIterator | first,
|  | InputIterator | last )

inline

Initialize from InputIterator first and last.

Definition at line 1863 of file array.hpp.

## Member Function Documentation

## slice()

template<class Var>

ArrayTraits< VarArgArray< Var > >::ArgsType Gecode::VarArgArray< Var >::slice | ( | int | start,
|  | int | inc = 1,
|  | int | n = -1 )

inline

Return slice of length n such that forall , .

Definition at line 1876 of file array.hpp.

## operator<<() [1/2]

template<class Var>

ArrayTraits< VarArgArray< Var > >::ArgsType & Gecode::VarArgArray< Var >::operator<< | ( | const Var & | x | ) |

inline

Insert a new element x at the end of the array (increase size by 1).

Definition at line 1883 of file array.hpp.

## operator<<() [2/2]

template<class Var>

ArrayTraits< VarArgArray< Var > >::ArgsType & Gecode::VarArgArray< Var >::operator<< | ( | const VarArgArray< Var > & | x | ) |

inline

Append x to the end of the array.

Definition at line 1891 of file array.hpp.

## assigned()

template<class Var>

bool Gecode::VarArgArray< Var >::assigned | ( | void |  | ) | const

inline

Test if all variables are assigned.

Definition at line 1923 of file array.hpp.

## Friends And Related Symbol Documentation

## same() [1/4]

template<class Var>

bool same | ( | VarArgArray< Var > | x,
|  | VarArgArray< Var > | y )

related

Test whether array x together with array y contains at least one variable being the same.

Note that assigned variables are ignored.

Definition at line 1937 of file array.hpp.

## same() [2/4]

template<class Var>

bool same | ( | VarArgArray< Var > | x,
|  | Var | y )

related

Test whether array x contains variable y.

Note that assigned variables are ignored.

Definition at line 1960 of file array.hpp.

## same() [3/4]

template<class Var>

bool same | ( | Var | x,
|  | VarArgArray< Var > | y )

related

Test whether array y contains variable x.

Note that assigned variables are ignored.

Definition at line 1971 of file array.hpp.

## same() [4/4]

template<class Var>

bool same | ( | VarArgArray< Var > | x | ) |

related

Test whether array x contains a variable multiply.

Note that assigned variables are ignored.

Definition at line 1977 of file array.hpp.

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

- gecode/kernel/data/array.hpp