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

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

#include <SRefAttr.h>

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

Public Member Functions

 SRefAttr (const std::string &oName, const std::string &aName, int index)
 Constructor.
 
 SRefAttr (const SRefAttr &)
 
virtual ~SRefAttr ()
 
virtual SRefAttr< T > * clone () const
 Make clone.
 
virtual T evaluate () const
 Evaluate.
 
virtual double getReal ()
 Return real value.
 
virtual void invalidate ()
 Invalidate.
 
virtual void print (std::ostream &) const
 Print the reference.
 
virtual void set (const T &) const
 Store new value.
 
double getReal ()
 
- Public Member Functions inherited from AttributeBase
 AttributeBase ()
 
virtual ~AttributeBase ()
 
std::string getImage () const
 Convert to string.
 
virtual bool isExpression () const
 Test for expression.
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count.
 
int removeReference () const
 Decrement the reference count.
 
bool isShared () const
 Test for sharing.
 
- Public Member Functions inherited from Invalidator
virtual ~Invalidator ()=default
 

Private Member Functions

 SRefAttr ()
 
void operator= (const SRefAttr &)
 
void fill () const
 

Private Attributes

const std::string obj_name
 
const std::string att_name
 
const int itsIndex
 
Object * itsObject
 
Attribute * itsAttr
 

Static Private Attributes

static const std::string typeName
 

Additional Inherited Members

- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor.
 
 RCObject (const RCObject &)
 Copy constructor.
 
virtual ~RCObject ()=0
 
RCObject & operator= (const RCObject &right)
 

Detailed Description

template<class T>
class Expressions::SRefAttr< T >

An attribute defined as a reference to a scalar.

Definition at line 48 of file SRefAttr.h.

Constructor & Destructor Documentation

◆ SRefAttr() [1/3]

template<class T >
Expressions::SRefAttr< T >::SRefAttr ( const std::string &  oName,
const std::string &  aName,
int  index 
)

Constructor.

Definition at line 116 of file SRefAttr.h.

◆ SRefAttr() [2/3]

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

Definition at line 123 of file SRefAttr.h.

◆ ~SRefAttr()

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

Definition at line 131 of file SRefAttr.h.

◆ SRefAttr() [3/3]

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

Member Function Documentation

◆ clone()

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

Make clone.

Implements AttributeBase.

Definition at line 138 of file SRefAttr.h.

◆ evaluate()

template<class T >
T Expressions::SRefAttr< T >::evaluate ( ) const
virtual

Evaluate.

Definition at line 144 of file SRefAttr.h.

Referenced by Attributes::getBool(), Attributes::getReal(), and Attributes::getString().

◆ fill()

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

Definition at line 220 of file SRefAttr.h.

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

Here is the call graph for this function:

◆ getReal() [1/2]

template<class T >
double Expressions::SRefAttr< T >::getReal ( )
virtual

Return real value.

Definition at line 176 of file SRefAttr.h.

◆ getReal() [2/2]

double Expressions::SRefAttr< double >::getReal ( )
inline

Definition at line 183 of file SRefAttr.h.

◆ invalidate()

template<class T >
void Expressions::SRefAttr< T >::invalidate ( )
virtual

Invalidate.

Reimplemented from Invalidator.

Definition at line 198 of file SRefAttr.h.

◆ operator=()

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

◆ print()

template<class T >
void Expressions::SRefAttr< T >::print ( std::ostream &  os) const
virtual

Print the reference.

Implements AttributeBase.

Definition at line 189 of file SRefAttr.h.

◆ set()

template<class T >
void Expressions::SRefAttr< T >::set ( const T &  value) const
virtual

Member Data Documentation

◆ att_name

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

Definition at line 96 of file SRefAttr.h.

◆ itsAttr

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

Definition at line 101 of file SRefAttr.h.

◆ itsIndex

template<class T >
const int Expressions::SRefAttr< T >::itsIndex
private

Definition at line 97 of file SRefAttr.h.

◆ itsObject

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

Definition at line 100 of file SRefAttr.h.

◆ obj_name

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

Definition at line 95 of file SRefAttr.h.

◆ typeName

template<class T >
const std::string Expressions::SRefAttr< T >::typeName
staticprivate

Definition at line 92 of file SRefAttr.h.


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