OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Expressions::SBinary< T, U > Class Template Reference

A scalar expression with two scalar operands. More...

#include <SBinary.h>

Inheritance diagram for Expressions::SBinary< T, U >:
Inheritance graph
[legend]
Collaboration diagram for Expressions::SBinary< T, U >:
Collaboration graph
[legend]

Public Member Functions

 SBinary (const TFunction2< T, U > &function, PtrToScalar< U > left, PtrToScalar< U > right)
 Constructor. More...
 
 SBinary (const SBinary< T, U > &)
 
virtual ~SBinary ()
 
virtual Scalar< T > * clone () const
 Make clone. More...
 
virtual T evaluate () const
 Evaluate. More...
 
virtual void print (std::ostream &str, int precedence=99) const
 Print expression. More...
 
- Public Member Functions inherited from Expressions::Scalar< T >
 Scalar ()
 
 Scalar (const Scalar &)
 
virtual ~Scalar ()
 
virtual bool isConstant () const
 Test for constant. More...
 

Static Public Member Functions

static Scalar< T > * make (const TFunction2< T, U > &, PtrToScalar< U > left, PtrToScalar< U > right)
 Make a new expression. More...
 

Private Member Functions

 SBinary ()
 
void operator= (const SBinary &)
 

Private Attributes

const TFunction2< T, U > & fun
 
PtrToScalar< U > lft
 
PtrToScalar< U > rgt
 

Detailed Description

template<class T, class U>
class Expressions::SBinary< T, U >

A scalar expression with two scalar operands.

Definition at line 39 of file SBinary.h.

Constructor & Destructor Documentation

template<class T , class U >
Expressions::SBinary< T, U >::SBinary ( const TFunction2< T, U > &  function,
PtrToScalar< U >  left,
PtrToScalar< U >  right 
)
inline

Constructor.

Definition at line 93 of file SBinary.h.

template<class T , class U >
Expressions::SBinary< T, U >::SBinary ( const SBinary< T, U > &  rhs)
inline

Definition at line 86 of file SBinary.h.

template<class T , class U >
Expressions::SBinary< T, U >::~SBinary ( )
inlinevirtual

Definition at line 100 of file SBinary.h.

template<class T, class U>
Expressions::SBinary< T, U >::SBinary ( )
private

Member Function Documentation

template<class T , class U >
Scalar< T > * Expressions::SBinary< T, U >::clone ( ) const
inlinevirtual

Make clone.

Implements Expressions::Scalar< T >.

Definition at line 105 of file SBinary.h.

template<class T , class U >
T Expressions::SBinary< T, U >::evaluate ( ) const
inlinevirtual

Evaluate.

Implements Expressions::Scalar< T >.

Definition at line 111 of file SBinary.h.

References T.

template<class T , class U >
Scalar< T > * Expressions::SBinary< T, U >::make ( const TFunction2< T, U > &  function,
PtrToScalar< U >  left,
PtrToScalar< U >  right 
)
inlinestatic
template<class T, class U>
void Expressions::SBinary< T, U >::operator= ( const SBinary< T, U > &  )
private
template<class T , class U >
void Expressions::SBinary< T, U >::print ( std::ostream &  str,
int  precedence = 99 
) const
inlinevirtual

Print expression.

Implements Expressions::Scalar< T >.

Definition at line 156 of file SBinary.h.

Member Data Documentation

template<class T, class U>
const TFunction2<T, U>& Expressions::SBinary< T, U >::fun
private

Definition at line 74 of file SBinary.h.

template<class T, class U>
PtrToScalar<U> Expressions::SBinary< T, U >::lft
private

Definition at line 77 of file SBinary.h.

template<class T, class U>
PtrToScalar<U> Expressions::SBinary< T, U >::rgt
private

Definition at line 78 of file SBinary.h.


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