OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
BrickIterator< T, Dim > Class Template Reference

#include <BrickIterator.h>

Inheritance diagram for BrickIterator< T, Dim >:
Collaboration diagram for BrickIterator< T, Dim >:

Public Types

typedef T PETE_Return_t
typedef BrickIterator< T, DimPETE_Expr_t

Public Member Functions

 BrickIterator ()
 BrickIterator (T *, const NDIndex< Dim > &, const NDIndex< Dim > &)
 BrickIterator (T *, const vec< int, Dim > &)
BrickIteratoroperator++ ()
bool whole () const
bool operator== (const BrickIterator< T, Dim > &a) const
bool operator!= (const BrickIterator< T, Dim > &a) const
T & operator* () const
void step (unsigned d)
void rewind (unsigned d)
T & offset (int i) const
T & offset (int i, int j) const
T & offset (int i, int j, int k) const
T & offset (int *i) const
T & unit_offset (int i) const
T & unit_offset (int i, int j) const
T & unit_offset (int i, int j, int k) const
void moveBy (int i)
void moveBy (int i, int j)
void moveBy (int i, int j, int k)
void moveBy (const int *i)
int Stride (int i) const
MessageputMessage (Message &, bool makecopy=true)
MessagegetMessage (Message &)
PETE_Expr_t MakeExpression () const
bool done (unsigned d) const
int size (unsigned d) const
int GetOffset (unsigned d) const

Protected Member Functions

void op_pp ()

Protected Attributes

T *__restrict__ Current
vec< int, DimStrides
bool Whole
vec< int, DimCounters
vec< int, DimCounts

Detailed Description

template<class T, unsigned Dim>
class BrickIterator< T, Dim >

Definition at line 59 of file BrickIterator.h.

Member Typedef Documentation

◆ PETE_Expr_t

template<class T, unsigned Dim>
typedef BrickIterator<T,Dim> BrickIterator< T, Dim >::PETE_Expr_t

Definition at line 175 of file BrickIterator.h.

◆ PETE_Return_t

template<class T, unsigned Dim>
typedef T BrickIterator< T, Dim >::PETE_Return_t

Definition at line 174 of file BrickIterator.h.

Constructor & Destructor Documentation

◆ BrickIterator() [1/3]

◆ BrickIterator() [2/3]

template<class T, unsigned Dim>
BrickIterator< T, Dim >::BrickIterator ( T * p,
const NDIndex< Dim > & counted,
const NDIndex< Dim > & domalloc )

Definition at line 68 of file BrickIterator.hpp.

References BrickCounter< Dim >::BrickCounter(), Current, Dim, Strides, and Whole.

Here is the call graph for this function:

◆ BrickIterator() [3/3]

template<class T, unsigned Dim>
BrickIterator< T, Dim >::BrickIterator ( T * p,
const vec< int, Dim > & sizes )

Member Function Documentation

◆ done()

template<unsigned Dim>
bool BrickCounter< Dim >::done ( unsigned d) const
inlineinherited

Definition at line 36 of file BrickIterator.h.

References Counters, and Counts.

Referenced by BareFieldIterator< T, Dim >::done(), and SIndexExpLoop< OP, Dim >::evaluate().

◆ getMessage()

template<class T, unsigned Dim>
Message & BrickIterator< T, Dim >::getMessage ( Message & m)

Definition at line 190 of file BrickIterator.hpp.

References BrickCounter< Dim >::Counters, BrickCounter< Dim >::Counts, Current, Dim, Message::get(), Message::item(), PInsist, and Strides.

Referenced by CompressedBrickIterator< T, Dim >::getMessage().

Here is the call graph for this function:

◆ GetOffset()

template<unsigned Dim>
int BrickCounter< Dim >::GetOffset ( unsigned d) const
inlineinherited

◆ MakeExpression()

template<class T, unsigned Dim>
PETE_Expr_t BrickIterator< T, Dim >::MakeExpression ( ) const
inline

Definition at line 176 of file BrickIterator.h.

◆ moveBy() [1/4]

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( const int * i)
inline

