Gecode::ArgArray< T > Class Template Reference
[Programming variables]
Argument array for non-primitive types. More...
#include <array.hpp>
Friends | |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const ArgArray< T > &y) |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const T &y) |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const T &x, const ArgArray< T > &y) |
Constructors and initialization | |
| |
ArgArray (void) | |
Allocate empty array. | |
ArgArray (int n) | |
Allocate array with n elements. | |
ArgArray (int n, const T *e) | |
Allocate array with n elements and initialize with elements from array e. | |
ArgArray (const ArgArray< T > &a) | |
Initialize from argument array a (copy elements). | |
ArgArray (const std::vector< T > &a) | |
Initialize from vector a. | |
ArgArray (std::initializer_list< T > a) | |
Initialize from initializer list a. | |
template<class InputIterator > | |
ArgArray (InputIterator first, InputIterator last) | |
Initialize from InputIterator first and last. | |
Array elements | |
| |
ArrayTraits< ArgArray< T > >::ArgsType | slice (int start, int inc=1, int n=-1) |
Return slice of length n such that forall , . | |
Appending elements | |
| |
ArrayTraits< ArgArray< T > >::ArgsType & | operator<< (const T &x) |
Insert a new element x at the end of the array (increase size by 1). | |
ArrayTraits< ArgArray< T > >::ArgsType & | operator<< (const ArgArray< T > &x) |
Append x to the end of the array. |
Detailed Description
template<class T>
class Gecode::ArgArray< T >
Argument array for non-primitive types.
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 691 of file array.hpp.
Constructor & Destructor Documentation
template<class T >
Gecode::ArgArray< T >::ArgArray | ( | void | ) | [inline] |
template<class T >
Gecode::ArgArray< T >::ArgArray | ( | int | n | ) | [inline, explicit] |
template<class T>
Gecode::ArgArray< T >::ArgArray | ( | int | n, | |
const T * | e | |||
) | [inline] |
template<class T>
Gecode::ArgArray< T >::ArgArray | ( | const ArgArray< T > & | a | ) | [inline] |
template<class T>
Gecode::ArgArray< T >::ArgArray | ( | const std::vector< T > & | a | ) | [inline] |
template<class T>
Gecode::ArgArray< T >::ArgArray | ( | std::initializer_list< T > | a | ) | [inline] |
template<class T >
template<class InputIterator >
Gecode::ArgArray< T >::ArgArray | ( | InputIterator | first, | |
InputIterator | last | |||
) | [inline] |
Member Function Documentation
template<class T >
ArrayTraits< ArgArray< T > >::ArgsType Gecode::ArgArray< T >::slice | ( | int | start, | |
int | inc = 1 , |
|||
int | n = -1 | |||
) | [inline] |
Return slice of length n such that forall , .
Reimplemented from Gecode::ArgArrayBase< T >.
template<class T>
ArrayTraits< ArgArray< T > >::ArgsType & Gecode::ArgArray< T >::operator<< | ( | const T & | x | ) | [inline] |
template<class T>
ArrayTraits< ArgArray< T > >::ArgsType & Gecode::ArgArray< T >::operator<< | ( | const ArgArray< T > & | x | ) | [inline] |
Friends And Related Function Documentation
template<class T>
ArrayTraits< ArgArray< T > >::ArgsType operator+ | ( | const ArgArray< T > & | x, | |
const ArgArray< T > & | y | |||
) | [friend] |
template<class T>
ArrayTraits< ArgArray< T > >::ArgsType operator+ | ( | const ArgArray< T > & | x, | |
const T & | y | |||
) | [friend] |
template<class T>
ArrayTraits< ArgArray< T > >::ArgsType operator+ | ( | const T & | x, | |
const ArgArray< T > & | y | |||
) | [friend] |
The documentation for this class was generated from the following file:
- gecode/kernel/data/array.hpp