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

#include <SubFieldIter.h>

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

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
 
- Public Types inherited from SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >
enum  
 
- Public Types inherited from PETE_Expr< SubFieldIter< T, Dim, NDIndex< Dim > > >
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
 
- Public Member Functions inherited from SubFieldIterBase< T, Dim, NDIndex< Dim >, Dim >
 SubFieldIterBase (const BareField< T, Dim > &df, const typename BareField< T, Dim >::iterator_if &ldf, const NDIndex< Dim > &s, unsigned int B)
 
 SubFieldIterBase ()
 
 ~SubFieldIterBase ()
 
BareField< T, Dim > & getBareField ()
 
const BareField< T, Dim > & getBareField () const
 
BareField< T, Dim >::iterator_if getLFieldIter () const
 
NDIndex< Dim > & getDomain ()
 
const NDIndex< Dim > & getDomain () const
 
bool checkBrackets () const
 
unsigned int getBrackets () const
 
BareField< T, Dim >::iterator_if nextLField ()
 
LField< T, Dim > * getLField ()
 
const LField< T, Dim > * getLField () const
 
void setLField (LField< T, Dim > *p)
 
void setLFieldData (LField< T, Dim > *p, NDIndex< Dim > &)
 
void FillGCIfNecessary () const
 
- Public Member Functions inherited from PETE_Expr< SubFieldIter< T, Dim, NDIndex< Dim > > >
SubFieldIter< T, Dim, NDIndex< Dim > > & PETE_unwrap ()
 
const SubFieldIter< T, Dim, NDIndex< Dim > > & PETE_unwrap () const
 

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
 

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.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 377 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.

◆ 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.

◆ Compress()

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

Definition at line 364 of file SubFieldIter.h.

◆ DomainCompressed()

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

Definition at line 371 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 NDIndex< Dim >::intersect().

Here is the call graph for this function:

◆ getSubsetType()

template<class T , unsigned int Dim>
static 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 PAssert_EQ.

◆ 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>
static 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>
static bool SubFieldIter< T, Dim, NDIndex< Dim > >::matchType ( int  t)
inlinestatic

Definition at line 295 of file SubFieldIter.h.

References NDIndexSubsetType.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ operator*()

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

Definition at line 352 of file SubFieldIter.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 PInsist, and NDIndex< Dim >::plugBase().

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.

◆ 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 Hypervolume::n, and SubFieldIterBase< T, Dim, S, ExprDim >::setLFieldData().

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.

◆ 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.

◆ 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 Hypervolume::n.

◆ 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.

◆ 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.

◆ TryCompress() [2/2]

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

Definition at line 366 of file SubFieldIter.h.

◆ 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.

◆ 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.

◆ 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.

Member Data Documentation

◆ P

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

Definition at line 384 of file SubFieldIter.h.


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