Definition at line 153 of file BrickIterator.h.

References BrickCounter< Dim >::Counters, Current, Dim, and Strides.

◆ moveBy() [2/4]

◆ moveBy() [3/4]

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( int i,
int j )
inline

Definition at line 140 of file BrickIterator.h.

References BrickCounter< Dim >::Counters, Current, and Strides.

◆ moveBy() [4/4]

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::moveBy ( int i,
int j,
int k )
inline

Definition at line 146 of file BrickIterator.h.

References BrickCounter< Dim >::Counters, Current, and Strides.

◆ offset() [1/4]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int * i) const
inline

Definition at line 119 of file BrickIterator.h.

References Current, vec< T, Length >::dot(), and Strides.

Here is the call graph for this function:

◆ offset() [2/4]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int i) const
inline

Definition at line 107 of file BrickIterator.h.

References Current, and Strides.

Referenced by all_values_equal(), all_values_equal(), all_values_equal(), FieldDebugWriteb(), for_each(), for_each(), for_each(), for_each(), IntCICImpl< 1U >::gather(), IntCICImpl< 1U >::gather(), IntCICImpl< 1U >::gather(), IntCICImpl< 2U >::gather(), IntCICImpl< 2U >::gather(), IntCICImpl< 2U >::gather(), IntCICImpl< 2U >::gather(), IntCICImpl< 3U >::gather(), IntCICImpl< 3U >::gather(), IntCICImpl< 3U >::gather(), IntCICImpl< 3U >::gather(), IntSUDSImpl< 1U >::gather(), IntSUDSImpl< 1U >::gather(), IntSUDSImpl< 1U >::gather(), IntSUDSImpl< 2U >::gather(), IntSUDSImpl< 2U >::gather(), IntSUDSImpl< 2U >::gather(), IntSUDSImpl< 3U >::gather(), IntSUDSImpl< 3U >::gather(), IntSUDSImpl< 3U >::gather(), IntTSCImpl< 1U >::gather(), IntTSCImpl< 1U >::gather(), IntTSCImpl< 1U >::gather(), IntTSCImpl< 2U >::gather(), IntTSCImpl< 2U >::gather(), IntTSCImpl< 2U >::gather(), IntTSCImpl< 3U >::gather(), IntTSCImpl< 3U >::gather(), IntTSCImpl< 3U >::gather(), IntCICImpl< 1U >::scatter(), IntCICImpl< 1U >::scatter(), IntCICImpl< 1U >::scatter(), IntCICImpl< 2U >::scatter(), IntCICImpl< 2U >::scatter(), IntCICImpl< 2U >::scatter(), IntCICImpl< 2U >::scatter(), IntCICImpl< 3U >::scatter(), IntCICImpl< 3U >::scatter(), IntCICImpl< 3U >::scatter(), IntCICImpl< 3U >::scatter(), IntSUDSImpl< 1U >::scatter(), IntSUDSImpl< 1U >::scatter(), IntSUDSImpl< 1U >::scatter(), IntSUDSImpl< 2U >::scatter(), IntSUDSImpl< 2U >::scatter(), IntSUDSImpl< 2U >::scatter(), IntSUDSImpl< 3U >::scatter(), IntSUDSImpl< 3U >::scatter(), IntSUDSImpl< 3U >::scatter(), IntTSCImpl< 1U >::scatter(), IntTSCImpl< 1U >::scatter(), IntTSCImpl< 1U >::scatter(), IntTSCImpl< 2U >::scatter(), IntTSCImpl< 2U >::scatter(), IntTSCImpl< 2U >::scatter(), IntTSCImpl< 3U >::scatter(), IntTSCImpl< 3U >::scatter(), and IntTSCImpl< 3U >::scatter().

◆ offset() [3/4]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int i,
int j ) const
inline

Definition at line 111 of file BrickIterator.h.

References Current, and Strides.

◆ offset() [4/4]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::offset ( int i,
int j,
int k ) const
inline

Definition at line 115 of file BrickIterator.h.

