OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
Expressions::SDeferred< T > Class Template Reference

Object attribute with a `‘deferred’' scalar value. More...

#include <SDeferred.h>

Inheritance diagram for Expressions::SDeferred< T >:
Inheritance graph
Collaboration diagram for Expressions::SDeferred< T >:
Collaboration graph

Public Member Functions

 SDeferred (PtrToScalar< T > expr)
 Constructor. More...
 
 SDeferred (const SDeferred< T > &)
 
virtual ~SDeferred ()
 
virtual SDeferred< T > * clone () const
 Make clone. More...
 
virtual T evaluate ()
 Evaluate. More...
 
virtual bool isExpression () const
 Return expression flag. More...
 
virtual void print (std::ostream &) const
 Print the attribute value. More...
 
std::string getImage () const
 Convert to string. More...
 
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 
virtual void invalidate ()
 Force re-evaluation. More...
 

Protected Attributes

PtrToScalar< Texpr_ptr
 Pointer to expression. More...
 
T value
 The value of the attribute. More...
 

Private Member Functions

 SDeferred ()
 
void operator= (const SDeferred< T > &)
 

Private Attributes

bool in_evaluation
 
int refCount
 

Detailed Description

template<class T>
class Expressions::SDeferred< T >

Object attribute with a `‘deferred’' scalar value.

Definition at line 39 of file SDeferred.h.

Constructor & Destructor Documentation

◆ SDeferred() [1/3]

template<class T >
Expressions::SDeferred< T >::SDeferred ( PtrToScalar< T expr)
explicit

Constructor.

Definition at line 90 of file SDeferred.h.

◆ SDeferred() [2/3]

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

Definition at line 84 of file SDeferred.h.

◆ ~SDeferred()

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

Definition at line 96 of file SDeferred.h.

◆ SDeferred() [3/3]

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

Member Function Documentation

◆ addReference()

int RCObject::addReference ( ) const
inlineinherited

Increment reference count.

Definition at line 83 of file RCObject.h.

References RCObject::refCount.

Referenced by Pointer< Object >::operator=(), and Pointer< Object >::unique().

◆ clone()

template<class T >
SDeferred< T > * Expressions::SDeferred< T >::clone
virtual

Make clone.

Reimplemented from Expressions::SValue< T >.

Reimplemented in Expressions::SAutomatic< T >.

Definition at line 101 of file SDeferred.h.

◆ evaluate()

template<class T >
T Expressions::SDeferred< T >::evaluate
virtual

Evaluate.

Reimplemented from Expressions::SValue< T >.

Reimplemented in Expressions::SAutomatic< T >.

Definition at line 107 of file SDeferred.h.

References OpalException::what(), and OpalException::where().

Referenced by Expressions::SAutomatic< T >::evaluate().

Here is the call graph for this function:

◆ getImage()

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

Convert to string.

Definition at line 34 of file AttributeBase.cpp.

References AttributeBase::print().

Here is the call graph for this function:

◆ invalidate()

void Invalidator::invalidate ( )
virtualinherited

◆ isExpression()

template<class T >
bool Expressions::SDeferred< T >::isExpression
virtual

Return expression flag.

Reimplemented from AttributeBase.

Definition at line 144 of file SDeferred.h.

◆ isShared()

bool RCObject::isShared ( ) const
inlineinherited

Test for sharing.

Definition at line 93 of file RCObject.h.

References RCObject::refCount.

◆ operator=()

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

◆ print()

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

Print the attribute value.

Reimplemented from Expressions::SValue< T >.

Definition at line 150 of file SDeferred.h.

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References RCObject::refCount.

Member Data Documentation

◆ expr_ptr

template<class T >
PtrToScalar<T> Expressions::SDeferred< T >::expr_ptr
protected

Pointer to expression.

Definition at line 67 of file SDeferred.h.

◆ in_evaluation

template<class T >
bool Expressions::SDeferred< T >::in_evaluation
mutableprivate

Definition at line 76 of file SDeferred.h.

◆ refCount

int RCObject::refCount
mutableprivateinherited

◆ value

template<class T >
T Expressions::SValue< T >::value
mutableprotectedinherited

The value of the attribute.

Definition at line 62 of file SValue.h.


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