1 #ifndef DASH__COARRAY__COEVENTITER_H 2 #define DASH__COARRAY__COEVENTITER_H 7 #include <dash/Atomic.h> 8 #include <dash/coarray/CoEventRef.h> 23 using difference_type =
typename gptr_t::gptrdiff_t;
27 using iterator_category = std::random_access_iterator_tag;
37 inline Team & team() {
50 inline bool operator <(
const self_t & other)
const noexcept {
51 return _gptr < other._gptr;
53 inline bool operator >(
const self_t & other)
const noexcept {
54 return _gptr > other._gptr;
56 inline bool operator <=(
const self_t & other)
const noexcept {
57 return _gptr <= other._gptr;
59 inline bool operator >=(
const self_t & other)
const noexcept {
60 return _gptr >= other._gptr;
62 inline bool operator ==(
const self_t & other)
const noexcept {
63 return (_gptr == other._gptr) && (_team == other._team);
65 inline bool operator !=(
const self_t & other)
const noexcept {
66 return !(*
this == other);
71 inline self_t & operator +=(
int i) noexcept {
75 inline self_t & operator -=(
int i) noexcept {
79 inline self_t & operator ++() noexcept {
83 inline self_t operator ++(
int) noexcept {
84 auto oldptr = _gptr++;
87 inline self_t & operator --() noexcept{
91 inline self_t operator --(
int) noexcept {
92 auto oldptr = _gptr--;
95 inline self_t operator +(
int i)
const noexcept {
98 inline self_t operator -(
int i)
const noexcept {
This class is a simple memory pool which holds allocates elements of size ValueType.
A Team instance specifies a subset of all available units.
static Team & Null()
The invariant Team instance representing an undefined team.