OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
Expressions::SNull< T > Class Template Reference

A scalar expression without operands. More...

#include <SNull.h>

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

Public Member Functions

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

Static Public Member Functions

static Scalar< T > * make (const TFunction0< T > &function)
 Make expression.

Private Member Functions

 SNull ()
void operator= (const SNull &)

Private Attributes

const TFunction0< T > & fun

Detailed Description

template<class T>
class Expressions::SNull< T >

A scalar expression without operands.

Definition at line 38 of file SNull.h.

Constructor & Destructor Documentation

◆ SNull() [1/3]

template<class T>
Expressions::SNull< T >::SNull ( const TFunction0< T > & function)
inlineexplicit

Constructor.

Definition at line 85 of file SNull.h.

References fun.

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

Here is the caller graph for this function:

◆ SNull() [2/3]

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

Definition at line 78 of file SNull.h.

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

Here is the call graph for this function:

◆ ~SNull()

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

Definition at line 91 of file SNull.h.

◆ SNull() [3/3]

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

Member Function Documentation

◆ clone()

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

Make clone.

Implements Expressions::Scalar< T >.

Definition at line 96 of file SNull.h.

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

Here is the call graph for this function:

◆ evaluate()

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

Evaluate.

Implements Expressions::Scalar< T >.

Definition at line 102 of file SNull.h.

References fun.

◆ 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>
Scalar< T > * Expressions::SNull< T >::make ( const TFunction0< T > & function)
inlinestatic

Make expression.

Definition at line 124 of file SNull.h.

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

Referenced by Expressions::parseArrayPrimary(), and Expressions::parsePrimary().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

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

References SNull().

Here is the call graph for this function:

◆ print()

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

Print expression.

Implements Expressions::Scalar< T >.

Definition at line 130 of file SNull.h.

References fun.

Member Data Documentation

◆ fun

template<class T>
const TFunction0<T>& Expressions::SNull< T >::fun
private

Definition at line 70 of file SNull.h.

Referenced by evaluate(), make(), print(), SNull(), and SNull().


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