Gecode::ArgArrayBase< T > Class Template Reference
Base-class for argument arrays. More...
#include <array.hpp>
Protected Member Functions | |
T * | allocate (int n) |
Allocate memory for n elements. | |
Protected Attributes | |
int | n |
Number of elements. | |
T * | a |
Element array. | |
T | onstack [onstack_size] |
In-array storage for elements. | |
Static Protected Attributes | |
static const int | onstack_size = 16 |
How much elements are possible inside array. | |
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. | |
Constructors and initialization | |
| |
ArgArrayBase (int n) | |
Allocate array with n elements. | |
ArgArrayBase (const ArgArrayBase< T > &a) | |
Initialize from argument array a (copy elements). | |
const ArgArrayBase< T > & | operator= (const ArgArrayBase< T > &a) |
Initialize from view array a (copy elements). | |
Array size | |
| |
int | size (void) const |
Return size of array (number of elements). | |
Array elements | |
| |
T & | operator[] (int i) |
Return element at position i. | |
const T & | operator[] (int i) const |
Return element at position i. | |
Destructor | |
| |
~ArgArrayBase (void) | |
Destructor. |
Detailed Description
template<class T>
class Gecode::ArgArrayBase< T >
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 and VarArgArray for argument arrays storing variables.
Definition at line 357 of file array.hpp.
Constructor & Destructor Documentation
template<class T >
Gecode::ArgArrayBase< T >::ArgArrayBase | ( | int | n | ) | [inline] |
template<class T>
Gecode::ArgArrayBase< T >::ArgArrayBase | ( | const ArgArrayBase< T > & | a | ) | [inline] |
template<class T >
Gecode::ArgArrayBase< T >::~ArgArrayBase | ( | void | ) | [inline] |
Member Function Documentation
template<class T >
T * Gecode::ArgArrayBase< T >::allocate | ( | int | n | ) | [inline, protected] |
template<class T>
const ArgArrayBase< T > & Gecode::ArgArrayBase< T >::operator= | ( | const ArgArrayBase< T > & | a | ) | [inline] |
template<class T >
int Gecode::ArgArrayBase< T >::size | ( | void | ) | const [inline] |
template<class T >
T & Gecode::ArgArrayBase< T >::operator[] | ( | int | i | ) | [inline] |
template<class T >
const T & Gecode::ArgArrayBase< T >::operator[] | ( | int | i | ) | const [inline] |
Friends And Related Function Documentation
template<class Char , class Traits , class T >
std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const ArgArrayBase< T > & | x | |||
) | [related] |
Member Data Documentation
template<class T>
int Gecode::ArgArrayBase< T >::n [protected] |
template<class T>
T* Gecode::ArgArrayBase< T >::a [protected] |
template<class T>
const int Gecode::ArgArrayBase< T >::onstack_size = 16 [static, protected] |
template<class T>
T Gecode::ArgArrayBase< T >::onstack[onstack_size] [protected] |
The documentation for this class was generated from the following file:
- gecode/kernel/array.hpp (Revision: 10684)