OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
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 >:
Collaboration diagram for Expressions::ARefExpr< T >:

Public Member Functions

 ARefExpr (const std::string &objName, const std::string &attName)
 Constructor.
 ARefExpr (const ARefExpr< T > &rhs)
virtual ~ARefExpr ()
virtual OArray< T > * clone () const
 Make clone.
virtual std::vector< Tevaluate () const
 Evaluate the reference and return the value referred to.
virtual void print (std::ostream &os, int precedence=99) const
 Print expression.
virtual bool isConstant () const
 Test for constant.
virtual void invalidate ()
 Force re-evaluation.

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.

References att_name, itsAttr, itsObject, and obj_name.

Referenced by ARefExpr(), clone(), fill(), and operator=().

Here is the caller graph for this function:

◆ ARefExpr() [2/2]

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

Definition at line 96 of file ARefExpr.h.

References ARefExpr(), att_name, itsAttr, itsObject, Expressions::OArray< T >::OArray(), and obj_name.

Here is the call graph for this function:

◆ ~ARefExpr()

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

Definition at line 104 of file ARefExpr.h.

References itsObject.

Member Function Documentation

◆ clone()

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

Make clone.

Implements Expressions::OArray< T >.

Definition at line 110 of file ARefExpr.h.

References ARefExpr(), and Expressions::OArray< T >::OArray().

Here is the call graph for this function:

◆ evaluate()

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

Evaluate the reference and return the value referred to.

Implements Expressions::OArray< T >.

Definition at line 116 of file ARefExpr.h.

References fill(), getImage(), and itsAttr.

Here is the call graph for this function:

◆ fill()

template<class T>
void Expressions::ARefExpr< T >::fill ( ) const
private

Definition at line 151 of file ARefExpr.h.

References ARefExpr(), att_name, OpalData::find(), OpalData::getInstance(), itsAttr, itsObject, and obj_name.

Referenced by evaluate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getImage()

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

Definition at line 135 of file ARefExpr.h.

References print().

Referenced by evaluate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ invalidate()

void Invalidator::invalidate ( )
virtualinherited

◆ isConstant()

template<class T>
bool Expressions::OArray< T >::isConstant ( ) const
inlinevirtualinherited

Test for constant.

Definition at line 306 of file AbstractObjects/Expressions.h.

◆ operator=()

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

References ARefExpr().

Here is the call graph for this function:

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

References att_name, and obj_name.

Referenced by getImage().

Here is the caller graph for this function:

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.

Referenced by ARefExpr(), ARefExpr(), fill(), and print().

◆ itsAttr

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

Definition at line 80 of file ARefExpr.h.

Referenced by ARefExpr(), ARefExpr(), evaluate(), and fill().

◆ itsObject

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

Definition at line 79 of file ARefExpr.h.

Referenced by ARefExpr(), ARefExpr(), fill(), and ~ARefExpr().

◆ obj_name

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

Definition at line 75 of file ARefExpr.h.

Referenced by ARefExpr(), ARefExpr(), fill(), and print().


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