Generated on Mon Aug 27 2012 17:15:58 for Gecode by doxygen 1.8.1.2
Gecode::SharedArray< T > Class Template Reference

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

#include <shared-array.hpp>

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.
- Public Member Functions inherited from Gecode::SharedHandle
 SharedHandle (void)
 Create shared handle with no object pointing to.
 SharedHandle (SharedHandle::Object *so)
 Create shared handle that points to shared object so.
 SharedHandle (const SharedHandle &sh)
 Copy constructor maintaining reference count.
SharedHandleoperator= (const SharedHandle &sh)
 Assignment operator mainitaining reference count.
void update (Space &home, bool share, SharedHandle &sh)
 Updating during cloning.
 ~SharedHandle (void)
 Destructor that maintains reference count.

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.

Additional Inherited Members

- Protected Member Functions inherited from Gecode::SharedHandle
SharedHandle::Objectobject (void) const
 Access to the shared object.
void object (SharedHandle::Object *n)
 Modify shared object.

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: