Argument array for primtive types. More...
#include <array.hpp>
Friends | |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const PrimArgArray< T > &x, const PrimArgArray< T > &y) |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const PrimArgArray< T > &x, const T &y) |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const T &x, const PrimArgArray< T > &y) |
Related Functions | |
(Note that these are not member functions.) | |
template<class T > | |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const PrimArgArray< T > &x, const PrimArgArray< T > &y) |
template<class T > | |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const PrimArgArray< T > &x, const T &y) |
template<class T > | |
ArrayTraits< PrimArgArray< T > >::ArgsType | operator+ (const T &x, const PrimArgArray< T > &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 | |
PrimArgArray (void) | |
Allocate empty array. More... | |
PrimArgArray (int n) | |
Allocate array with n elements. More... | |
PrimArgArray (int n, T e0,...) | |
Allocate array with n elements and initialize with e0, ... More... | |
PrimArgArray (int n, const T *e) | |
Allocate array with n elements and initialize with elements from array e. More... | |
PrimArgArray (const PrimArgArray< T > &a) | |
Initialize from primitive argument array a (copy elements) More... | |
PrimArgArray (const std::vector< T > &a) | |
Initialize from vector a. More... | |
template<class InputIterator > | |
PrimArgArray (InputIterator first, InputIterator last) | |
Initialize from InputIterator first and last. More... | |
Array elements | |
ArrayTraits< PrimArgArray< T > >::ArgsType | slice (int start, int inc=1, int n=-1) |
Appending elements | |
ArrayTraits< PrimArgArray< T > >::ArgsType & | operator<< (const T &x) |
Insert a new element x at the end of the array (increase size by 1) More... | |
ArrayTraits< PrimArgArray< T > >::ArgsType & | operator<< (const PrimArgArray< 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 primtive 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::PrimArgArray< T >::PrimArgArray | ( | int | n, |
T | e0, | ||
... | |||
) |
Gecode::PrimArgArray< T >::PrimArgArray | ( | int | n, |
const T * | e | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
related |
|
related |
|
related |