|
DASH
0.3.0
|
Iterator on Partitioned Global Address Space. More...
#include <GlobIter.h>
Public Types | |
| using | iterator_category = std::random_access_iterator_tag |
| Iterator Traits. More... | |
| using | value_type = ElementType |
| using | difference_type = typename PatternType::index_type |
| using | size_type = typename PatternType::size_type |
| using | pointer = PointerType |
| using | reference = ReferenceType |
| typedef ReferenceType::const_type | const_reference |
| typedef PointerType::const_type | const_pointer |
| typedef pointer::local_type | local_type |
| typedef pointer::const_local_type | const_local_type |
| typedef PatternType | pattern_type |
| typedef std::make_signed< typename PatternType::index_type >::type | index_type |
| typedef std::integral_constant< bool, false > | has_view |
Public Member Functions | |
| DASH_CONSTEXPR | GlobIter (GlobMemType *gmem, PatternType const &pat, index_type position=0) DASH_NOEXCEPT |
| Constructor, creates a global iterator on global memory following the element order specified by the given pattern. More... | |
| template<class ElementType_ , class PointerType_ , class ReferenceType_ , typename = typename std::enable_if< std::is_assignable< typename dash::remove_atomic<ElementType_>::type, typename dash::remove_atomic<value_type>::type>::value> ::type> | |
| DASH_CONSTEXPR | GlobIter (const GlobIter< ElementType_, PatternType, GlobMemType, PointerType_, ReferenceType_ > &other) DASH_NOEXCEPT |
| DASH_CONSTEXPR | operator const_pointer () const noexcept |
| <fuchsto> TODO: Conversion from iterator to pointer looks dubios More... | |
| DASH_CONSTEXPR | operator pointer () DASH_NOEXCEPT |
| <fuchsto> TODO: Conversion from iterator to pointer looks dubios More... | |
| DASH_CONSTEXPR dart_gptr_t | dart_gptr () const DASH_NOEXCEPT |
Explicit conversion to dart_gptr_t. More... | |
| DASH_CONSTEXPR reference | operator* () noexcept |
| Dereference operator. More... | |
| DASH_CONSTEXPR const_reference | operator* () const noexcept |
| Dereference operator. More... | |
| DASH_CONSTEXPR reference | operator[] (index_type g_index) noexcept |
| Subscript operator, returns global reference to element at given global index. More... | |
| DASH_CONSTEXPR const_reference | operator[] (index_type g_index) const noexcept |
| Subscript operator, returns global reference to element at given global index. More... | |
| DASH_CONSTEXPR bool | is_local () const noexcept |
| Checks whether the element referenced by this global iterator is in the calling unit's local memory. More... | |
| DASH_CONSTEXPR local_type | local () const |
| Convert global iterator to native pointer. More... | |
| DASH_CONSTEXPR auto | lpos () const |
| Unit and local offset at the iterator's position. More... | |
| DASH_CONSTEXPR const self_t & | global () const DASH_NOEXCEPT |
| Map iterator to global index domain. More... | |
| DASH_CONSTEXPR index_type | pos () const DASH_NOEXCEPT |
| Position of the iterator in global index space. More... | |
| DASH_CONSTEXPR index_type | gpos () const DASH_NOEXCEPT |
| Position of the iterator in global index range. More... | |
| DASH_CONSTEXPR const GlobMemType & | globmem () const DASH_NOEXCEPT |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory. More... | |
| GlobMemType & | globmem () |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory. More... | |
| DASH_CONSTEXPR self_t & | operator++ () DASH_NOEXCEPT |
| Prefix increment operator. More... | |
| DASH_CONSTEXPR self_t | operator++ (int) DASH_NOEXCEPT |
| Postfix increment operator. More... | |
| DASH_CONSTEXPR self_t & | operator-- () DASH_NOEXCEPT |
| Prefix decrement operator. More... | |
| DASH_CONSTEXPR self_t | operator-- (int) DASH_NOEXCEPT |
| Postfix decrement operator. More... | |
| DASH_CONSTEXPR self_t & | operator+= (index_type n) DASH_NOEXCEPT |
| DASH_CONSTEXPR self_t & | operator-= (index_type n) DASH_NOEXCEPT |
| DASH_CONSTEXPR self_t | operator+ (index_type n) const DASH_NOEXCEPT |
| DASH_CONSTEXPR self_t | operator- (index_type n) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator< (const GlobIterT &other) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator<= (const GlobIterT &other) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator> (const GlobIterT &other) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator>= (const GlobIterT &other) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator== (const GlobIterT &other) const DASH_NOEXCEPT |
| template<class GlobIterT > | |
| DASH_CONSTEXPR bool | operator!= (const GlobIterT &other) const DASH_NOEXCEPT |
| DASH_CONSTEXPR const PatternType & | pattern () const DASH_NOEXCEPT |
| DASH_CONSTEXPR dash::Team & | team () const DASH_NOEXCEPT |
Static Public Member Functions | |
| static constexpr 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 GlobIter< T_, P_, GM_, Ptr_, Ref_ > &it) |
Iterator on Partitioned Global Address Space.
Definition at line 45 of file GlobIter.h.
| using dash::GlobIter< ElementType, PatternType, GlobMemType, PointerType, ReferenceType >::iterator_category = std::random_access_iterator_tag |
Iterator Traits.
Definition at line 48 of file GlobIter.h.
|
inline |
Constructor, creates a global iterator on global memory following the element order specified by the given pattern.
Definition at line 119 of file GlobIter.h.
|
inline |
Explicit conversion to dart_gptr_t.
Definition at line 193 of file GlobIter.h.
Referenced by dash::GlobIter< value_type, Pattern_t, GlobMem_t >::operator const_pointer(), dash::GlobIter< value_type, Pattern_t, GlobMem_t >::operator pointer(), and dash::GlobIter< value_type, Pattern_t, GlobMem_t >::operator*().
|
inline |
Map iterator to global index domain.
Definition at line 328 of file GlobIter.h.
|
inline |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory.
Definition at line 353 of file GlobIter.h.
|
inline |
The instance of GlobStaticMem used by this iterator to resolve addresses in global memory.
Definition at line 362 of file GlobIter.h.
|
inline |
Position of the iterator in global index range.
Definition at line 344 of file GlobIter.h.
|
inlinenoexcept |
Checks whether the element referenced by this global iterator is in the calling unit's local memory.
Definition at line 271 of file GlobIter.h.
|
inline |
Convert global iterator to native pointer.
Definition at line 279 of file GlobIter.h.
Referenced by dash::equal().
|
inline |
Unit and local offset at the iterator's position.
Definition at line 297 of file GlobIter.h.
Referenced by dash::GlobIter< value_type, Pattern_t, GlobMem_t >::is_local(), and dash::GlobIter< value_type, Pattern_t, GlobMem_t >::local().
|
inlinestatic |
The number of dimensions of the iterator's underlying pattern.
Definition at line 158 of file GlobIter.h.
|
inlineexplicitnoexcept |
<fuchsto> TODO: Conversion from iterator to pointer looks dubios
Type conversion operator to GlobPtr.
Definition at line 170 of file GlobIter.h.
|
inlineexplicit |
<fuchsto> TODO: Conversion from iterator to pointer looks dubios
Type conversion operator to GlobPtr.
Definition at line 182 of file GlobIter.h.
|
inlinenoexcept |
Dereference operator.
Definition at line 226 of file GlobIter.h.
|
inlinenoexcept |
Dereference operator.
Definition at line 236 of file GlobIter.h.
|
inline |
Prefix increment operator.
Definition at line 370 of file GlobIter.h.
|
inline |
Postfix increment operator.
Definition at line 379 of file GlobIter.h.
|
inline |
Prefix decrement operator.
Definition at line 389 of file GlobIter.h.
|
inline |
Postfix decrement operator.
Definition at line 398 of file GlobIter.h.
|
inlinenoexcept |
Subscript operator, returns global reference to element at given global index.
| g_index | The global position of the element |
Definition at line 245 of file GlobIter.h.
|
inlinenoexcept |
Subscript operator, returns global reference to element at given global index.
| g_index | The global position of the element |
Definition at line 258 of file GlobIter.h.
|
inline |
Position of the iterator in global index space.
Definition at line 336 of file GlobIter.h.
Referenced by dash::find(), dash::find_if(), dash::GlobIter< value_type, Pattern_t, GlobMem_t >::operator--(), and dash::Array< signal_t >::operator=().