Generated on Tue May 22 09:41:01 2018 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 54 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 90 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 92 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 94 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 96 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 98 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 100 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 102 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 104 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 106 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 240 of file shared-array.hpp.

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

Initialize as array with n elements.

Definition at line 244 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 249 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 275 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 254 of file shared-array.hpp.

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

Access element at position i.

Definition at line 261 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 268 of file shared-array.hpp.

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

Return number of elements.

Definition at line 283 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 290 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 297 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 304 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 311 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 318 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 325 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 332 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 339 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 346 of file shared-array.hpp.


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