OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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
Collaboration diagram for Expressions::ADeferred< T >:
Collaboration graph

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< Tevaluate ()
 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.
 
std::string getImage () const
 Convert to string.
 
virtual void invalidate ()
 Force re-evaluation.
 

Protected Attributes

PtrToArray< TitsLaw
 The generating law for the array expression.
 
ArrayOfPtrs< TitsOverrides
 Overrides for single components.
 
std::vector< Tvalue
 The value of the attribute.
 

Private Member Functions

void operator= (const ADeferred< T > &)
 

Private Attributes

bool in_evaluation
 

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 102 of file ADeferred.h.

◆ ADeferred() [2/5]

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

Constructor.

Definition at line 120 of file ADeferred.h.

◆ ADeferred() [3/5]

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

Constructor.

Definition at line 116 of file ADeferred.h.

◆ ADeferred() [4/5]

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

Constructor.

Definition at line 124 of file ADeferred.h.

◆ ADeferred() [5/5]

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

Definition at line 105 of file ADeferred.h.

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

◆ ~ADeferred()

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

Definition at line 128 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 131 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 136 of file ADeferred.h.

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

Referenced by Expressions::AAutomatic< 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::ADeferred< T >::isExpression ( ) const
virtual

Get expression flag.

Reimplemented from AttributeBase.

Definition at line 176 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 181 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 203 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 95 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 82 of file ADeferred.h.

◆ itsOverrides

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

Overrides for single components.

Definition at line 88 of file ADeferred.h.

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

◆ value

template<class T >
std::vector<T> Expressions::AValue< T >::value
mutableprotectedinherited

The value of the attribute.

Definition at line 60 of file AValue.h.


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