|
DASH
0.3.0
|
Global iterator on an index set specified by a view modifier. More...
#include <GlobViewIter.h>
Public Member Functions | |
| constexpr | GlobViewIter () |
| Default constructor. More... | |
| template<class GlobStaticMemT_ > | |
| constexpr | GlobViewIter (GlobStaticMemT_ *gmem, const PatternType &pat, const ViewSpecType &viewspec, IndexType position=0, IndexType view_index_offset=0) |
| Constructor, creates a global iterator on global memory following the element order specified by the given pattern and view spec. More... | |
| template<class GlobStaticMemT_ > | |
| constexpr | GlobViewIter (GlobStaticMemT_ *gmem, const PatternType &pat, IndexType position=0, IndexType view_index_offset=0) |
| Constructor, creates a global iterator on global memory following the element order specified by the given pattern and view spec. More... | |
| template<class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| constexpr | GlobViewIter (const GlobIter< nonconst_value_type, P_, GM_, Ptr_, Ref_ > &other, const ViewSpecType &viewspec, IndexType view_offs=0) |
| Constructor, creates a global view iterator from a global iterator. More... | |
| template<typename T_ , class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| constexpr | GlobViewIter (const GlobViewIter< T_, P_, GM_, Ptr_, Ref_ > &other) |
| Copy constructor. More... | |
| template<typename T_ , class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| constexpr | GlobViewIter (GlobViewIter< T_, P_, GM_, Ptr_, Ref_ > &&other) |
| Move constructor. More... | |
| template<typename T_ , class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| self_t & | operator= (const GlobViewIter< T_, P_, GM_, Ptr_, Ref_ > &other) |
| Assignment operator. More... | |
| template<typename T_ , class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| self_t & | operator= (GlobViewIter< T_, P_, GM_, Ptr_, Ref_ > &&other) |
| Move-assignment operator. More... | |
| operator const_pointer () const | |
Type conversion operator to GlobPtr. More... | |
| operator pointer () | |
Type conversion operator to GlobPtr. More... | |
| dart_gptr_t | dart_gptr () const |
Explicit conversion to dart_gptr_t. More... | |
| reference | operator* () |
| Dereference operator. More... | |
| const_reference | operator* () const |
| Dereference operator. More... | |
| reference | operator[] (index_type g_index) |
| Subscript operator, returns global reference to element at given global index. More... | |
| const_reference | operator[] (index_type g_index) const |
| Subscript operator, returns global reference to element at given global index. More... | |
| constexpr bool | is_local () const |
| Checks whether the element referenced by this global iterator is in the calling unit's local memory. More... | |
| local_type | local () const |
| Convert global iterator to native pointer. More... | |
| const_global_type | global () const |
| Map iterator to global index domain by projecting the iterator's view. More... | |
| global_type | global () |
| Map iterator to global index domain by projecting the iterator's view. More... | |
| constexpr index_type | pos () const noexcept |
| Position of the iterator in its view's iteration space and the view's offset in global index space. More... | |
| index_type | rpos () const noexcept |
| Position of the iterator in its view's iteration space, disregarding the view's offset in global index space. More... | |
| index_type | gpos () const |
| Position of the iterator in global index range. More... | |
| pattern_type::local_index_t | lpos () const |
| Unit and local offset at the iterator's position. More... | |
| bool | is_relative () const noexcept |
| Whether the iterator's position is relative to a view. More... | |
| ViewSpecType | viewspec () const |
| The view that specifies this iterator's index range. More... | |
| constexpr const GlobMemType & | globmem () const noexcept |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory. More... | |
| GlobMemType & | globmem () noexcept |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory. More... | |
| self_t & | operator++ () noexcept |
| Prefix increment operator. More... | |
| self_t | operator++ (int) noexcept |
| Postfix increment operator. More... | |
| self_t & | operator-- () noexcept |
| Prefix decrement operator. More... | |
| self_t | operator-- (int) noexcept |
| Postfix decrement operator. More... | |
| self_t & | operator+= (index_type n) noexcept |
| self_t & | operator-= (index_type n) noexcept |
| self_t | operator+ (index_type n) const noexcept |
| self_t | operator- (index_type n) const noexcept |
| index_type | operator+ (const self_t &other) const noexcept |
| index_type | operator- (const self_t &other) const |
| bool | operator< (const self_t &other) const noexcept |
| bool | operator<= (const self_t &other) const noexcept |
| bool | operator> (const self_t &other) const noexcept |
| bool | operator>= (const self_t &other) const noexcept |
| bool | operator== (const self_t &other) const noexcept |
| bool | operator!= (const self_t &other) const noexcept |
| constexpr const PatternType & | pattern () const noexcept |
| constexpr dash::Team & | team () const noexcept |
Static Public Member Functions | |
| static dim_t | ndim () |
| The number of dimensions of the iterator's underlying pattern. More... | |
Friends | |
| template<typename T_ , class P_ , class GM_ , class Ptr_ , class Ref_ > | |
| std::ostream & | operator<< (std::ostream &os, const GlobViewIter< T_, P_, GM_, Ptr_, Ref_ > &it) |
Global iterator on an index set specified by a view modifier.
Definition at line 40 of file GlobViewIter.h.
|
inline |
Default constructor.
Definition at line 162 of file GlobViewIter.h.
|
inline |
Constructor, creates a global iterator on global memory following the element order specified by the given pattern and view spec.
Definition at line 177 of file GlobViewIter.h.
|
inline |
Constructor, creates a global iterator on global memory following the element order specified by the given pattern and view spec.
Definition at line 197 of file GlobViewIter.h.
|
inline |
Constructor, creates a global view iterator from a global iterator.
Definition at line 219 of file GlobViewIter.h.
|
inline |
Copy constructor.
Definition at line 241 of file GlobViewIter.h.
|
inline |
|
inline |
Explicit conversion to dart_gptr_t.
Definition at line 419 of file GlobViewIter.h.
Referenced by dash::GlobViewIter< ElementT, PatternT, GlobMemT >::operator--().
|
inline |
Map iterator to global index domain by projecting the iterator's view.
Definition at line 594 of file GlobViewIter.h.
|
inline |
Map iterator to global index domain by projecting the iterator's view.
Definition at line 607 of file GlobViewIter.h.
|
inlinenoexcept |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory.
Definition at line 731 of file GlobViewIter.h.
|
inlinenoexcept |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory.
Definition at line 740 of file GlobViewIter.h.
|
inline |
Position of the iterator in global index range.
Projects iterator position from its view spec to global index domain.
Definition at line 638 of file GlobViewIter.h.
Referenced by dash::GlobViewIter< ElementT, PatternT, GlobMemT >::global().
|
inline |
Checks whether the element referenced by this global iterator is in the calling unit's local memory.
Definition at line 539 of file GlobViewIter.h.
|
inlinenoexcept |
Whether the iterator's position is relative to a view.
Definition at line 711 of file GlobViewIter.h.
|
inline |
Convert global iterator to native pointer.
Definition at line 547 of file GlobViewIter.h.
|
inline |
Unit and local offset at the iterator's position.
Projects iterator position from its view spec to global index domain.
Definition at line 673 of file GlobViewIter.h.
Referenced by dash::GlobViewIter< ElementT, PatternT, GlobMemT >::is_local(), and dash::GlobViewIter< ElementT, PatternT, GlobMemT >::operator--().
|
inlinestatic |
The number of dimensions of the iterator's underlying pattern.
Definition at line 323 of file GlobViewIter.h.
|
inlineexplicit |
Type conversion operator to GlobPtr.
Definition at line 333 of file GlobViewIter.h.
|
inlineexplicit |
Type conversion operator to GlobPtr.
Definition at line 376 of file GlobViewIter.h.
|
inline |
Dereference operator.
Definition at line 462 of file GlobViewIter.h.
|
inline |
Dereference operator.
Definition at line 472 of file GlobViewIter.h.
|
inlinenoexcept |
Prefix increment operator.
Definition at line 748 of file GlobViewIter.h.
|
inlinenoexcept |
Postfix increment operator.
Definition at line 757 of file GlobViewIter.h.
|
inlinenoexcept |
Prefix decrement operator.
Definition at line 767 of file GlobViewIter.h.
|
inlinenoexcept |
Postfix decrement operator.
Definition at line 776 of file GlobViewIter.h.
|
inline |
Assignment operator.
Definition at line 283 of file GlobViewIter.h.
|
inline |
|
inline |
Subscript operator, returns global reference to element at given global index.
| g_index | The global position of the element |
Definition at line 481 of file GlobViewIter.h.
Referenced by dash::GlobViewIter< ElementT, PatternT, GlobMemT >::operator*().
|
inline |
Subscript operator, returns global reference to element at given global index.
| g_index | The global position of the element |
Definition at line 510 of file GlobViewIter.h.
|
inlinenoexcept |
Position of the iterator in its view's iteration space and the view's offset in global index space.
Definition at line 620 of file GlobViewIter.h.
Referenced by dash::GlobViewIter< ElementT, PatternT, GlobMemT >::operator--().
|
inlinenoexcept |
Position of the iterator in its view's iteration space, disregarding the view's offset in global index space.
Definition at line 629 of file GlobViewIter.h.
|
inline |
The view that specifies this iterator's index range.
Definition at line 719 of file GlobViewIter.h.