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

#include <SubFieldIter.h>

Inheritance diagram for SubFieldIter< T, Dim, SIndex< Dim > >:
Collaboration diagram for SubFieldIter< T, Dim, SIndex< Dim > >:

Public Types

enum  { IsExpr = 1 }
typedef SIndex< DimSubset_t
typedef SubFieldIter< T, Dim, Subset_tSFI
typedef SFI PETE_Expr_t
typedef T PETE_Return_t
enum  
typedef SubFieldIter< T, Dim, SIndex< Dim > > Wrapped

Public Member Functions

 SubFieldIter (const BareField< T, Dim > &df, const typename BareField< T, Dim >::iterator_if &ldf, const SIndex< Dim > &s, unsigned int B)
 SubFieldIter ()
 ~SubFieldIter ()
BareField< T, Dim >::iterator_if nextLField ()
void initialize ()
bool findIntersection (const NDIndex< Dim > &, NDIndex< Dim > &inter)
bool plugBase (const NDIndex< Dim > &)
void rewind (unsigned)
void step (unsigned int)
void step (unsigned int, int)
int size (unsigned d) const
T & operator* ()
T & offset ()
T & offset (int i)
T & unit_offset (int i)
int Stride (int)
bool CanCompress () const
void Compress (T)
bool TryCompress ()
bool TryCompress (T)
bool IsCompressed () const
bool DomainCompressed () const
PETE_Expr_t MakeExpression () const
BareField< T, Dim > & getBareField ()
BareField< T, Dim >::iterator_if getLFieldIter () const
SIndex< Dim > & getDomain ()
bool checkBrackets () const
unsigned int getBrackets () const
LField< T, Dim > * getLField ()
void setLField (LField< T, Dim > *p)
void setLFieldData (LField< T, Dim > *p, NDIndex< Dim > &)
void FillGCIfNecessary () const
SubFieldIter< T, Dim, SIndex< Dim > > & PETE_unwrap ()

Static Public Member Functions

static int getSubsetType ()
static bool matchType (int t)
static void makeNDIndex (const Subset_t &s, NDIndex< Dim > &i)

Private Member Functions

void computeLSOffset ()

Private Attributes

Subset_t::iterator_iv ComponentLF
SOffset< DimLFOffset
BareField< T, Dim > * MyBareField
SIndex< Dim > * MyDomain
LField< T, Dim > * LFPtr
BareField< T, Dim >::iterator_if CurrentLField
unsigned int MyBrackets

Detailed Description

template<class T, unsigned int Dim>
class SubFieldIter< T, Dim, SIndex< Dim > >

Definition at line 394 of file SubFieldIter.h.

Member Typedef Documentation

◆ PETE_Expr_t

template<class T, unsigned int Dim>
typedef SFI SubFieldIter< T, Dim, SIndex< Dim > >::PETE_Expr_t

Definition at line 500 of file SubFieldIter.h.

◆ PETE_Return_t

template<class T, unsigned int Dim>
typedef T SubFieldIter< T, Dim, SIndex< Dim > >::PETE_Return_t

Definition at line 501 of file SubFieldIter.h.

◆ SFI

template<class T, unsigned int Dim>
typedef SubFieldIter<T, Dim, Subset_t> SubFieldIter< T, Dim, SIndex< Dim > >::SFI

Definition at line 401 of file SubFieldIter.h.

◆ Subset_t

template<class T, unsigned int Dim>
typedef SIndex<Dim> SubFieldIter< T, Dim, SIndex< Dim > >::Subset_t

Definition at line 400 of file SubFieldIter.h.

◆ Wrapped

typedef SubFieldIter< T, Dim, SIndex< Dim > > PETE_Expr< SubFieldIter< T, Dim, SIndex< Dim > > >::Wrapped
inherited

Definition at line 79 of file PETE.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T, unsigned int Dim>
anonymous enum
Enumerator
IsExpr 

Definition at line 499 of file SubFieldIter.h.

◆ anonymous enum

anonymous enum
inherited

Definition at line 127 of file SubFieldIter.h.

Constructor & Destructor Documentation

◆ SubFieldIter() [1/2]

