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

#include <SubFieldIter.h>

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

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
 
- Public Types inherited from SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >
enum  
 
- Public Types inherited from PETE_Expr< SubFieldIter< T, Dim, SIndex< Dim > > >
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
 
- Public Member Functions inherited from SubFieldIterBase< T, Dim, SIndex< Dim >, 1U >
 SubFieldIterBase (const BareField< T, Dim > &df, const typename BareField< T, Dim >::iterator_if &ldf, const SIndex< Dim > &s, unsigned int B)
 
 SubFieldIterBase ()
 
 ~SubFieldIterBase ()
 
BareField< T, Dim > & getBareField ()
 
const BareField< T, Dim > & getBareField () const
 
BareField< T, Dim >::iterator_if getLFieldIter () const
 
SIndex< Dim > & getDomain ()
 
const SIndex< 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, SIndex< Dim > > >
SubFieldIter< T, Dim, SIndex< Dim > > & PETE_unwrap ()
 
const SubFieldIter< T, Dim, SIndex< 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 Member Functions

void computeLSOffset ()
 

Private Attributes

Subset_t::iterator_iv ComponentLF
 
SOffset< DimLFOffset
 

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.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 499 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 SIndex< Dim >::begin_iv().

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.

◆ Compress()

template<class T , unsigned int Dim>
void SubFieldIter< T, Dim, SIndex< Dim > >::Compress ( )
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.

◆ DomainCompressed()

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

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

◆ getSubsetType()

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

◆ 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>
static 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>
static 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 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().

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().

Here is the call graph for this function:

◆ operator*()

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

Definition at line 477 of file SubFieldIter.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.

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

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.

◆ LFOffset

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

Definition at line 506 of file SubFieldIter.h.


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