Generated on Sat Feb 7 2015 02:01:40 for Gecode by doxygen 1.8.9.1
Gecode::PrimArgArray< T > Class Template Reference

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)
 

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

- Public Types inherited from Gecode::ArgArrayBase< T >
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...
 
- Public Member Functions inherited from Gecode::ArgArrayBase< T >
 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...
 
- Protected Member Functions inherited from Gecode::ArgArrayBase< T >
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 >
concat (const ArgArrayBase< T > &x) const
 Return this array concatenated with x. More...
 
template<class 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 >
slice (int start, int inc=1, int n=-1)
 
- Protected Attributes inherited from Gecode::ArgArrayBase< T >
int n
 Number of elements. More...
 
int capacity
 Allocated size of the array. More...
 
T * a
 Element array. More...
 
onstack [onstack_size]
 In-array storage for elements. More...
 
- Static Protected Attributes inherited from Gecode::ArgArrayBase< T >
static const int onstack_size = 16
 How many elements are possible inside array. More...
 

Detailed Description

template<class T>
class Gecode::PrimArgArray< T >

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.

Definition at line 640 of file array.hpp.

Constructor & Destructor Documentation

template<class T >
Gecode::PrimArgArray< T >::PrimArgArray ( void  )
inline

Allocate empty array.

Definition at line 1815 of file array.hpp.

template<class T >
Gecode::PrimArgArray< T >::PrimArgArray ( int  n)
inlineexplicit

Allocate array with n elements.

Definition at line 1819 of file array.hpp.

template<class T>
Gecode::PrimArgArray< T >::PrimArgArray ( int  n,
e0,
  ... 
)

Allocate array with n elements and initialize with e0, ...

Definition at line 1822 of file array.hpp.

template<class T>
Gecode::PrimArgArray< T >::PrimArgArray ( int  n,
const T *  e 
)

Allocate array with n elements and initialize with elements from array e.

Definition at line 1833 of file array.hpp.

template<class T>
Gecode::PrimArgArray< T >::PrimArgArray ( const PrimArgArray< T > &  a)
inline

Initialize from primitive argument array a (copy elements)

Definition at line 1841 of file array.hpp.

template<class T>
Gecode::PrimArgArray< T >::PrimArgArray ( const std::vector< T > &  a)
inline

Initialize from vector a.

Definition at line 1846 of file array.hpp.

template<class T >
template<class InputIterator >
Gecode::PrimArgArray< T >::PrimArgArray ( InputIterator  first,
InputIterator  last 
)
inline

Initialize from InputIterator first and last.

Definition at line 1852 of file array.hpp.

Member Function Documentation

template<class T >
ArrayTraits< PrimArgArray< T > >::ArgsType Gecode::PrimArgArray< T >::slice ( int  start,
int  inc = 1,
int  n = -1 
)
inline

Return slice $y$ of length at most n such that forall $0\leq i<n$, $y_i=x_{\text{start}+i\cdot\text{inc}}$

If n is -1, then all possible elements starting from start with increment inc are returned.

Definition at line 1857 of file array.hpp.

template<class T>
ArrayTraits< PrimArgArray< T > >::ArgsType & Gecode::PrimArgArray< T >::operator<< ( const T &  x)
inline

Insert a new element x at the end of the array (increase size by 1)

Definition at line 1865 of file array.hpp.

template<class T>
ArrayTraits< PrimArgArray< T > >::ArgsType & Gecode::PrimArgArray< T >::operator<< ( const PrimArgArray< T > &  x)
inline

Append x to the end of the array.

Definition at line 1873 of file array.hpp.

Friends And Related Function Documentation

template<class T>
ArrayTraits<PrimArgArray<T> >::ArgsType operator+ ( const PrimArgArray< T > &  x,
const PrimArgArray< T > &  y 
)
friend

Definition at line 1881 of file array.hpp.

template<class T>
ArrayTraits<PrimArgArray<T> >::ArgsType operator+ ( const PrimArgArray< T > &  x,
const T &  y 
)
friend

Definition at line 1888 of file array.hpp.

template<class T>
ArrayTraits<PrimArgArray<T> >::ArgsType operator+ ( const T &  x,
const PrimArgArray< T > &  y 
)
friend

Definition at line 1895 of file array.hpp.

template<class T >
ArrayTraits< PrimArgArray< T > >::ArgsType operator+ ( const PrimArgArray< T > &  x,
const PrimArgArray< T > &  y 
)
related

Concatenate x and y and return result

Definition at line 1881 of file array.hpp.

template<class T >
ArrayTraits< PrimArgArray< T > >::ArgsType operator+ ( const PrimArgArray< T > &  x,
const T &  y 
)
related

Concatenate x and y and return result

Definition at line 1888 of file array.hpp.

template<class T >
ArrayTraits< PrimArgArray< T > >::ArgsType operator+ ( const T &  x,
const PrimArgArray< T > &  y 
)
related

Concatenate x and y and return result

Definition at line 1895 of file array.hpp.


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