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.