Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::IndexSpaceIterator< N, T > Class Template Reference

#include <indexspace.h>

Public Member Functions

 IndexSpaceIterator (void)
 
 IndexSpaceIterator (const IndexSpace< N, T > &_space)
 
 IndexSpaceIterator (const IndexSpace< N, T > &_space, const Rect< N, T > &_restrict)
 
 IndexSpaceIterator (const Rect< N, T > &_boudns, const Rect< N, T > &_restrict, SparsityMapPublicImpl< N, T > *_s_impl)
 
void reset (const IndexSpace< N, T > &_space)
 
void reset (const IndexSpace< N, T > &_space, const Rect< N, T > &_restrict)
 
void reset (const Rect< N, T > &_bounds, const Rect< N, T > &_restrict, SparsityMapPublicImpl< N, T > *_s_impl)
 
bool step (void)
 

Public Attributes

Rect< N, T > rect {Rect<N, T>::make_empty()}
 
IndexSpace< N, T > space
 
Rect< N, T > restriction {Rect<N, T>::make_empty()}
 
bool valid {false}
 
SparsityMapPublicImpl< N, T > * s_impl {nullptr}
 
size_t cur_entry {0}
 

Detailed Description

template<int N, typename T>
class Realm::IndexSpaceIterator< N, T >

An IndexSpaceIterator iterates over the valid points in an IndexSpace, rectangles at a time.

Constructor & Destructor Documentation

◆ IndexSpaceIterator() [1/4]

template<int N, typename T >
Realm::IndexSpaceIterator< N, T >::IndexSpaceIterator ( void  )

◆ IndexSpaceIterator() [2/4]

template<int N, typename T >
Realm::IndexSpaceIterator< N, T >::IndexSpaceIterator ( const IndexSpace< N, T > &  _space)

◆ IndexSpaceIterator() [3/4]

template<int N, typename T >
Realm::IndexSpaceIterator< N, T >::IndexSpaceIterator ( const IndexSpace< N, T > &  _space,
const Rect< N, T > &  _restrict 
)

◆ IndexSpaceIterator() [4/4]

template<int N, typename T >
Realm::IndexSpaceIterator< N, T >::IndexSpaceIterator ( const Rect< N, T > &  _boudns,
const Rect< N, T > &  _restrict,
SparsityMapPublicImpl< N, T > *  _s_impl 
)

Member Function Documentation

◆ reset() [1/3]

template<int N, typename T >
void Realm::IndexSpaceIterator< N, T >::reset ( const IndexSpace< N, T > &  _space)

◆ reset() [2/3]

template<int N, typename T >
void Realm::IndexSpaceIterator< N, T >::reset ( const IndexSpace< N, T > &  _space,
const Rect< N, T > &  _restrict 
)

◆ reset() [3/3]

template<int N, typename T >
void Realm::IndexSpaceIterator< N, T >::reset ( const Rect< N, T > &  _bounds,
const Rect< N, T > &  _restrict,
SparsityMapPublicImpl< N, T > *  _s_impl 
)

◆ step()

template<int N, typename T >
bool Realm::IndexSpaceIterator< N, T >::step ( void  )

Member Data Documentation

◆ cur_entry

template<int N, typename T >
size_t Realm::IndexSpaceIterator< N, T >::cur_entry {0}

◆ rect

template<int N, typename T >
Rect<N, T> Realm::IndexSpaceIterator< N, T >::rect {Rect<N, T>::make_empty()}

◆ restriction

template<int N, typename T >
Rect<N, T> Realm::IndexSpaceIterator< N, T >::restriction {Rect<N, T>::make_empty()}

◆ s_impl

template<int N, typename T >
SparsityMapPublicImpl<N, T>* Realm::IndexSpaceIterator< N, T >::s_impl {nullptr}

◆ space

template<int N, typename T >
IndexSpace<N, T> Realm::IndexSpaceIterator< N, T >::space

◆ valid

template<int N, typename T >
bool Realm::IndexSpaceIterator< N, T >::valid {false}

The documentation for this class was generated from the following file: