Generated on Thu Mar 22 10:39:53 2012 for Gecode by doxygen 1.6.3

Gecode::SharedArray< T > Class Template Reference

Shared array with arbitrary number of elements. More...

#include <shared-array.hpp>

List of all members.

Classes

class  SAO
 Implementation of object for shared arrays. More...

Public Member Functions

 SharedArray (void)
 Construct as not yet intialized.
 SharedArray (int n)
 Initialize as array with n elements.
void init (int n)
 Initialize as array with n elements.
 SharedArray (const SharedArray &a)
 Initialize from shared array a (share elements).
 SharedArray (const ArgArrayBase< T > &a)
 Initialize from argument array a.
T & operator[] (int i)
 Access element at position i.
const T & operator[] (int i) const
 Access element at position i.
int size (void) const
 Return number of elements.

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 SharedArray< T > &x)
 Print array elements enclosed in curly brackets.

Associated types



typedef T value_type
 Type of the view stored in this array.
typedef T & reference
 Type of a reference to the value type.
typedef const T & const_reference
 Type of a constant reference to the value type.
typedef T * pointer
 Type of a pointer to the value type.
typedef const T * const_pointer
 Type of a read-only pointer to the value type.
typedef T * iterator
 Type of the iterator used to iterate through this array's elements.
typedef const T * const_iterator
 Type of the iterator used to iterate read-only through this array's elements.
typedef std::reverse_iterator
< T * > 
reverse_iterator
 Type of the iterator used to iterate backwards through this array's elements.
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.

Array iteration



iterator begin (void)
 Return an iterator at the beginning of the array.
const_iterator begin (void) const
 Return a read-only iterator at the beginning of the array.
iterator end (void)
 Return an iterator past the end of the array.
const_iterator end (void) const
 Return a read-only iterator past the end of the array.
reverse_iterator rbegin (void)
 Return a reverse iterator at the end of the array.
const_reverse_iterator rbegin (void) const
 Return a reverse and read-only iterator at the end of the array.
reverse_iterator rend (void)
 Return a reverse iterator past the beginning of the array.
const_reverse_iterator rend (void) const
 Return a reverse and read-only iterator past the beginning of the array.

Detailed Description

template<class T>
class Gecode::SharedArray< T >

Shared array with arbitrary number of elements.

Sharing is implemented by reference counting: the same elements are shared among several objects.

Definition at line 58 of file shared-array.hpp.


Member Typedef Documentation

template<class T>
typedef T Gecode::SharedArray< T >::value_type

Type of the view stored in this array.

Definition at line 87 of file shared-array.hpp.

template<class T>
typedef T& Gecode::SharedArray< T >::reference

Type of a reference to the value type.

Definition at line 89 of file shared-array.hpp.

template<class T>
typedef const T& Gecode::SharedArray< T >::const_reference

Type of a constant reference to the value type.

Definition at line 91 of file shared-array.hpp.

template<class T>
typedef T* Gecode::SharedArray< T >::pointer

Type of a pointer to the value type.

Definition at line 93 of file shared-array.hpp.

template<class T>
typedef const T* Gecode::SharedArray< T >::const_pointer

Type of a read-only pointer to the value type.

Definition at line 95 of file shared-array.hpp.

template<class T>
typedef T* Gecode::SharedArray< T >::iterator

Type of the iterator used to iterate through this array's elements.

Definition at line 97 of file shared-array.hpp.

template<class T>
typedef const T* Gecode::SharedArray< T >::const_iterator

Type of the iterator used to iterate read-only through this array's elements.

Definition at line 99 of file shared-array.hpp.

template<class T>
typedef std::reverse_iterator<T*> Gecode::SharedArray< T >::reverse_iterator

Type of the iterator used to iterate backwards through this array's elements.

Definition at line 101 of file shared-array.hpp.

template<class T>
typedef std::reverse_iterator<const T*> Gecode::SharedArray< T >::const_reverse_iterator

Type of the iterator used to iterate backwards and read-only through this array's elements.

Definition at line 103 of file shared-array.hpp.


Constructor & Destructor Documentation

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

Construct as not yet intialized.

The only member functions that can be used on a constructed but not yet initialized shared array is init and the assignment operator .

Definition at line 223 of file shared-array.hpp.

template<class T >
Gecode::SharedArray< T >::SharedArray ( int  n  )  [inline]

Initialize as array with n elements.

Definition at line 227 of file shared-array.hpp.

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

Initialize from shared array a (share elements).

Definition at line 232 of file shared-array.hpp.

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

Initialize from argument array a.

Definition at line 258 of file shared-array.hpp.


Member Function Documentation

template<class T >
void Gecode::SharedArray< T >::init ( int  n  )  [inline]

Initialize as array with n elements.

This member function can only be used once and only if the shared array has been constructed with the default constructor.

Definition at line 237 of file shared-array.hpp.

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

Access element at position i.

Definition at line 244 of file shared-array.hpp.

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

Access element at position i.

Definition at line 251 of file shared-array.hpp.

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

Return number of elements.

Definition at line 266 of file shared-array.hpp.

template<class T >
SharedArray< T >::iterator Gecode::SharedArray< T >::begin ( void   )  [inline]

Return an iterator at the beginning of the array.

Definition at line 273 of file shared-array.hpp.

template<class T >
SharedArray< T >::const_iterator Gecode::SharedArray< T >::begin ( void   )  const [inline]

Return a read-only iterator at the beginning of the array.

Definition at line 280 of file shared-array.hpp.

template<class T >
SharedArray< T >::iterator Gecode::SharedArray< T >::end ( void   )  [inline]

Return an iterator past the end of the array.

Definition at line 287 of file shared-array.hpp.

template<class T >
SharedArray< T >::const_iterator Gecode::SharedArray< T >::end ( void   )  const [inline]

Return a read-only iterator past the end of the array.

Definition at line 294 of file shared-array.hpp.

template<class T >
SharedArray< T >::reverse_iterator Gecode::SharedArray< T >::rbegin ( void   )  [inline]

Return a reverse iterator at the end of the array.

Definition at line 301 of file shared-array.hpp.

template<class T >
SharedArray< T >::const_reverse_iterator Gecode::SharedArray< T >::rbegin ( void   )  const [inline]

Return a reverse and read-only iterator at the end of the array.

Definition at line 308 of file shared-array.hpp.

template<class T >
SharedArray< T >::reverse_iterator Gecode::SharedArray< T >::rend ( void   )  [inline]

Return a reverse iterator past the beginning of the array.

Definition at line 315 of file shared-array.hpp.

template<class T >
SharedArray< T >::const_reverse_iterator Gecode::SharedArray< T >::rend ( void   )  const [inline]

Return a reverse and read-only iterator past the beginning of the array.

Definition at line 322 of file shared-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 SharedArray< T > &  x 
) [related]

Print array elements enclosed in curly brackets.

Definition at line 329 of file shared-array.hpp.


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