OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Expressions::SRefExpr< T > Class Template Reference

An expression defined as a reference to a scalar. More...

#include <SRefExpr.h>

Inheritance diagram for Expressions::SRefExpr< T >:
Inheritance graph
[legend]
Collaboration diagram for Expressions::SRefExpr< T >:
Collaboration graph
[legend]

Public Member Functions

 SRefExpr (const std::string &objName, const std::string &attName)
 Constructor. More...
 
 SRefExpr (const SRefExpr< T > &rhs)
 
virtual ~SRefExpr ()
 
virtual Scalar< T > * clone () const
 Make clone. More...
 
virtual T evaluate () const
 Evaluate. More...
 
virtual void invalidate ()
 Invalidate. More...
 
virtual void print (std::ostream &os, 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...
 
virtual void invalidate ()
 Force re-evaluation. More...
 

Private Member Functions

void operator= (const SRefExpr &)
 
void fill () const
 
const std::string getImage () const
 

Private Attributes

const std::string obj_name
 
const std::string att_name
 
ObjectitsObject
 
AttributeitsAttr
 

Detailed Description

template<class T>
class Expressions::SRefExpr< T >

An expression defined as a reference to a scalar.

Definition at line 41 of file SRefExpr.h.

Constructor & Destructor Documentation

◆ SRefExpr() [1/2]

template<class T >
Expressions::SRefExpr< T >::SRefExpr ( const std::string &  objName,
const std::string &  attName 
)

Constructor.

Definition at line 91 of file SRefExpr.h.

◆ SRefExpr() [2/2]

template<class T >
Expressions::SRefExpr< T >::SRefExpr ( const SRefExpr< T > &  rhs)

Definition at line 99 of file SRefExpr.h.

◆ ~SRefExpr()

template<class T >
Expressions::SRefExpr< T >::~SRefExpr
virtual

Definition at line 107 of file SRefExpr.h.

Member Function Documentation

◆ clone()

template<class T >
Scalar< T > * Expressions::SRefExpr< T >::clone
virtual

Make clone.

Implements Expressions::Scalar< T >.

Definition at line 113 of file SRefExpr.h.

◆ evaluate()

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

Evaluate.

Implements Expressions::Scalar< T >.

Definition at line 119 of file SRefExpr.h.

References Attrib::Legacy::Distribution::T.

◆ fill()

template<class T >
void Expressions::SRefExpr< T >::fill
private

Definition at line 160 of file SRefExpr.h.

References OpalData::find(), and OpalData::getInstance().

Here is the call graph for this function:

◆ getImage()

template<class T >
const std::string Expressions::SRefExpr< T >::getImage
private

Definition at line 136 of file SRefExpr.h.

◆ invalidate()

template<class T >
void Expressions::SRefExpr< T >::invalidate
virtual

Invalidate.

Reimplemented from Invalidator.

Definition at line 145 of file SRefExpr.h.

◆ operator=()

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

◆ print()

template<class T >
void Expressions::SRefExpr< T >::print ( std::ostream &  os,
int  precedence = 99 
) const
virtual

Print expression.

Implements Expressions::Scalar< T >.

Definition at line 152 of file SRefExpr.h.

Member Data Documentation

◆ att_name

template<class T >
const std::string Expressions::SRefExpr< T >::att_name
private

Definition at line 79 of file SRefExpr.h.

◆ itsAttr

template<class T >
Attribute* Expressions::SRefExpr< T >::itsAttr
mutableprivate

Definition at line 83 of file SRefExpr.h.

◆ itsObject

template<class T >
Object* Expressions::SRefExpr< T >::itsObject
mutableprivate

Definition at line 82 of file SRefExpr.h.

◆ obj_name

template<class T >
const std::string Expressions::SRefExpr< T >::obj_name
private

Definition at line 78 of file SRefExpr.h.


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