OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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
[legend]
Collaboration diagram for Expressions::Indexer< T >:
Collaboration graph
[legend]

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...
 
- Public Member Functions inherited from Expressions::Scalar< T >
 Scalar ()
 
 Scalar (const Scalar &)
 
virtual ~Scalar ()
 
virtual Scalar< T > * clone () const =0
 Copy scalar expression. More...
 
virtual T evaluate () const =0
 Evaluate. More...
 
virtual bool isConstant () const
 Test for constant. More...
 
virtual void print (std::ostream &, int precedence=99) const =0
 Print expression. More...
 

Private Member Functions

 Indexer ()
 
void operator= (const Indexer &)
 

Private Attributes

PtrToArray< T > lft
 
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 > &  rhs)
inline

Definition at line 76 of file Indexer.h.

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

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