MADNESS 0.10.1
|
Iterator for distributed container wraps the local iterator. More...
#include <worlddc.h>
Public Types | |
typedef std::iterator_traits< internal_iteratorT >::difference_type | difference_type |
typedef std::iterator_traits< internal_iteratorT >::iterator_category | iterator_category |
typedef std::iterator_traits< internal_iteratorT >::pointer | pointer |
typedef std::iterator_traits< internal_iteratorT >::reference | reference |
typedef std::iterator_traits< internal_iteratorT >::value_type | value_type |
Public Member Functions | |
WorldContainerIterator () | |
Default constructor makes a local uninitialized value. | |
WorldContainerIterator (const internal_iteratorT &it) | |
Initializes from a local iterator. | |
WorldContainerIterator (const value_type &v) | |
Initializes to cache a remote value. | |
WorldContainerIterator (const WorldContainerIterator &other) | |
template<class iteratorT > | |
WorldContainerIterator (const WorldContainerIterator< iteratorT > &other) | |
~WorldContainerIterator () | |
const internal_iteratorT & | get_internal_iterator () const |
Private: (or should be) Returns iterator of internal container. | |
bool | is_cached () const |
Returns true if this is non-local or cached value. | |
bool | operator!= (const WorldContainerIterator &other) const |
Determines if two iterators are different. | |
reference | operator* () const |
Iterators dereference to std::pair<const keyT,valueT> | |
WorldContainerIterator & | operator++ () |
Pre-increment of an iterator (i.e., ++it) — local iterators only. | |
WorldContainerIterator | operator++ (int) |
pointer | operator-> () const |
Iterators dereference to std::pair<const keyT,valueT> | |
WorldContainerIterator & | operator= (const WorldContainerIterator &other) |
Assignment. | |
bool | operator== (const WorldContainerIterator &other) const |
Determines if two iterators are identical. | |
template<typename Archive > | |
void | serialize (const Archive &) |
Private Member Functions | |
template<class iteratorT > | |
void | copy (const WorldContainerIterator< iteratorT > &other) |
Private Attributes | |
internal_iteratorT | it |
Iterator from local container. | |
value_type * | value |
holds the remote values | |
Friends | |
template<class iteratorT > | |
class | WorldContainerIterator |
Iterator for distributed container wraps the local iterator.
typedef std::iterator_traits<internal_iteratorT>::difference_type madness::WorldContainerIterator< internal_iteratorT >::difference_type |
typedef std::iterator_traits<internal_iteratorT>::iterator_category madness::WorldContainerIterator< internal_iteratorT >::iterator_category |
typedef std::iterator_traits<internal_iteratorT>::pointer madness::WorldContainerIterator< internal_iteratorT >::pointer |
typedef std::iterator_traits<internal_iteratorT>::reference madness::WorldContainerIterator< internal_iteratorT >::reference |
typedef std::iterator_traits<internal_iteratorT>::value_type madness::WorldContainerIterator< internal_iteratorT >::value_type |
|
inlineexplicit |
Default constructor makes a local uninitialized value.
|
inlineexplicit |
Initializes from a local iterator.
|
inlineexplicit |
Initializes to cache a remote value.
References v, and madness::WorldContainerIterator< internal_iteratorT >::value.
|
inline |
|
inline |
|
inline |
|
inlineprivate |
References madness::WorldContainerIterator< internal_iteratorT >::is_cached(), madness::WorldContainerIterator< internal_iteratorT >::it, and madness::WorldContainerIterator< internal_iteratorT >::value.
Referenced by madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator(), madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator(), and madness::WorldContainerIterator< internal_iteratorT >::operator=().
|
inline |
Private: (or should be) Returns iterator of internal container.
References madness::WorldContainerIterator< internal_iteratorT >::it.
|
inline |
Returns true if this is non-local or cached value.
References madness::WorldContainerIterator< internal_iteratorT >::value.
Referenced by madness::WorldContainerIterator< internal_iteratorT >::copy(), madness::WorldContainerIterator< internal_iteratorT >::operator*(), madness::WorldContainerIterator< internal_iteratorT >::operator++(), madness::WorldContainerIterator< internal_iteratorT >::operator++(), madness::WorldContainerIterator< internal_iteratorT >::operator->(), and madness::WorldContainerIterator< internal_iteratorT >::operator==().
|
inline |
Determines if two iterators are different.
|
inline |
Iterators dereference to std::pair<const keyT,valueT>
References madness::WorldContainerIterator< internal_iteratorT >::is_cached(), madness::WorldContainerIterator< internal_iteratorT >::it, and madness::WorldContainerIterator< internal_iteratorT >::value.
|
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(), madness::WorldContainerIterator< internal_iteratorT >::it, and MADNESS_ASSERT.
|
inline |
|
inline |
Iterators dereference to std::pair<const keyT,valueT>
References madness::WorldContainerIterator< internal_iteratorT >::is_cached(), madness::WorldContainerIterator< internal_iteratorT >::it, and madness::WorldContainerIterator< internal_iteratorT >::value.
|
inline |
Assignment.
References madness::WorldContainerIterator< internal_iteratorT >::copy().
|
inline |
Determines if two iterators are identical.
References madness::WorldContainerIterator< internal_iteratorT >::is_cached(), madness::WorldContainerIterator< internal_iteratorT >::it, and madness::WorldContainerIterator< internal_iteratorT >::value.
|
inline |
References MADNESS_EXCEPTION.
|
friend |
|
private |
Iterator from local container.
Referenced by madness::WorldContainerIterator< internal_iteratorT >::copy(), madness::WorldContainerIterator< internal_iteratorT >::get_internal_iterator(), madness::WorldContainerIterator< internal_iteratorT >::operator*(), madness::WorldContainerIterator< internal_iteratorT >::operator++(), madness::WorldContainerIterator< internal_iteratorT >::operator++(), madness::WorldContainerIterator< internal_iteratorT >::operator->(), and madness::WorldContainerIterator< internal_iteratorT >::operator==().
|
mutableprivate |
holds the remote values
Referenced by madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator(), madness::WorldContainerIterator< internal_iteratorT >::~WorldContainerIterator(), madness::WorldContainerIterator< internal_iteratorT >::copy(), madness::WorldContainerIterator< internal_iteratorT >::is_cached(), madness::WorldContainerIterator< internal_iteratorT >::operator*(), madness::WorldContainerIterator< internal_iteratorT >::operator->(), and madness::WorldContainerIterator< internal_iteratorT >::operator==().