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

An expression defined as a reference to an array. More...

#include <ARefExpr.h>

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

Public Member Functions

 ARefExpr (const std::string &objName, const std::string &attName)
 Constructor. More...
 
 ARefExpr (const ARefExpr< T > &rhs)
 
virtual ~ARefExpr ()
 
virtual OArray< T > * clone () const
 Make clone. More...
 
virtual std::vector< T > evaluate () const
 Evaluate the reference and return the value referred to. More...
 
virtual void print (std::ostream &os, int precedence=99) const
 Print expression. More...
 
- Public Member Functions inherited from Expressions::OArray< T >
 OArray ()
 
 OArray (const OArray &)
 
virtual ~OArray ()
 
virtual OArray< T > * clone () const =0
 Copy expression. More...
 
virtual std::vector< 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...
 
- Public Member Functions inherited from Invalidator
virtual void invalidate ()
 Force re-evaluation. More...
 

Private Member Functions

void operator= (const ARefExpr &)
 
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::ARefExpr< T >

An expression defined as a reference to an array.

Definition at line 42 of file ARefExpr.h.

Constructor & Destructor Documentation

◆ ARefExpr() [1/2]

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

Constructor.

Definition at line 88 of file ARefExpr.h.

◆ ARefExpr() [2/2]

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

Definition at line 96 of file ARefExpr.h.

◆ ~ARefExpr()

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

Definition at line 104 of file ARefExpr.h.

Member Function Documentation

◆ clone()

template<class T >
OArray< T > * Expressions::ARefExpr< T >::clone
virtual

Make clone.

Implements Expressions::OArray< T >.

Definition at line 110 of file ARefExpr.h.

◆ evaluate()

template<class T >
std::vector< T > Expressions::ARefExpr< T >::evaluate
inlinevirtual

Evaluate the reference and return the value referred to.

Implements Expressions::OArray< T >.

Definition at line 116 of file ARefExpr.h.

◆ fill()

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

Definition at line 151 of file ARefExpr.h.

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

Here is the call graph for this function:

◆ getImage()

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

Definition at line 135 of file ARefExpr.h.

◆ operator=()

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

◆ print()

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

Print expression.

Implements Expressions::OArray< T >.

Definition at line 144 of file ARefExpr.h.

Member Data Documentation

◆ att_name

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

Definition at line 76 of file ARefExpr.h.

◆ itsAttr

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

Definition at line 80 of file ARefExpr.h.

◆ itsObject

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

Definition at line 79 of file ARefExpr.h.

◆ obj_name

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

Definition at line 75 of file ARefExpr.h.


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