template<class T, unsigned int Dim>
SubFieldIter< T, Dim, SIndex< Dim > >::SubFieldIter ( const BareField< T, Dim > & df,
const typename BareField< T, Dim >::iterator_if & ldf,
const SIndex< Dim > & s,
unsigned int B )
inline

Definition at line 404 of file SubFieldIter.h.

References ComponentLF, computeLSOffset(), Dim, SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getDomain(), and SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::SubFieldIterBase().

Here is the call graph for this function:

◆ SubFieldIter() [2/2]

template<class T, unsigned int Dim>
SubFieldIter< T, Dim, SIndex< Dim > >::SubFieldIter ( )
inline

Definition at line 413 of file SubFieldIter.h.

◆ ~SubFieldIter()

template<class T, unsigned int Dim>
SubFieldIter< T, Dim, SIndex< Dim > >::~SubFieldIter ( )
inline

Definition at line 416 of file SubFieldIter.h.

Member Function Documentation

◆ CanCompress()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::CanCompress ( ) const
inline

Definition at line 488 of file SubFieldIter.h.

◆ checkBrackets()

bool SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::checkBrackets ( ) const
inlineinherited

Definition at line 166 of file SubFieldIter.h.

◆ Compress()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::Compress ( T )
inline

Definition at line 489 of file SubFieldIter.h.

◆ computeLSOffset()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::computeLSOffset ( )
inlineprivate

Definition at line 511 of file SubFieldIter.h.

References Dim, SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getBareField(), SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getDomain(), SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getLField(), SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getLFieldIter(), and LFOffset.

Referenced by nextLField(), and SubFieldIter().

Here is the call graph for this function:

◆ DomainCompressed()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::DomainCompressed ( ) const
inline

Definition at line 493 of file SubFieldIter.h.

◆ FillGCIfNecessary()

void SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::FillGCIfNecessary ( ) const
inlineinherited

Definition at line 219 of file SubFieldIter.h.

◆ findIntersection()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::findIntersection ( const NDIndex< Dim > & ,
NDIndex< Dim > & inter )
inline

Definition at line 444 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getLField().

Here is the call graph for this function:

◆ getBareField()

BareField< T, Dim > & SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::getBareField ( )
inlineinherited

◆ getBrackets()

unsigned int SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::getBrackets ( ) const
inlineinherited

Definition at line 167 of file SubFieldIter.h.

◆ getDomain()

SIndex< Dim > & SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::getDomain ( )
inlineinherited

◆ getLField()

◆ getLFieldIter()

BareField< T, Dim >::iterator_if SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::getLFieldIter ( ) const
inlineinherited

◆ getSubsetType()

template<class T, unsigned int Dim>
int SubFieldIter< T, Dim, SIndex< Dim > >::getSubsetType ( )
inlinestatic

Definition at line 433 of file SubFieldIter.h.

References SIndexSubsetType.

◆ initialize()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::initialize ( )
inline

Definition at line 439 of file SubFieldIter.h.

◆ IsCompressed()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::IsCompressed ( ) const
inline

Definition at line 492 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getLField().

Here is the call graph for this function:

◆ MakeExpression()

template<class T, unsigned int Dim>
PETE_Expr_t SubFieldIter< T, Dim, SIndex< Dim > >::MakeExpression ( ) const
inline

Definition at line 502 of file SubFieldIter.h.

◆ makeNDIndex()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::makeNDIndex ( const Subset_t & s,
NDIndex< Dim > & i )
inlinestatic

Definition at line 455 of file SubFieldIter.h.

References SIndex< Dim >::getDomain().

Here is the call graph for this function:

◆ matchType()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::matchType ( int t)
inlinestatic

Definition at line 434 of file SubFieldIter.h.

References SIndexSubsetType.

◆ nextLField()

template<class T, unsigned int Dim>
BareField< T, Dim >::iterator_if SubFieldIter< T, Dim, SIndex< Dim > >::nextLField ( )
inline

Definition at line 423 of file SubFieldIter.h.

References ComponentLF, computeLSOffset(), and SubFieldIterBase< T, Dim, S, ExprDim >::nextLField().

Here is the call graph for this function:

