PssMathParser  1.0.0
Parser of mathemathical expressions
 All Classes Namespaces Files Functions Variables Enumerations Macros Pages
PssMathParser::Operator Class Reference

Derived from Entity, used for storing pointers to math functions. More...

#include <pssmathparser.h>

Inheritance diagram for PssMathParser::Operator:
[legend]
Collaboration diagram for PssMathParser::Operator:
[legend]

Public Member Functions

 Operator (const string &a_name, EntityType a_type=EntityType::Operator, OperatorPrecedence m_precedence=OperatorPrecedence::Function, double(*a_ddOperator)(const double)=nullptr, double(*a_dddOperator)(const double, const double)=nullptr, double(*a_ddiOperator)(const double, const int)=nullptr)
 Constructor, with constructor list only. More...
 
double dddOperator (double a_arg1, double a_arg2) const
 Overload of the function call. More...
 
double ddOperator (double a_arg1) const
 Overload of the function call. More...
 
uint16_t precedence () const
 Return the operator precedence as unsigned int. More...
 
- Public Member Functions inherited from PssMathParser::Entity
 Entity (const string &a_name, const EntityType a_type=EntityType::None)
 Constructor, just a constructor list. More...
 
 ~Entity ()
 Destructor.
 
const EntitygetEntity () const
 Returns the pointer to the Entity object. More...
 
EntityType entityType () const
 Get the EntityType of the object. More...
 

Private Attributes

OperatorPrecedence m_precedence
 
double(* m_ddOperator )(const double)
 
double(* m_dddOperator )(const double, const double)
 
double(* m_ddiOperator )(const double, const int)
 

Additional Inherited Members

- Protected Attributes inherited from PssMathParser::Entity
string m_name
 
EntityType m_type
 

Detailed Description

Derived from Entity, used for storing pointers to math functions.

This class has pointer to functions that are standard math.h functions. These are called from the MathExpression during parsing. Several types are posible of these class.

Note
Example:

EntityType::OperatorInIntOutInt is a function of the type int function(int a_value)

Constructor & Destructor Documentation

Operator::Operator ( const string &  a_name,
EntityType  a_type = EntityType::Operator,
OperatorPrecedence  a_precedence = OperatorPrecedence::Function,
double(*)(const double)  a_ddOperator = nullptr,
double(*)(const double, const double)  a_dddOperator = nullptr,
double(*)(const double, const int)  a_ddiOperator = nullptr 
)

Constructor, with constructor list only.

Parameters
a_nameName key of the Operator, part of the Entity parent class
a_typeType of the Operator, part of the Entity parent class
a_precedenceThe OperatorPrecedence

Member Function Documentation

double Operator::dddOperator ( double  a_arg1,
double  a_arg2 
) const

Overload of the function call.

Parameters
a_arg1First argument
a_arg2Second argument
Returns
double Return value from function(a_arg1, a_arg2)
double Operator::ddOperator ( double  a_arg1) const

Overload of the function call.

Parameters
a_arg1First argument
Returns
double Return value from function(a_arg1)
uint16_t Operator::precedence ( ) const

Return the operator precedence as unsigned int.

We return the unsigned int in order to be able to compare two precedences.

Returns
uint16_t The cast of the OperatorPrecedence enum

Member Data Documentation

double(* PssMathParser::Operator::m_dddOperator)(const double, const double)
private

Pointer to func

double(* PssMathParser::Operator::m_ddiOperator)(const double, const int)
private

Pointer to func

double(* PssMathParser::Operator::m_ddOperator)(const double)
private

Pointer to func

OperatorPrecedence PssMathParser::Operator::m_precedence
private

Higher number operates first


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