
Base-class for argument arrays. More...
#include <array.hpp>
Protected Member Functions | |
| T * | allocate (int n) |
| Allocate memory for n elements. More... | |
| void | resize (int i) |
| Resize to hold at least i additional elements. More... | |
| template<class A > | |
| A | concat (const ArgArrayBase< T > &x) const |
| Return this array concatenated with x. More... | |
| template<class A > | |
| A | concat (const T &x) const |
| Return this array concatenated with x. More... | |
| template<class A > | |
| A & | append (const T &x) |
| Insert a new element x at the end of the array (increase size by 1) More... | |
| template<class A > | |
| A & | append (const ArgArrayBase< T > &x) |
| Append x to the end of the array. More... | |
| template<class A > | |
| A | slice (int start, int inc=1, int n=-1) |
Protected Attributes | |
| int | n |
| Number of elements. More... | |
| int | capacity |
| Allocated size of the array. More... | |
| T * | a |
| Element array. More... | |
| T | onstack [onstack_size] |
| In-array storage for elements. More... | |
Static Protected Attributes | |
| static const int | onstack_size = 16 |
| How many elements are possible inside array. More... | |
Related Functions | |
(Note that these are not member functions.) | |
| template<class Char , class Traits , class T > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ArgArrayBase< T > &x) |
| Print array elements enclosed in curly brackets. More... | |
Associated types | |
| typedef T | value_type |
| Type of the view stored in this array. More... | |
| typedef T & | reference |
| Type of a reference to the value type. More... | |
| typedef const T & | const_reference |
| Type of a constant reference to the value type. More... | |
| typedef T * | pointer |
| Type of a pointer to the value type. More... | |
| typedef const T * | const_pointer |
| Type of a read-only pointer to the value type. More... | |
| typedef T * | iterator |
| Type of the iterator used to iterate through this array's elements. More... | |
| typedef const T * | const_iterator |
| Type of the iterator used to iterate read-only through this array's elements. More... | |
| typedef std::reverse_iterator< T * > | reverse_iterator |
| Type of the iterator used to iterate backwards through this array's elements. More... | |
| typedef std::reverse_iterator< const T * > | const_reverse_iterator |
| Type of the iterator used to iterate backwards and read-only through this array's elements. More... | |
Constructors and initialization | |
| ArgArrayBase (void) | |
| Allocate empty array. More... | |
| ArgArrayBase (int n) | |
| Allocate array with n elements. More... | |
| ArgArrayBase (const ArgArrayBase< T > &a) | |
| Initialize from argument array a (copy elements) More... | |
| const ArgArrayBase< T > & | operator= (const ArgArrayBase< T > &a) |
| Initialize from view array a (copy elements) More... | |
| ArgArrayBase (const std::vector< T > &a) | |
| Initialize from vector a. More... | |
| template<class InputIterator > | |
| ArgArrayBase (InputIterator first, InputIterator last) | |
| Initialize from InputIterator begin and end. More... | |
Array size | |
| int | size (void) const |
| Return size of array (number of elements) More... | |
Array elements | |
| T & | operator[] (int i) |
| Return element at position i. More... | |
| const T & | operator[] (int i) const |
| Return element at position i. More... | |
Array iteration | |
| 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... | |
Destructor | |
| ~ArgArrayBase (void) | |
| Destructor. More... | |
Base-class for argument arrays.
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.
This base-class is not to be used directly, use PrimArgArray for argument arrays of primitive types, VarArgArray for argument arrays storing variables, and ArgArray for any other type.
| typedef T Gecode::ArgArrayBase< T >::value_type |
| typedef T& Gecode::ArgArrayBase< T >::reference |
| typedef const T& Gecode::ArgArrayBase< T >::const_reference |
| typedef T* Gecode::ArgArrayBase< T >::pointer |
| typedef const T* Gecode::ArgArrayBase< T >::const_pointer |
| typedef T* Gecode::ArgArrayBase< T >::iterator |
| typedef const T* Gecode::ArgArrayBase< T >::const_iterator |
| typedef std::reverse_iterator<T*> Gecode::ArgArrayBase< T >::reverse_iterator |
| typedef std::reverse_iterator<const T*> Gecode::ArgArrayBase< T >::const_reverse_iterator |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
related |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |