Generated on for Gecode by doxygen 1.15.0
Gecode::VarArgArray< Var > Class Template Reference

Argument array for variables. More...

#include <array.hpp>

(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.

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 $y$ of length n such that forall $0\leq i<n$, $y_i=x_{\text{start}+i\cdot\text{inc}}$.

Appending elements

ArrayTraits< VarArgArray< Var > >::ArgsTypeoperator<< (const Var &x)
 Insert a new element x at the end of the array (increase size by 1).
ArrayTraits< VarArgArray< Var > >::ArgsTypeoperator<< (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 Varreference
 Type of a reference to the value type.
typedef const Varconst_reference
 Type of a constant reference to the value type.
typedef Varpointer
 Type of a pointer to the value type.
typedef const Varconst_pointer
 Type of a read-only pointer to the value type.
typedef Variterator
 Type of the iterator used to iterate through this array's elements.
typedef const Varconst_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).
Varoperator[] (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 >
Varallocate (int n)
 Allocate memory for n elements.
void resize (int i)
 Resize to hold at least i additional elements.
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).
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.
Vara
 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)
inlineexplicit

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 $y$ of length n such that forall $0\leq i<n$, $y_i=x_{\text{start}+i\cdot\text{inc}}$.

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.

◆ 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: