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. | |
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] |
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: 9779)
