OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Expressions::ADeferred< T > Class Template Reference

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

#include <ADeferred.h>

Inheritance diagram for Expressions::ADeferred< T >:
Inheritance graph
[legend]
Collaboration diagram for Expressions::ADeferred< T >:
Collaboration graph
[legend]

Public Member Functions

 ADeferred ()
 Default constructor.
 
 ADeferred (PtrToArray< T > expr)
 Constructor.
 
 ADeferred (const std::vector< T > &val)
 Constructor.
 
 ADeferred (ArrayOfPtrs< T > expr)
 Constructor.
 
 ADeferred (const ADeferred< T > &)
 
virtual ~ADeferred ()
 
virtual ADeferred< T > * clone () const
 Make clone.
 
virtual std::vector< T > evaluate ()
 Evaluate.
 
virtual bool isExpression () const
 Get expression flag.
 
virtual void print (std::ostream &) const
 Print the attribute value.
 
void setComponent (int i, const PtrToScalar< T > expr)
 Set a component of the value.
 
- Public Member Functions inherited from Expressions::AValue< T >
 AValue ()
 Default constructor.
 
 AValue (const std::vector< T > &val)
 Constructor.
 
 AValue (const AValue &)
 
virtual ~AValue ()
 
void print (std::ostream &os) const
 Print value.
 
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

PtrToArray< T > itsLaw
 The generating law for the array expression.
 
ArrayOfPtrs< T > itsOverrides
 Overrides for single components.
 
- Protected Attributes inherited from Expressions::AValue< T >
std::vector< T > value
 The value of the attribute.
 

Private Member Functions

void operator= (const ADeferred< 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::ADeferred< T >

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

Definition at line 40 of file ADeferred.h.

Constructor & Destructor Documentation

◆ ADeferred() [1/5]

template<class T >
Expressions::ADeferred< T >::ADeferred ( )

Default constructor.

Definition at line 107 of file ADeferred.h.

◆ ADeferred() [2/5]

template<class T >
Expressions::ADeferred< T >::ADeferred ( PtrToArray< T >  expr)
explicit

Constructor.

Definition at line 137 of file ADeferred.h.

◆ ADeferred() [3/5]

template<class T >
Expressions::ADeferred< T >::ADeferred ( const std::vector< T > &  val)
explicit

Constructor.

Definition at line 128 of file ADeferred.h.

◆ ADeferred() [4/5]

template<class T >
Expressions::ADeferred< T >::ADeferred ( ArrayOfPtrs< T >  expr)
explicit

Constructor.

Definition at line 146 of file ADeferred.h.

◆ ADeferred() [5/5]

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

Definition at line 116 of file ADeferred.h.

References Expressions::ADeferred< T >::itsOverrides.

◆ ~ADeferred()

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

Definition at line 155 of file ADeferred.h.

Member Function Documentation

◆ clone()

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

Make clone.

Reimplemented from Expressions::AValue< T >.

Reimplemented in Expressions::AAutomatic< T >.

Definition at line 160 of file ADeferred.h.

◆ evaluate()

template<class T >
std::vector< T > Expressions::ADeferred< T >::evaluate ( )
virtual

Evaluate.

Reimplemented from Expressions::AValue< T >.

Reimplemented in Expressions::AAutomatic< T >.

Definition at line 166 of file ADeferred.h.

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

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

Here is the call graph for this function:

◆ isExpression()

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

Get expression flag.

Reimplemented from AttributeBase.

Definition at line 213 of file ADeferred.h.

◆ operator=()

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

◆ print()

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

Print the attribute value.

Reimplemented from Expressions::AValue< T >.

Definition at line 219 of file ADeferred.h.

◆ setComponent()

template<class T >
void Expressions::ADeferred< T >::setComponent ( int  i,
const PtrToScalar< T >  expr 
)

Set a component of the value.

Definition at line 242 of file ADeferred.h.

Referenced by Attributes::BoolArray::parseComponent(), and Attributes::RealArray::parseComponent().

Member Data Documentation

◆ in_evaluation

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

Definition at line 99 of file ADeferred.h.

◆ itsLaw

template<class T >
PtrToArray<T> Expressions::ADeferred< T >::itsLaw
protected

The generating law for the array expression.

Definition at line 85 of file ADeferred.h.

◆ itsOverrides

template<class T >
ArrayOfPtrs<T> Expressions::ADeferred< T >::itsOverrides
protected

Overrides for single components.

Definition at line 91 of file ADeferred.h.

Referenced by Expressions::ADeferred< T >::ADeferred().


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