MADNESS  version 0.9
Public Types | Public Member Functions | Friends | List of all members
madness::WorldContainerIterator< internal_iteratorT > Class Template Reference

Iterator for distributed container wraps the local iterator. More...

#include <worlddc.h>

Public Types

typedef std::iterator_traits
< internal_iteratorT >
::iterator_category 
iterator_category
 
typedef std::iterator_traits
< internal_iteratorT >
::value_type 
value_type
 
typedef std::iterator_traits
< internal_iteratorT >
::difference_type 
difference_type
 
typedef std::iterator_traits
< internal_iteratorT >
::pointer 
pointer
 
typedef std::iterator_traits
< internal_iteratorT >
::reference 
reference
 

Public Member Functions

 WorldContainerIterator ()
 Default constructor makes a local uninitialized value. More...
 
 WorldContainerIterator (const internal_iteratorT &it)
 Initializes from a local iterator. More...
 
 WorldContainerIterator (const value_type &v)
 Initializes to cache a remote value. More...
 
 WorldContainerIterator (const WorldContainerIterator &other)
 
template<class iteratorT >
 WorldContainerIterator (const WorldContainerIterator< iteratorT > &other)
 
 ~WorldContainerIterator ()
 
WorldContainerIteratoroperator= (const WorldContainerIterator &other)
 Assignment. More...
 
bool operator== (const WorldContainerIterator &other) const
 Determines if two iterators are identical. More...
 
bool operator!= (const WorldContainerIterator &other) const
 Determines if two iterators are different. More...
 
WorldContainerIteratoroperator++ ()
 Pre-increment of an iterator (i.e., ++it) — local iterators only. More...
 
WorldContainerIterator operator++ (int)
 
pointer operator-> () const
 Iterators dereference to std::pair<const keyT,valueT> More...
 
reference operator* () const
 Iterators dereference to std::pair<const keyT,valueT> More...
 
const internal_iteratorT & get_internal_iterator () const
 Private: (or should be) Returns iterator of internal container. More...
 
bool is_cached () const
 Returns true if this is non-local or cached value. More...
 
template<typename Archive >
void serialize (const Archive &)
 

Friends

template<class iteratorT >
class WorldContainerIterator
 

Detailed Description

template<class internal_iteratorT>
class madness::WorldContainerIterator< internal_iteratorT >

Iterator for distributed container wraps the local iterator.

Member Typedef Documentation

template<class internal_iteratorT>
typedef std::iterator_traits<internal_iteratorT>::difference_type madness::WorldContainerIterator< internal_iteratorT >::difference_type
template<class internal_iteratorT>
typedef std::iterator_traits<internal_iteratorT>::iterator_category madness::WorldContainerIterator< internal_iteratorT >::iterator_category
template<class internal_iteratorT>
typedef std::iterator_traits<internal_iteratorT>::pointer madness::WorldContainerIterator< internal_iteratorT >::pointer
template<class internal_iteratorT>
typedef std::iterator_traits<internal_iteratorT>::reference madness::WorldContainerIterator< internal_iteratorT >::reference
template<class internal_iteratorT>
typedef std::iterator_traits<internal_iteratorT>::value_type madness::WorldContainerIterator< internal_iteratorT >::value_type

Constructor & Destructor Documentation

template<class internal_iteratorT>
madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator ( )
inlineexplicit

Default constructor makes a local uninitialized value.

template<class internal_iteratorT>
madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator ( const internal_iteratorT &  it)
inlineexplicit

Initializes from a local iterator.

template<class internal_iteratorT>
madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator ( const value_type v)
inlineexplicit

Initializes to cache a remote value.

template<class internal_iteratorT>
madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator ( const WorldContainerIterator< internal_iteratorT > &  other)
inline
template<class internal_iteratorT>
template<class iteratorT >
madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator ( const WorldContainerIterator< iteratorT > &  other)
inline
template<class internal_iteratorT>
madness::WorldContainerIterator< internal_iteratorT >::~WorldContainerIterator ( )
inline

Member Function Documentation

template<class internal_iteratorT>
const internal_iteratorT& madness::WorldContainerIterator< internal_iteratorT >::get_internal_iterator ( ) const
inline

Private: (or should be) Returns iterator of internal container.

template<class internal_iteratorT>
bool madness::WorldContainerIterator< internal_iteratorT >::is_cached ( ) const
inline
template<class internal_iteratorT>
bool madness::WorldContainerIterator< internal_iteratorT >::operator!= ( const WorldContainerIterator< internal_iteratorT > &  other) const
inline

Determines if two iterators are different.

template<class internal_iteratorT>
reference madness::WorldContainerIterator< internal_iteratorT >::operator* ( ) const
inline

Iterators dereference to std::pair<const keyT,valueT>

References madness::WorldContainerIterator< internal_iteratorT >::is_cached().

template<class internal_iteratorT>
WorldContainerIterator& madness::WorldContainerIterator< internal_iteratorT >::operator++ ( )
inline

Pre-increment of an iterator (i.e., ++it) — local iterators only.

Trying to increment a remote iterator will throw

References madness::WorldContainerIterator< internal_iteratorT >::is_cached().

template<class internal_iteratorT>
WorldContainerIterator madness::WorldContainerIterator< internal_iteratorT >::operator++ ( int  )
inline
template<class internal_iteratorT>
pointer madness::WorldContainerIterator< internal_iteratorT >::operator-> ( ) const
inline

Iterators dereference to std::pair<const keyT,valueT>

References madness::WorldContainerIterator< internal_iteratorT >::is_cached().

template<class internal_iteratorT>
WorldContainerIterator& madness::WorldContainerIterator< internal_iteratorT >::operator= ( const WorldContainerIterator< internal_iteratorT > &  other)
inline

Assignment.

template<class internal_iteratorT>
bool madness::WorldContainerIterator< internal_iteratorT >::operator== ( const WorldContainerIterator< internal_iteratorT > &  other) const
inline

Determines if two iterators are identical.

References madness::WorldContainerIterator< internal_iteratorT >::is_cached().

template<class internal_iteratorT>
template<typename Archive >
void madness::WorldContainerIterator< internal_iteratorT >::serialize ( const Archive &  )
inline

References MADNESS_EXCEPTION.

Friends And Related Function Documentation

template<class internal_iteratorT>
template<class iteratorT >
friend class WorldContainerIterator
friend

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