Generated on Mon May 10 06:46:54 2010 for Gecode by doxygen 1.6.3

Gecode::ArgArrayBase< T > Class Template Reference

Base-class for argument arrays. More...

#include <array.hpp>

List of all members.

Protected Member Functions

T * allocate (int n)
 Allocate memory for n elements.

Protected Attributes

int n
 Number of elements.
T * a
 Element array.
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]

Allocate array with n elements.

Definition at line 1063 of file array.hpp.

template<class T>
Gecode::ArgArrayBase< T >::ArgArrayBase ( const ArgArrayBase< T > &  a  )  [inline]

Initialize from argument array a (copy elements).

Definition at line 1068 of file array.hpp.

template<class T >
Gecode::ArgArrayBase< T >::~ArgArrayBase ( void   )  [inline]

Destructor.

Definition at line 1075 of file array.hpp.


Member Function Documentation

template<class T >
T * Gecode::ArgArrayBase< T >::allocate ( int  n  )  [inline, protected]

Allocate memory for n elements.

Definition at line 1056 of file array.hpp.

template<class T>
const ArgArrayBase< T > & Gecode::ArgArrayBase< T >::operator= ( const ArgArrayBase< T > &  a  )  [inline]

Initialize from view array a (copy elements).

Definition at line 1082 of file array.hpp.

template<class T >
int Gecode::ArgArrayBase< T >::size ( void   )  const [inline]

Return size of array (number of elements).

Definition at line 1095 of file array.hpp.

template<class T >
T & Gecode::ArgArrayBase< T >::operator[] ( int  i  )  [inline]

Return element at position i.

Definition at line 1101 of file array.hpp.

template<class T >
const T & Gecode::ArgArrayBase< T >::operator[] ( int  i  )  const [inline]

Return element at position i.

Definition at line 1108 of file array.hpp.


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]

Print array elements enclosed in curly brackets.

Definition at line 1317 of file array.hpp.


Member Data Documentation

template<class T>
int Gecode::ArgArrayBase< T >::n [protected]

Number of elements.

Definition at line 360 of file array.hpp.

template<class T>
T* Gecode::ArgArrayBase< T >::a [protected]

Element array.

Definition at line 362 of file array.hpp.

template<class T>
const int Gecode::ArgArrayBase< T >::onstack_size = 16 [static, protected]

How much elements are possible inside array.

Definition at line 364 of file array.hpp.

template<class T>
T Gecode::ArgArrayBase< T >::onstack[onstack_size] [protected]

In-array storage for elements.

Definition at line 366 of file array.hpp.


The documentation for this class was generated from the following file: