Version: 6.3.1
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions

QtxEvalSetArithmetic Class Reference

Provides set of arithmetical operations for the parser.

#include <QtxEvalExpr.h>

Inheritance diagram for QtxEvalSetArithmetic:
Inheritance graph

Public Member Functions

 QtxEvalSetArithmetic ()
 Constructor.
virtual ~QtxEvalSetArithmetic ()
 Destructor.
virtual bool createValue (const QString &, QVariant &) const
 Create value from its string representation.
virtual int priority (const QString &, bool isBin) const
 Get the operation priority.
virtual QtxEvalExpr::Error calculate (const QString &, QVariant &, QVariant &) const
 Calculate the operation.
virtual QString name () const
 Get operations set name.
virtual void operationList (QStringList &) const
 Get the list of possible operations.
virtual void bracketsList (QStringList &, bool open) const
 Get list of brackets.
virtual QtxEvalExpr::Error isValid (const QString &, const QVariant::Type, const QVariant::Type) const
 Check operation validity.

Static Public Member Functions

static QString Name ()
 Get operations set name.

Protected Types

typedef QList< QVariant::Type > ListOfTypes

Protected Member Functions

void addTypes (const ListOfTypes &)
 Add operand types.
void addOperations (const QStringList &)
 Add operation names to the internal list of operations.

Member Typedef Documentation

typedef QList<QVariant::Type> QtxEvalSetBase.ListOfTypes [protected, inherited]

Constructor & Destructor Documentation

QtxEvalSetArithmetic::QtxEvalSetArithmetic ( )
QtxEvalSetArithmetic::~QtxEvalSetArithmetic ( ) [virtual]

Member Function Documentation

bool QtxEvalSetArithmetic::createValue ( const QString &  str,
QVariant &  val 
) const [virtual]

Creates numbers from string representation.

Parameters:
strstring representration of the value
valreturning value
Returns:
true if str can be evaluated as custom value and false otherwise (parameter)

Reimplemented from QtxEvalSet.

int QtxEvalSetArithmetic::priority ( const QString &  op,
bool  isBin 
) const [virtual]

Operation priority counts from 1. If the operation is impossible, this function returns value <= 0.

Parameters:
opoperation
isBintrue if the operation is binary and false if it is unary
Returns:
operation priority

Implements QtxEvalSet.

QtxEvalExpr::Error QtxEvalSetArithmetic::calculate ( const QString &  op,
QVariant &  v1,
QVariant &  v2 
) const [virtual]

Process binary operation with values v1 and v2. For unary operation the is invalid. The result of the operation is returned in the parameter v1.

Parameters:
opoperation name
v1first argument (not valid for unary prefix operations)
v2second argument (not valid for unary postfix operations)
Returns:
error code (QtxEvalExpr.Error)

Implements QtxEvalSet.

References QtxEvalExpr.InvalidResult, and QtxEvalExpr.OK.

QString QtxEvalSetArithmetic::Name ( ) [static]
Returns:
operations set name
QString QtxEvalSetArithmetic::name ( ) const [virtual]
Returns:
operations set name

Implements QtxEvalSet.

References Name().

void QtxEvalSetBase::operationList ( QStringList &  list) const [virtual, inherited]
Parameters:
listreturning list of operations supported by the class

Implements QtxEvalSet.

References QtxEvalSetBase.myOpers.

void QtxEvalSetBase::bracketsList ( QStringList &  list,
bool  open 
) const [virtual, inherited]
Parameters:
listreturning list of brackets
openif true, collect opening brackets, or closing brackets otherwise

Implements QtxEvalSet.

Reimplemented in QtxEvalSetSets.

QtxEvalExpr::Error QtxEvalSetBase::isValid ( const QString &  op,
const QVariant::Type  t1,
const QVariant::Type  t2 
) const [virtual, inherited]

If the operation is valid, QtxEvalExpr.OK is returned. If types of operands are invalid, the function returns QtxEvalExpr.OperandsNotMatch or QtxEvalExpr.InvalidOperation.

Parameters:
opoperation
t1first operand type
t2second operand type
Returns:
error code (QtxEvalExpr.Error)

Implements QtxEvalSet.

Reimplemented in QtxEvalSetSets.

References QtxEvalExpr.InvalidOperation, QtxEvalSetBase.myTypes, QtxEvalExpr.OK, QtxEvalExpr.OperandsNotMatch, and QtxEvalSet.priority().

void QtxEvalSetBase::addTypes ( const ListOfTypes list) [protected, inherited]
Parameters:
listoperand types to be added

References QtxEvalSetBase.myTypes.

void QtxEvalSetBase::addOperations ( const QStringList &  list) [protected, inherited]
Parameters:
listoperations to be added

References QtxEvalSetBase.myOpers.

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS