OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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.
 
 SDeferred (const SDeferred< T > &)
 
virtual ~SDeferred ()
 
virtual SDeferred< T > * clone () const
 Make clone.
 
virtual T evaluate ()
 Evaluate.
 
virtual bool isExpression () const
 Return expression flag.
 
virtual void print (std::ostream &) const
 Print the attribute value.
 
std::string getImage () const
 Convert to string.
 
virtual void invalidate ()
 Force re-evaluation.
 

Protected Attributes

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

Private Member Functions

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

Private Attributes

bool in_evaluation
 

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 83 of file SDeferred.h.

◆ SDeferred() [2/3]

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

Definition at line 79 of file SDeferred.h.

◆ ~SDeferred()

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

Definition at line 87 of file SDeferred.h.

◆ SDeferred() [3/3]

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

Member Function Documentation

◆ clone()

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

Make clone.

Reimplemented from Expressions::SValue< T >.

Reimplemented in Expressions::SAutomatic< T >.

Definition at line 90 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 95 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 29 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 ( ) const
virtual

Return expression flag.

Reimplemented from AttributeBase.

Definition at line 125 of file SDeferred.h.

◆ 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 130 of file SDeferred.h.

Member Data Documentation

◆ expr_ptr

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

Pointer to expression.

Definition at line 64 of file SDeferred.h.

◆ in_evaluation

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

Definition at line 72 of file SDeferred.h.

◆ value

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

The value of the attribute.

Definition at line 59 of file SValue.h.


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