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

#include <SubFieldIter.h>

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

Public Types

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

Public Member Functions

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

LField< T, Dim >::iterator P
BareField< T, Dim > * MyBareField
NDIndex< 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, NDIndex< Dim > >

Definition at line 260 of file SubFieldIter.h.

Member Typedef Documentation

◆ PETE_Expr_t

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

Definition at line 378 of file SubFieldIter.h.

◆ PETE_Return_t

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

Definition at line 379 of file SubFieldIter.h.

◆ SFI

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

Definition at line 268 of file SubFieldIter.h.

◆ Subset_t

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

Definition at line 267 of file SubFieldIter.h.

◆ Wrapped

typedef SubFieldIter< T, Dim, NDIndex< Dim > > PETE_Expr< SubFieldIter< T, Dim, NDIndex< 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 377 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, NDIndex< Dim > >::SubFieldIter ( const BareField< T, Dim > & df,
const typename BareField< T, Dim >::iterator_if & ldf,
const NDIndex< Dim > & s,
unsigned int B )
inline

Definition at line 271 of file SubFieldIter.h.

References Dim, and SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::SubFieldIterBase().

Here is the call graph for this function:

◆ SubFieldIter() [2/2]

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

Definition at line 277 of file SubFieldIter.h.

◆ ~SubFieldIter()

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

Definition at line 280 of file SubFieldIter.h.

Member Function Documentation

◆ CanCompress()

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

Definition at line 363 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField().

Here is the call graph for this function:

◆ checkBrackets()

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

Definition at line 166 of file SubFieldIter.h.

Referenced by SubFieldIter< T, Dim, NDIndex< Dim > >::plugBase().

◆ Compress()

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

Definition at line 364 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField().

Here is the call graph for this function:

◆ DomainCompressed()

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

Definition at line 371 of file SubFieldIter.h.

◆ FillGCIfNecessary()

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

Definition at line 219 of file SubFieldIter.h.

◆ findIntersection()

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

Definition at line 305 of file SubFieldIter.h.

References NDIndex< Dim >::empty(), and SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getDomain().

Here is the call graph for this function:

◆ getBareField()

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

Definition at line 153 of file SubFieldIter.h.

Referenced by SubFieldIter< T, Dim, NDIndex< Dim > >::plugBase().

◆ getBrackets()

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

Definition at line 167 of file SubFieldIter.h.

◆ getDomain()

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

◆ getLField()

◆ getLFieldIter()

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

Definition at line 157 of file SubFieldIter.h.

◆ getSubsetType()

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

Definition at line 294 of file SubFieldIter.h.

References NDIndexSubsetType.

◆ initialize()

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

Definition at line 300 of file SubFieldIter.h.

◆ IsCompressed()

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

Definition at line 367 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField(), IsCompressed(), P, and PAssert_EQ.

Referenced by IsCompressed().

Here is the call graph for this function:

◆ MakeExpression()

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

Definition at line 380 of file SubFieldIter.h.

◆ makeNDIndex()

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

Definition at line 311 of file SubFieldIter.h.

◆ matchType()

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

Definition at line 295 of file SubFieldIter.h.

References NDIndexSubsetType.

◆ nextLField()

BareField< T, Dim >::iterator_if SubFieldIterBase< T, Dim, NDIndex< Dim >, ExprDim >::nextLField ( )
inlineinherited

Definition at line 170 of file SubFieldIter.h.

◆ offset() [1/4]

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

Definition at line 353 of file SubFieldIter.h.

References P.

◆ offset() [2/4]

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

Definition at line 354 of file SubFieldIter.h.

References P.

◆ offset() [3/4]

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

Definition at line 355 of file SubFieldIter.h.

References P.

◆ offset() [4/4]

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

Definition at line 356 of file SubFieldIter.h.

References P.

◆ operator*()

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

Definition at line 352 of file SubFieldIter.h.

References P.

◆ PETE_unwrap()

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

Definition at line 81 of file PETE.h.

◆ plugBase()

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

Definition at line 316 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::checkBrackets(), SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getBareField(), SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getDomain(), PInsist, and setLFieldData().

Here is the call graph for this function:

◆ rewind()

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

Definition at line 342 of file SubFieldIter.h.

References P.

◆ setLField()

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

Definition at line 189 of file SubFieldIter.h.

◆ setLFieldData()

template<class T, unsigned int Dim>
void SubFieldIter< T, Dim, NDIndex< Dim > >::setLFieldData ( LField< T, Dim > * p,
NDIndex< Dim > & n )
inline

Definition at line 287 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField(), P, and SubFieldIterBase< T, Dim, S, ExprDim >::setLFieldData().

Referenced by plugBase().

Here is the call graph for this function:

◆ size()

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

Definition at line 349 of file SubFieldIter.h.

References P.

◆ step() [1/2]

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

Definition at line 345 of file SubFieldIter.h.

References P.

◆ step() [2/2]

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

Definition at line 346 of file SubFieldIter.h.

References P.

◆ Stride()

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

Definition at line 360 of file SubFieldIter.h.

References P.

◆ TryCompress() [1/2]

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

Definition at line 365 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField().

Here is the call graph for this function:

◆ TryCompress() [2/2]

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

Definition at line 366 of file SubFieldIter.h.

References SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >::getLField().

Here is the call graph for this function:

◆ unit_offset() [1/3]

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

Definition at line 357 of file SubFieldIter.h.

References P.

◆ unit_offset() [2/3]

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

Definition at line 358 of file SubFieldIter.h.

References P.

◆ unit_offset() [3/3]

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

Definition at line 359 of file SubFieldIter.h.

References P.

Member Data Documentation

◆ CurrentLField

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

Definition at line 239 of file SubFieldIter.h.

◆ LFPtr

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

Definition at line 236 of file SubFieldIter.h.

◆ MyBareField

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

Definition at line 228 of file SubFieldIter.h.

◆ MyBrackets

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

Definition at line 242 of file SubFieldIter.h.

◆ MyDomain

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

Definition at line 231 of file SubFieldIter.h.

◆ P

template<class T, unsigned int Dim>
LField<T,Dim>::iterator SubFieldIter< T, Dim, NDIndex< Dim > >::P
private

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