Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.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 > >::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.
VarArgArrayoperator= (const VarArgArray &)=default
 Assignment operator.

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 777 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 1845 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 1849 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 1853 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 1874 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 1858 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 1863 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 1869 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 1882 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 1889 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 1897 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 1929 of file array.hpp.

◆ operator=()

template<class Var>
VarArgArray & Gecode::VarArgArray< Var >::operator= ( const VarArgArray< Var > & )
default

Assignment operator.

◆ 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 1943 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 1966 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 1977 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 1983 of file array.hpp.


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