OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Expressions::ASUnary< T > Class Template Reference

A scalar expression with one array operand. More...

#include <ASUnary.h>

Inheritance diagram for Expressions::ASUnary< T >:
Collaboration diagram for Expressions::ASUnary< T >:

Public Member Functions

 ASUnary (const TFunction1< T, const std::vector< T > & > &function, PtrToArray< T > &oper)
 Constructor.
 ASUnary (const ASUnary< T > &)
virtual ~ASUnary ()
virtual Scalar< T > * clone () const
 Make clone.
virtual T evaluate () const
 Evaluate expression.
virtual void print (std::ostream &, int precedence=99) const
 Print expression.
virtual bool isConstant () const
 Test for constant.

Static Public Member Functions

static PtrToScalar< T > make (const TFunction1< T, const std::vector< T > & > &function, PtrToArray< T > &oper)
 Make new expression.

Private Member Functions

 ASUnary ()
void operator= (const ASUnary &)

Private Attributes

const TFunction1< T, const std::vector< T > & > & fun
PtrToArray< T > opr

Detailed Description

template<class T>
class Expressions::ASUnary< T >

A scalar expression with one array operand.

Definition at line 41 of file ASUnary.h.

Constructor & Destructor Documentation

◆ ASUnary() [1/3]

template<class T>
Expressions::ASUnary< T >::ASUnary ( const TFunction1< T, const std::vector< T > & > & function,
PtrToArray< T > & oper )
inline

Constructor.

Definition at line 94 of file ASUnary.h.

References fun, and opr.

Referenced by ASUnary(), clone(), make(), and operator=().

◆ ASUnary() [2/3]

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

Definition at line 87 of file ASUnary.h.

References ASUnary(), clone(), fun, opr, and Expressions::Scalar< T >::Scalar().

Here is the call graph for this function:

◆ ~ASUnary()

template<class T>
Expressions::ASUnary< T >::~ASUnary ( )
inlinevirtual

Definition at line 101 of file ASUnary.h.

◆ ASUnary() [3/3]

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

Member Function Documentation

◆ clone()

template<class T>
Scalar< T > * Expressions::ASUnary< T >::clone ( ) const
inlinevirtual

Make clone.

Implements Expressions::Scalar< T >.

Definition at line 106 of file ASUnary.h.

References ASUnary(), and Expressions::Scalar< T >::Scalar().

Referenced by ASUnary().

Here is the call graph for this function:

◆ evaluate()

template<class T>
T Expressions::ASUnary< T >::evaluate ( ) const
inlinevirtual

Evaluate expression.

Implements Expressions::Scalar< T >.

Definition at line 112 of file ASUnary.h.

References arg(), fun, and opr.

Here is the call graph for this function:

◆ isConstant()

template<class T>
bool Expressions::Scalar< T >::isConstant ( ) const
inlinevirtualinherited

Test for constant.

Reimplemented in Expressions::SConstant< T >.

Definition at line 282 of file AbstractObjects/Expressions.h.

◆ make()

template<class T>
PtrToScalar< T > Expressions::ASUnary< T >::make ( const TFunction1< T, const std::vector< T > & > & function,
PtrToArray< T > & oper )
inlinestatic

Make new expression.

Definition at line 137 of file ASUnary.h.

References ASUnary(), and OwnPtr< Object >::release().

Here is the call graph for this function:

◆ operator=()

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

References ASUnary().

Here is the call graph for this function:

◆ print()

template<class T>
void Expressions::ASUnary< T >::print ( std::ostream & os,
int precedence = 99 ) const
inlinevirtual

Print expression.

Implements Expressions::Scalar< T >.

Definition at line 158 of file ASUnary.h.

References fun, and opr.

Member Data Documentation

◆ fun

template<class T>
const TFunction1<T, const std::vector<T>&>& Expressions::ASUnary< T >::fun
private

Definition at line 76 of file ASUnary.h.

Referenced by ASUnary(), ASUnary(), evaluate(), and print().

◆ opr

template<class T>
PtrToArray<T> Expressions::ASUnary< T >::opr
private

Definition at line 79 of file ASUnary.h.

Referenced by ASUnary(), ASUnary(), evaluate(), and print().


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