References Current, and Strides.

◆ op_pp()

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::op_pp ( )
protected

Definition at line 111 of file BrickIterator.hpp.

References BrickCounter< Dim >::Counters, BrickCounter< Dim >::Counts, Current, Dim, rewind(), and step().

Referenced by operator++().

Here is the call graph for this function:

◆ operator!=()

template<class T, unsigned Dim>
bool BrickIterator< T, Dim >::operator!= ( const BrickIterator< T, Dim > & a) const
inline

Definition at line 83 of file BrickIterator.h.

References a, BrickIterator(), and Current.

Here is the call graph for this function:

◆ operator*()

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::operator* ( ) const
inline

Definition at line 89 of file BrickIterator.h.

References Current.

Referenced by BareFieldIterator< T, Dim >::operator*().

◆ operator++()

template<class T, unsigned Dim>
BrickIterator & BrickIterator< T, Dim >::operator++ ( )
inline

Definition at line 73 of file BrickIterator.h.

References BrickIterator(), and op_pp().

Here is the call graph for this function:

◆ operator==()

template<class T, unsigned Dim>
bool BrickIterator< T, Dim >::operator== ( const BrickIterator< T, Dim > & a) const
inline

Definition at line 79 of file BrickIterator.h.

References a, BrickIterator(), and Current.

Here is the call graph for this function:

◆ putMessage()

template<class T, unsigned Dim>
Message & BrickIterator< T, Dim >::putMessage ( Message & m,
bool makecopy = true )

Definition at line 139 of file BrickIterator.hpp.

References BrickIterator(), BrickCounter< Dim >::Counts, Current, Dim, Message::put(), Message::putmsg(), Message::setCopy(), Message::setDelete(), and whole().

Referenced by CompressedBrickIterator< T, Dim >::putMessage().

Here is the call graph for this function:

◆ rewind()

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::rewind ( unsigned d)
inline

Definition at line 100 of file BrickIterator.h.

References BrickCounter< Dim >::Counts, Current, BrickCounter< Dim >::rewind(), and Strides.

Referenced by for_each(), for_each(), for_each(), and op_pp().

Here is the call graph for this function:

◆ size()

template<unsigned Dim>
int BrickCounter< Dim >::size ( unsigned d) const
inlineinherited

◆ step()

template<class T, unsigned Dim>
void BrickIterator< T, Dim >::step ( unsigned d)
inline

Definition at line 95 of file BrickIterator.h.

References Current, BrickCounter< Dim >::step(), and Strides.

Referenced by all_values_equal(), for_each(), for_each(), for_each(), and op_pp().

Here is the call graph for this function:

◆ Stride()

template<class T, unsigned Dim>
int BrickIterator< T, Dim >::Stride ( int i) const
inline

Definition at line 160 of file BrickIterator.h.

References Strides.

Referenced by for_each(), for_each(), and for_each().

◆ unit_offset() [1/3]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int i) const
inline

Definition at line 123 of file BrickIterator.h.

References Current.

Referenced by for_each(), and for_each().

◆ unit_offset() [2/3]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int i,
int j ) const
inline

Definition at line 127 of file BrickIterator.h.

References Current, and Strides.

◆ unit_offset() [3/3]

template<class T, unsigned Dim>
T & BrickIterator< T, Dim >::unit_offset ( int i,
int j,
int k ) const
inline

Definition at line 131 of file BrickIterator.h.

References Current, and Strides.

◆ whole()

template<class T, unsigned Dim>
bool BrickIterator< T, Dim >::whole ( ) const
inline

Definition at line 76 of file BrickIterator.h.

References Whole.

Referenced by putMessage(), and DiscField< Dim >::write_offset_and_data().

Member Data Documentation

◆ Counters

◆ Counts

◆ Current

◆ Strides

◆ Whole

template<class T, unsigned Dim>
bool BrickIterator< T, Dim >::Whole
protected

Definition at line 182 of file BrickIterator.h.

Referenced by BrickIterator(), BrickIterator(), BrickIterator(), and whole().


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