|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
Object attribute with a ``deferred'' scalar value. More...
#include <SDeferred.h>
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. | |
| int | addReference () const |
| Increment reference count. | |
| int | removeReference () const |
| Decrement the reference count. | |
| bool | isShared () const |
| Test for sharing. | |
| virtual void | invalidate () |
| Force re-evaluation. | |
Protected Attributes | |
| PtrToScalar< T > | expr_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 |
| int | refCount |
Object attribute with a ``deferred'' scalar value.
Definition at line 39 of file SDeferred.h.
|
explicit |
Constructor.
Definition at line 90 of file SDeferred.h.
References expr_ptr, in_evaluation, and Expressions::SValue< T >::SValue().
Referenced by clone(), operator=(), Expressions::SAutomatic< T >::SAutomatic(), Expressions::SAutomatic< T >::SAutomatic(), and SDeferred().
| Expressions::SDeferred< T >::SDeferred | ( | const SDeferred< T > & | rhs | ) |
Definition at line 84 of file SDeferred.h.
References clone(), expr_ptr, in_evaluation, SDeferred(), and Expressions::SValue< T >::SValue().
|
virtual |
Definition at line 96 of file SDeferred.h.
|
private |
|
inlineinherited |
Increment reference count.
Definition at line 83 of file RCObject.h.
References refCount.
Referenced by Pointer< Object >::operator=(), Pointer< Object >::operator=(), and Pointer< Object >::unique().
|
virtual |
Make clone.
Reimplemented from Expressions::SValue< T >.
Reimplemented in Expressions::SAutomatic< T >.
Definition at line 101 of file SDeferred.h.
References SDeferred().
Referenced by SDeferred().
|
virtual |
Evaluate.
Reimplemented from Expressions::SValue< T >.
Reimplemented in Expressions::SAutomatic< T >.
Definition at line 107 of file SDeferred.h.
References expr_ptr, AttributeBase::getImage(), in_evaluation, Expressions::SValue< T >::value, OpalException::what(), and OpalException::where().
Referenced by Expressions::SAutomatic< T >::evaluate().
|
inherited |
Convert to string.
Definition at line 34 of file AttributeBase.cpp.
References print().
Referenced by Expressions::ADeferred< T >::evaluate(), Expressions::SDeferred< T >::evaluate(), and Expressions::SRefAttr< T >::evaluate().
|
virtualinherited |
Force re-evaluation.
Reimplemented in Expressions::AAutomatic< T >, Expressions::SAutomatic< T >, Expressions::SRefAttr< T >, and Expressions::SRefExpr< T >.
Definition at line 27 of file Invalidator.cpp.
|
virtual |
Return expression flag.
Reimplemented from AttributeBase.
Definition at line 144 of file SDeferred.h.
|
inlineinherited |
|
private |
|
virtual |
Print the attribute value.
Reimplemented from Expressions::SValue< T >.
Definition at line 150 of file SDeferred.h.
References expr_ptr.
|
inlineinherited |
|
protected |
Pointer to expression.
Definition at line 67 of file SDeferred.h.
Referenced by evaluate(), print(), SDeferred(), and SDeferred().
|
mutableprivate |
Definition at line 76 of file SDeferred.h.
Referenced by evaluate(), SDeferred(), and SDeferred().
|
mutableprivateinherited |
Definition at line 76 of file RCObject.h.
Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().
|
mutableprotectedinherited |
The value of the attribute.
Definition at line 62 of file SValue.h.
Referenced by clone(), Expressions::SAutomatic< T >::evaluate(), Expressions::SDeferred< T >::evaluate(), evaluate(), print(), print(), SValue(), SValue(), and SValue().