OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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
Collaboration diagram for Expressions::SRefAttr< T >:
Collaboration graph

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 ()
 
std::string getImage () const
 Convert to string.
 
virtual bool isExpression () const
 Test for expression.
 

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
 
ObjectitsObject
 
AttributeitsAttr
 

Static Private Attributes

static const std::string typeName
 

Detailed Description

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

An attribute defined as a reference to a scalar.

Definition at line 47 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 110 of file SRefAttr.h.

◆ SRefAttr() [2/3]

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

Definition at line 114 of file SRefAttr.h.

◆ ~SRefAttr()

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

Definition at line 123 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 128 of file SRefAttr.h.

◆ evaluate()

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

Evaluate.

Definition at line 133 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 205 of file SRefAttr.h.

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

Here is the call graph for this function:

◆ getImage()

std::string AttributeBase::getImage ( ) const
inherited

Convert to string.

Definition at line 29 of file AttributeBase.cpp.

References AttributeBase::print().

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 166 of file SRefAttr.h.

◆ getReal() [2/2]

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

Definition at line 171 of file SRefAttr.h.

◆ invalidate()

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

Invalidate.

Reimplemented from Invalidator.

Definition at line 184 of file SRefAttr.h.

◆ isExpression()

bool AttributeBase::isExpression ( ) const
virtualinherited

Test for expression.

Reimplemented in Expressions::ADeferred< T >, and Expressions::SDeferred< T >.

Definition at line 36 of file AttributeBase.cpp.

Referenced by OpalElement::printMultipoleStrength().

◆ 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 176 of file SRefAttr.h.

Referenced by Expressions::operator<<().

◆ 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 92 of file SRefAttr.h.

◆ itsAttr

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

Definition at line 97 of file SRefAttr.h.

◆ itsIndex

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

Definition at line 93 of file SRefAttr.h.

◆ itsObject

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

Definition at line 96 of file SRefAttr.h.

◆ obj_name

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

Definition at line 91 of file SRefAttr.h.

◆ typeName

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

Definition at line 88 of file SRefAttr.h.


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