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) |
Related Functions | |
(Note that these are not member functions.) | |
template<class T > | |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const ArgArray< T > &y) |
template<class T > | |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const ArgArray< T > &x, const T &y) |
template<class T > | |
ArrayTraits< ArgArray< T > >::ArgsType | operator+ (const T &x, const ArgArray< T > &y) |
template<class Var > | |
ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const VarArgArray< Var > &y) |
template<class Var > | |
ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const VarArgArray< Var > &x, const Var &y) |
template<class Var > | |
ArrayTraits< VarArgArray< Var > >::ArgsType | operator+ (const Var &x, const VarArgArray< Var > &y) |
![]() | |
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... | |
Constructors and initialization | |
ArgArray (void) | |
Allocate empty array. More... | |
ArgArray (int n) | |
Allocate array with n elements. More... | |
ArgArray (int n, const T *e) | |
Allocate array with n elements and initialize with elements from array e. More... | |
ArgArray (const ArgArray< T > &a) | |
Initialize from primitive argument array a (copy elements) More... | |
ArgArray (const std::vector< T > &a) | |
Initialize from vector a. More... | |
template<class InputIterator > | |
ArgArray (InputIterator first, InputIterator last) | |
Initialize from InputIterator first and last. More... | |
Array elements | |
ArrayTraits< ArgArray< T > >::ArgsType | slice (int start, int inc=1, int n=-1) |
Return slice ![]() ![]() ![]() | |
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) More... | |
ArrayTraits< ArgArray< T > >::ArgsType & | operator<< (const ArgArray< T > &x) |
Append x to the end of the array. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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... | |
int | size (void) const |
Return size of array (number of elements) More... | |
T & | operator[] (int i) |
Return element at position i. More... | |
const T & | operator[] (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... | |
![]() | |
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) |
![]() | |
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 const int | onstack_size = 16 |
How many elements are possible inside array. More... | |
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.
|
inline |
|
inlineexplicit |
Gecode::ArgArray< T >::ArgArray | ( | int | n, |
const T * | e | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
related |
|
related |
|
related |
|
related |
|
related |
|
related |