Generated on Sat Feb 7 2015 02:01:41 for Gecode by doxygen 1.8.9.1
Gecode::VarArgArray< Var > Class Template Reference

Argument array for variables. More...

#include <array.hpp>

Classes

class  VarLess
 Sort order for variables. More...
 

Public Member Functions

bool assigned (void) const
 Test if all variables are assigned. More...
 
- Public Member Functions inherited from Gecode::ArgArrayBase< Var >
 ArgArrayBase (void)
 Allocate empty array. More...
 
 ArgArrayBase (int n)
 Allocate array with n elements. More...
 
 ArgArrayBase (const ArgArrayBase< Var > &a)
 Initialize from argument array a (copy elements) More...
 
 ArgArrayBase (const std::vector< Var > &a)
 Initialize from vector a. More...
 
 ArgArrayBase (InputIterator first, InputIterator last)
 Initialize from InputIterator begin and end. More...
 
const ArgArrayBase< Var > & operator= (const ArgArrayBase< Var > &a)
 Initialize from view array a (copy elements) More...
 
int size (void) const
 Return size of array (number of elements) More...
 
Varoperator[] (int i)
 Return element at position i. More...
 
const Varoperator[] (int i) const
 Return element at position i. More...
 
iterator begin (void)
 Return an iterator at the beginning of the array. More...
 
const_iterator begin (void) const
 Return a read-only iterator at the beginning of the array. More...
 
iterator end (void)
 Return an iterator past the end of the array. More...
 
const_iterator end (void) const
 Return a read-only iterator past the end of the array. More...
 
reverse_iterator rbegin (void)
 Return a reverse iterator at the end of the array. More...
 
const_reverse_iterator rbegin (void) const
 Return a reverse and read-only iterator at the end of the array. More...
 
reverse_iterator rend (void)
 Return a reverse iterator past the beginning of the array. More...
 
const_reverse_iterator rend (void) const
 Return a reverse and read-only iterator past the beginning of the array. More...
 
 ~ArgArrayBase (void)
 Destructor. More...
 

Friends

ArrayTraits< VarArgArray< Var > >::ArgsType operator+ (const VarArgArray< Var > &x, const VarArgArray< Var > &y)
 
ArrayTraits< VarArgArray< Var > >::ArgsType operator+ (const VarArgArray< Var > &x, const Var &y)
 
ArrayTraits< VarArgArray< Var > >::ArgsType operator+ (const Var &x, const VarArgArray< Var > &y)
 

Constructors and initialization

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

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}}$. More...
 

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) More...
 
ArrayTraits< VarArgArray< Var > >::ArgsType & operator<< (const VarArgArray< Var > &x)
 Append x to the end of the array. More...
 

Variable equality

bool same (const Space &home) const
 Test whether array contains same variable multiply. More...
 
bool same (const Space &home, const Var &y) const
 Test whether array contains variable y. More...
 
bool same (const Space &home, const VarArgArray< Var > &y) const
 Test whether all elements from array and y contains same variable multiply. More...
 

Additional Inherited Members

- Public Types inherited from Gecode::ArgArrayBase< Var >
typedef Var value_type
 Type of the view stored in this array. More...
 
typedef Varreference
 Type of a reference to the value type. More...
 
typedef const Varconst_reference
 Type of a constant reference to the value type. More...
 
typedef Varpointer
 Type of a pointer to the value type. More...
 
typedef const Varconst_pointer
 Type of a read-only pointer to the value type. More...
 
typedef Variterator
 Type of the iterator used to iterate through this array's elements. More...
 
typedef const Varconst_iterator
 Type of the iterator used to iterate read-only through this array's elements. More...
 
typedef std::reverse_iterator< Var * > reverse_iterator
 Type of the iterator used to iterate backwards through this array's elements. More...
 
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. More...
 
- Protected Member Functions inherited from Gecode::ArgArrayBase< Var >
Varallocate (int n)
 Allocate memory for n elements. More...
 
void resize (int i)
 Resize to hold at least i additional elements. More...
 
concat (const ArgArrayBase< Var > &x) const
 Return this array concatenated with x. More...
 
concat (const Var &x) const
 Return this array concatenated with x. More...
 
A & append (const Var &x)
 Insert a new element x at the end of the array (increase size by 1) More...
 
A & append (const ArgArrayBase< Var > &x)
 Append x to the end of the array. More...
 
slice (int start, int inc=1, int n=-1)
 
- Protected Attributes inherited from Gecode::ArgArrayBase< Var >
int n
 Number of elements. More...
 
int capacity
 Allocated size of the array. More...
 
Vara
 Element array. More...
 
Var onstack [onstack_size]
 In-array storage for elements. More...
 
- Static Protected Attributes inherited from Gecode::ArgArrayBase< Var >
static const int onstack_size
 How many elements are possible inside array. More...
 

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 53 of file array.hpp.

Constructor & Destructor Documentation

template<class Var >
Gecode::VarArgArray< Var >::VarArgArray ( void  )
inline

Allocate empty array.

Definition at line 1991 of file array.hpp.

template<class Var >
Gecode::VarArgArray< Var >::VarArgArray ( int  n)
inlineexplicit

Allocate array with n elements.

Definition at line 1995 of file array.hpp.

template<class Var>
Gecode::VarArgArray< Var >::VarArgArray ( const VarArgArray< Var > &  a)
inline

Initialize from variable argument array a (copy elements)

Definition at line 1999 of file array.hpp.

template<class Var>
Gecode::VarArgArray< Var >::VarArgArray ( const VarArray< Var > &  a)
inline

Initialize from variable array a (copy elements)

Definition at line 2015 of file array.hpp.

template<class Var>
Gecode::VarArgArray< Var >::VarArgArray ( const std::vector< Var > &  a)
inline

Initialize from vector a.

Definition at line 2004 of file array.hpp.

template<class Var >
template<class InputIterator >
Gecode::VarArgArray< Var >::VarArgArray ( InputIterator  first,
InputIterator  last 
)
inline

Initialize from InputIterator first and last.

Definition at line 2010 of file array.hpp.

Member Function Documentation

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 2023 of file array.hpp.

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 2031 of file array.hpp.

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 2039 of file array.hpp.

template<class Var >
bool Gecode::VarArgArray< Var >::assigned ( void  ) const
inline

Test if all variables are assigned.

Definition at line 2076 of file array.hpp.

template<class Var >
bool Gecode::VarArgArray< Var >::same ( const Space home) const

Test whether array contains same variable multiply.

Note that assigned variables are ignored.

Definition at line 2085 of file array.hpp.

template<class Var>
bool Gecode::VarArgArray< Var >::same ( const Space home,
const Var y 
) const

Test whether array contains variable y.

Note that assigned variables are ignored.

Definition at line 2128 of file array.hpp.

template<class Var>
bool Gecode::VarArgArray< Var >::same ( const Space home,
const VarArgArray< Var > &  y 
) const

Test whether all elements from array and y contains same variable multiply.

Note that assigned variables are ignored.

Definition at line 2105 of file array.hpp.

Friends And Related Function Documentation

template<class Var>
ArrayTraits<VarArgArray<Var> >::ArgsType operator+ ( const VarArgArray< Var > &  x,
const VarArgArray< Var > &  y 
)
friend

Definition at line 2047 of file array.hpp.

template<class Var>
ArrayTraits<VarArgArray<Var> >::ArgsType operator+ ( const VarArgArray< Var > &  x,
const Var y 
)
friend

Definition at line 2054 of file array.hpp.

template<class Var>
ArrayTraits<VarArgArray<Var> >::ArgsType operator+ ( const Var x,
const VarArgArray< Var > &  y 
)
friend

Definition at line 2061 of file array.hpp.


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