OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
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
[legend]
Collaboration diagram for Expressions::SDeferred< T >:
Collaboration graph
[legend]

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.
 
- Public Member Functions inherited from Expressions::SValue< T >
 SValue ()
 Default constructor.
 
 SValue (const T &val)
 Constructor.
 
 SValue (const SValue< T > &)
 
virtual ~SValue ()
 
void print (std::ostream &os) const
 Print value.
 
void print (std::ostream &os) const
 Print value.
 
void print (std::ostream &os) const
 Print value.
 
- Public Member Functions inherited from AttributeBase
 AttributeBase ()
 
virtual ~AttributeBase ()
 
std::string getImage () const
 Convert to string.
 
- 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 void invalidate ()
 Force re-evaluation.
 

Protected Attributes

PtrToScalar< T > expr_ptr
 Pointer to expression.
 
- Protected Attributes inherited from Expressions::SValue< T >
value
 The value of the attribute.
 

Private Member Functions

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

Private Attributes

bool in_evaluation
 

Additional Inherited Members

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

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

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

◆ isExpression()

template<class T >
bool Expressions::SDeferred< T >::isExpression ( ) const
virtual

Return expression flag.

Reimplemented from AttributeBase.

Definition at line 144 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 150 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 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.


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