◆ offset() [1/2]

template<class T, unsigned int Dim>
T & SubFieldIter< T, Dim, SIndex< Dim > >::offset ( )
inline

Definition at line 478 of file SubFieldIter.h.

References offset().

Referenced by offset(), operator*(), and unit_offset().

Here is the call graph for this function:

◆ offset() [2/2]

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

Definition at line 479 of file SubFieldIter.h.

References SOffset< Dim >::begin(), SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >::getLField(), and LFOffset.

Here is the call graph for this function:

◆ operator*()

template<class T, unsigned int Dim>
T & SubFieldIter< T, Dim, SIndex< Dim > >::operator* ( )
inline

Definition at line 477 of file SubFieldIter.h.

References offset().

Here is the call graph for this function:

◆ PETE_unwrap()

SubFieldIter< T, Dim, SIndex< Dim > > & PETE_Expr< SubFieldIter< T, Dim, SIndex< Dim > > >::PETE_unwrap ( )
inlineinherited

Definition at line 81 of file PETE.h.

◆ plugBase()

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::plugBase ( const NDIndex< Dim > & )
inline

Definition at line 462 of file SubFieldIter.h.

◆ rewind()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::rewind ( unsigned )
inline

Definition at line 465 of file SubFieldIter.h.

◆ setLField()

void SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::setLField ( LField< T, Dim > * p)
inlineinherited

Definition at line 189 of file SubFieldIter.h.

◆ setLFieldData()

void SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::setLFieldData ( LField< T, Dim > * p,
NDIndex< Dim > &  )
inlineinherited

Definition at line 192 of file SubFieldIter.h.

◆ size()

template<class T, unsigned int Dim>
int SubFieldIter< T, Dim, SIndex< Dim > >::size ( unsigned d) const
inline

Definition at line 472 of file SubFieldIter.h.

◆ step() [1/2]

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::step ( unsigned int )
inline

Definition at line 468 of file SubFieldIter.h.

◆ step() [2/2]

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::step ( unsigned int ,
int  )
inline

Definition at line 469 of file SubFieldIter.h.

◆ Stride()

template<class T, unsigned int Dim>
int SubFieldIter< T, Dim, SIndex< Dim > >::Stride ( int )
inline

Definition at line 485 of file SubFieldIter.h.

◆ TryCompress() [1/2]

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::TryCompress ( )
inline

Definition at line 490 of file SubFieldIter.h.

◆ TryCompress() [2/2]

template<class T, unsigned int Dim>
bool SubFieldIter< T, Dim, SIndex< Dim > >::TryCompress ( T )
inline

Definition at line 491 of file SubFieldIter.h.

◆ unit_offset()

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

Definition at line 484 of file SubFieldIter.h.

References offset().

Here is the call graph for this function:

Member Data Documentation

◆ ComponentLF

template<class T, unsigned int Dim>
Subset_t::iterator_iv SubFieldIter< T, Dim, SIndex< Dim > >::ComponentLF
private

Definition at line 505 of file SubFieldIter.h.

Referenced by nextLField(), and SubFieldIter().

◆ CurrentLField

BareField<T,Dim>::iterator_if SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::CurrentLField
privateinherited

Definition at line 239 of file SubFieldIter.h.

◆ LFOffset

template<class T, unsigned int Dim>
SOffset<Dim> SubFieldIter< T, Dim, SIndex< Dim > >::LFOffset
private

Definition at line 506 of file SubFieldIter.h.

Referenced by computeLSOffset(), and offset().

◆ LFPtr

LField<T,Dim>* SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::LFPtr
privateinherited

Definition at line 236 of file SubFieldIter.h.

◆ MyBareField

BareField<T,Dim>* SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::MyBareField
privateinherited

Definition at line 228 of file SubFieldIter.h.

◆ MyBrackets

unsigned int SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::MyBrackets
privateinherited

Definition at line 242 of file SubFieldIter.h.

◆ MyDomain

SIndex< Dim >* SubFieldIterBase< T, Dim, SIndex< Dim >, ExprDim >::MyDomain
privateinherited

Definition at line 231 of file SubFieldIter.h.


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