OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
Expressions::Indexer< T > Class Template Reference

A scalar expression to retrieve an indexed component from an array. More...

#include <Indexer.h>

Inheritance diagram for Expressions::Indexer< T >:
Inheritance graph
Collaboration diagram for Expressions::Indexer< T >:
Collaboration graph

Public Member Functions

 Indexer (PtrToArray< T > array, PtrToScalar< double > index)
 Constructor. More...
 
 Indexer (const Indexer< T > &)
 
virtual ~Indexer ()
 
virtual Scalar< T > * clone () const
 Make clone. More...
 
virtual T evaluate () const
 Evaluate. More...
 
virtual void print (std::ostream &str, int precedence=99) const
 Print expression. More...
 
virtual bool isConstant () const
 Test for constant. More...
 

Private Member Functions

 Indexer ()
 
void operator= (const Indexer &)
 

Private Attributes

PtrToArray< Tlft
 
PtrToScalar< double > rgt
 

Detailed Description

template<class T>
class Expressions::Indexer< T >

A scalar expression to retrieve an indexed component from an array.

Definition at line 40 of file Indexer.h.

Constructor & Destructor Documentation

◆ Indexer() [1/3]

template<class T >
Expressions::Indexer< T >::Indexer ( PtrToArray< T array,
PtrToScalar< double >  index 
)
inline

Constructor.

Definition at line 83 of file Indexer.h.

◆ Indexer() [2/3]

template<class T >
Expressions::Indexer< T >::Indexer ( const Indexer< T > &  )

◆ ~Indexer()

template<class T >
Expressions::Indexer< T >::~Indexer
inlinevirtual

Definition at line 89 of file Indexer.h.

◆ Indexer() [3/3]

template<class T >
Expressions::Indexer< T >::Indexer ( )
private

Member Function Documentation

◆ clone()

template<class T >
Scalar< T > * Expressions::Indexer< T >::clone
inlinevirtual

Make clone.

Implements Expressions::Scalar< T >.

Definition at line 94 of file Indexer.h.

◆ evaluate()

template<class T >
T Expressions::Indexer< T >::evaluate
inlinevirtual

Evaluate.

Implements Expressions::Scalar< T >.

Definition at line 100 of file Indexer.h.

◆ isConstant()

template<class T >
bool Expressions::Scalar< T >::isConstant
inlinevirtualinherited

◆ operator=()

template<class T >
void Expressions::Indexer< T >::operator= ( const Indexer< T > &  )
private

◆ print()

template<class T >
void Expressions::Indexer< T >::print ( std::ostream &  str,
int  precedence = 99 
) const
inlinevirtual

Print expression.

Implements Expressions::Scalar< T >.

Definition at line 113 of file Indexer.h.

Member Data Documentation

◆ lft

template<class T >
PtrToArray<T> Expressions::Indexer< T >::lft
private

Definition at line 67 of file Indexer.h.

◆ rgt

template<class T >
PtrToScalar<double> Expressions::Indexer< T >::rgt
private

Definition at line 68 of file Indexer.h.


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