OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BareFieldIterator< T, Dim > Class Template Reference

#include <BareFieldIterator.h>

Inheritance diagram for BareFieldIterator< T, Dim >:
Inheritance graph
[legend]
Collaboration diagram for BareFieldIterator< T, Dim >:
Collaboration graph
[legend]

Public Types

typedef T return_type
 
- Public Types inherited from BrickIterator< T, Dim >
typedef T PETE_Return_t
 
typedef BrickIterator< T, DimPETE_Expr_t
 

Public Member Functions

 BareFieldIterator ()
 
 BareFieldIterator (BareField< T, Dim > &df)
 
 BareFieldIterator (const FieldLoc< Dim > &loc, BareField< T, Dim > &df)
 
 BareFieldIterator (const BareFieldIterator< T, Dim > &iter)
 
 ~BareFieldIterator ()
 
const BareFieldIterator< T, Dim > & operator= (const BareFieldIterator< T, Dim > &rhs)
 
void SetCurrentLocation (const FieldLoc< Dim > &loc)
 
void GetCurrentLocation (FieldLoc< Dim > &loc) const
 
void GetCurrentLocation (int *loc) const
 
BareFieldIterator< T, Dim > & operator++ ()
 
T & operator* () const
 
void nextLField ()
 
bool done () const
 
bool done (unsigned d) const
 
void beginLField ()
 
bool IsCompressed () const
 
bool CanCompress () const
 
void Compress ()
 
void Compress (T val)
 
bool TryCompress ()
 
BareField< T, Dim > & GetBareField ()
 
const BareField< T, Dim > & GetBareField () const
 
void prepareForScalarCode (bool tryfill=true)
 
void finishScalarCode (bool modified=true)
 
- Public Member Functions inherited from CompressedBrickIterator< T, Dim >
 CompressedBrickIterator (T *t, const NDIndex< Dim > &c, const NDIndex< Dim > &a, T &compressed)
 
 CompressedBrickIterator (T *t, const vec< int, Dim > &v, T &compressed)
 
 CompressedBrickIterator (T &t)
 
 CompressedBrickIterator ()
 
 CompressedBrickIterator (const NDIndex< Dim > &a, T &compressed)
 
 CompressedBrickIterator (const BrickIterator< T, Dim > &x, T &compressed)
 
bool IsCompressed () const
 
bool CanCompress (const T &) const
 
void Compress (T &val)
 
bool TryCompress ()
 
bool TryCompress (T val)
 
const CompressedBrickIterator< T, Dim > & operator= (const CompressedBrickIterator< T, Dim > &rhs)
 
 CompressedBrickIterator (const CompressedBrickIterator< T, Dim > &X)
 
MessageputMessage (Message &m, bool makecopy=true)
 
MessagegetMessage (Message &m)
 
CompressedBrickIterator< T, 1 > permute (NDIndex< Dim > &current, NDIndex< 1 > &permuted) const
 
CompressedBrickIterator< T, 2 > permute (NDIndex< Dim > &current, NDIndex< 2 > &permuted) const
 
CompressedBrickIterator< T, 3 > permute (NDIndex< Dim > &current, NDIndex< 3 > &permuted) const
 
CompressedBrickIterator< T, 4 > permute (NDIndex< Dim > &current, NDIndex< 4 > &permuted) const
 
CompressedBrickIterator< T, 5 > permute (NDIndex< Dim > &current, NDIndex< 5 > &permuted) const
 
CompressedBrickIterator< T, 6 > permute (NDIndex< Dim > &current, NDIndex< 6 > &permuted) const
 
void SetCurrent (T *p)
 
void SetCount (int d, int count)
 
void ResetCounter (int d)
 
void SetStride (int d, int stride)
 
int GetStride (int d) const
 
T & GetCompressedData () const
 
void SetCompressedData (T *newData)
 
- Public Member Functions inherited from BrickIterator< T, Dim >
 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
 
- Public Member Functions inherited from BrickCounter< Dim >
 BrickCounter ()
 
 BrickCounter (const NDIndex< Dim > &)
 
BrickCounteroperator++ ()
 
bool done (unsigned d) const
 
void step (unsigned d)
 
void rewind (unsigned d)
 
int size (unsigned d) const
 
int GetOffset (unsigned d) const
 

Protected Member Functions

void general_increment ()
 
bool isInGC () const
 
- Protected Member Functions inherited from BrickIterator< T, Dim >
void op_pp ()
 
- Protected Member Functions inherited from BrickCounter< Dim >
void op_pp ()
 

Protected Attributes

BareField< T, Dim >::iterator_if CurrentLField
 
BareField< T, Dim > * MyBareField
 
dummy_compressed_data
 
int LFIndex
 
- Protected Attributes inherited from BrickIterator< T, Dim >
T *__restrict__ Current
 
vec< int, DimStrides
 
bool Whole
 
- Protected Attributes inherited from BrickCounter< Dim >
vec< int, DimCounters
 
vec< int, DimCounts
 

Detailed Description

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

Definition at line 39 of file BareFieldIterator.h.

Member Typedef Documentation

◆ return_type

template<class T , unsigned Dim>
typedef T BareFieldIterator< T, Dim >::return_type

Definition at line 44 of file BareFieldIterator.h.

Constructor & Destructor Documentation

