OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Expressions::SCell Class Reference

A scalar expression referring to a table cell. More...

#include <SCell.h>

Inheritance diagram for Expressions::SCell:
Inheritance graph
[legend]
Collaboration diagram for Expressions::SCell:
Collaboration graph
[legend]

Public Member Functions

 SCell (const std::string &tab, const PlaceRep &place, const std::string &col)
 Constructor. More...
 
virtual ~SCell ()
 
virtual Scalar< double > * clone () const
 Make clone. More...
 
virtual double evaluate () const
 Evaluate. More...
 
virtual void print (std::ostream &stream, int) const
 Print expression. More...
 
- Public Member Functions inherited from Expressions::Scalar< double >
 Scalar ()
 
 Scalar (const Scalar &)
 
virtual ~Scalar ()
 
virtual Scalar< double > * clone () const=0
 Copy scalar expression. More...
 
virtual double evaluate () const=0
 Evaluate. More...
 
virtual bool isConstant () const
 Test for constant. More...
 
virtual void print (std::ostream &, int precedence=99) const=0
 Print expression. More...
 

Private Member Functions

 SCell ()
 
void operator= (const SCell &)
 

Private Attributes

const std::string tab_name
 
const PlaceRep position
 
const std::string col_name
 
ConstChannelitsChannel
 

Detailed Description

A scalar expression referring to a table cell.

Definition at line 36 of file SCell.h.

Constructor & Destructor Documentation

◆ SCell() [1/2]

Expressions::SCell::SCell ( const std::string &  tab,
const PlaceRep place,
const std::string &  col 
)

Constructor.

Definition at line 32 of file SCell.cpp.

◆ ~SCell()

Expressions::SCell::~SCell ( )
virtual

Definition at line 38 of file SCell.cpp.

References itsChannel.

◆ SCell() [2/2]

Expressions::SCell::SCell ( )
private

Referenced by clone().

Member Function Documentation

◆ clone()

Scalar< double > * Expressions::SCell::clone ( ) const
virtual

Make clone.

Implements Expressions::Scalar< double >.

Definition at line 43 of file SCell.cpp.

References col_name, position, SCell(), and tab_name.

Here is the call graph for this function:

◆ evaluate()

double Expressions::SCell::evaluate ( ) const
virtual

Evaluate.

Implements Expressions::Scalar< double >.

Definition at line 48 of file SCell.cpp.

References col_name, Table::fill(), Table::find(), Table::getCell(), position, and tab_name.

Here is the call graph for this function:

◆ operator=()

void Expressions::SCell::operator= ( const SCell )
private

◆ print()

void Expressions::SCell::print ( std::ostream &  stream,
int   
) const
virtual

Print expression.

Implements Expressions::Scalar< double >.

Definition at line 58 of file SCell.cpp.

References col_name, position, and tab_name.

Member Data Documentation

◆ col_name

const std::string Expressions::SCell::col_name
private

Definition at line 66 of file SCell.h.

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

◆ itsChannel

ConstChannel* Expressions::SCell::itsChannel
mutableprivate

Definition at line 69 of file SCell.h.

Referenced by ~SCell().

◆ position

const PlaceRep Expressions::SCell::position
private

Definition at line 65 of file SCell.h.

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

◆ tab_name

const std::string Expressions::SCell::tab_name
private

Definition at line 64 of file SCell.h.

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


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