◆ BareFieldIterator() [1/4]

template<class T , unsigned Dim>
BareFieldIterator< T, Dim >::BareFieldIterator ( )
inline

Definition at line 47 of file BareFieldIterator.h.

◆ BareFieldIterator() [2/4]

template<class T , unsigned Dim>
BareFieldIterator< T, Dim >::BareFieldIterator ( BareField< T, Dim > &  df)
inline

Definition at line 58 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::beginLField().

Here is the call graph for this function:

◆ BareFieldIterator() [3/4]

template<class T , unsigned Dim>
BareFieldIterator< T, Dim >::BareFieldIterator ( const FieldLoc< Dim > &  loc,
BareField< T, Dim > &  df 
)
inline

Definition at line 74 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::SetCurrentLocation().

Here is the call graph for this function:

◆ BareFieldIterator() [4/4]

template<class T , unsigned Dim>
BareFieldIterator< T, Dim >::BareFieldIterator ( const BareFieldIterator< T, Dim > &  iter)
inline

Definition at line 88 of file BareFieldIterator.h.

◆ ~BareFieldIterator()

template<class T , unsigned Dim>
BareFieldIterator< T, Dim >::~BareFieldIterator ( )
inline

Definition at line 99 of file BareFieldIterator.h.

Member Function Documentation

◆ beginLField()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::beginLField ( )
inline

◆ CanCompress()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::CanCompress ( ) const
inline

Definition at line 225 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ Compress() [1/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::Compress ( )
inline

Definition at line 233 of file BareFieldIterator.h.

◆ Compress() [2/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::Compress ( val)
inline

Definition at line 239 of file BareFieldIterator.h.

◆ done() [1/2]

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::done ( ) const
inline

◆ done() [2/2]

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::done ( unsigned  d) const
inline

Definition at line 201 of file BareFieldIterator.h.

References BrickCounter< Dim >::done().

Here is the call graph for this function:

◆ finishScalarCode()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::finishScalarCode ( bool  modified = true)
inline

Definition at line 287 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ general_increment()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::general_increment ( )
inlineprotected

Definition at line 309 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::beginLField(), and BareFieldIterator< T, Dim >::nextLField().

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

Here is the call graph for this function:

◆ GetBareField() [1/2]

template<class T , unsigned Dim>
BareField< T, Dim > & BareFieldIterator< T, Dim >::GetBareField ( )
inline

◆ GetBareField() [2/2]

template<class T , unsigned Dim>
const BareField< T, Dim > & BareFieldIterator< T, Dim >::GetBareField ( ) const
inline

Definition at line 258 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ GetCurrentLocation() [1/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::GetCurrentLocation ( FieldLoc< Dim > &  loc) const
inline

◆ GetCurrentLocation() [2/2]

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::GetCurrentLocation ( int *  loc) const
inline

Definition at line 162 of file BareFieldIterator.h.

References Dim, and BrickCounter< Dim >::GetOffset().

Here is the call graph for this function:

◆ IsCompressed()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::IsCompressed ( ) const
inline

Definition at line 217 of file BareFieldIterator.h.

References CompressedBrickIterator< T, Dim >::IsCompressed(), and PAssert_EQ.

Referenced by for_each().

Here is the call graph for this function:

◆ isInGC()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::isInGC ( ) const
inlineprotected

Definition at line 317 of file BareFieldIterator.h.

References Dim, and BrickCounter< Dim >::GetOffset().

Here is the call graph for this function:

◆ nextLField()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::nextLField ( )
inline

◆ operator*()

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

Definition at line 179 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, BrickIterator< T, Dim >::operator*(), and PAssert.

Here is the call graph for this function:

◆ operator++()

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

Definition at line 170 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::general_increment(), and BrickIterator< T, Dim >::operator++().

Here is the call graph for this function:

◆ operator=()

template<class T , unsigned Dim>
const BareFieldIterator< T, Dim > & BareFieldIterator< T, Dim >::operator= ( const BareFieldIterator< T, Dim > &  rhs)
inline

◆ prepareForScalarCode()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::prepareForScalarCode ( bool  tryfill = true)
inline

Definition at line 276 of file BareFieldIterator.h.

References BareFieldIterator< T, Dim >::MyBareField, and PAssert.

◆ SetCurrentLocation()

template<class T , unsigned Dim>
void BareFieldIterator< T, Dim >::SetCurrentLocation ( const FieldLoc< Dim > &  loc)
inline

◆ TryCompress()

template<class T , unsigned Dim>
bool BareFieldIterator< T, Dim >::TryCompress ( )
inline

Definition at line 245 of file BareFieldIterator.h.

Member Data Documentation

◆ CurrentLField

template<class T , unsigned Dim>
BareField<T,Dim>::iterator_if BareFieldIterator< T, Dim >::CurrentLField
protected

◆ dummy_compressed_data

template<class T , unsigned Dim>
T BareFieldIterator< T, Dim >::dummy_compressed_data
protected

Definition at line 301 of file BareFieldIterator.h.

◆ LFIndex

template<class T , unsigned Dim>
int BareFieldIterator< T, Dim >::LFIndex
protected

◆ MyBareField

template<class T , unsigned Dim>
BareField<T,Dim>* BareFieldIterator< T, Dim >::MyBareField
protected

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