OMNeT++ Simulation Library
5.6.1
|
#include <cexpression.h>
Abstract base class for expression evaluators.
Classes | |
class | Context |
Contextual information for evaluating the expression. More... | |
Public Member Functions | |
Constructors, destructor, assignment. | |
cExpression () | |
cExpression (const cExpression &other) | |
virtual | ~cExpression () |
cExpression & | operator= (const cExpression &other) |
Redefined cObject functions | |
virtual cExpression * | dup () const override |
virtual std::string | str () const override |
virtual void | parsimPack (cCommBuffer *buffer) const override |
virtual void | parsimUnpack (cCommBuffer *buffer) override |
Evaluator methods. | |
virtual cNedValue | evaluate (Context *context) const =0 |
virtual bool | boolValue (Context *context) const =0 |
virtual intpar_t | intValue (Context *context, const char *expectedUnit=nullptr) const =0 |
virtual double | doubleValue (Context *context, const char *expectedUnit=nullptr) const =0 |
virtual std::string | stringValue (Context *context) const =0 |
virtual cXMLElement * | xmlValue (Context *context) const =0 |
virtual cNedValue | evaluate (cComponent *contextComponent=nullptr) const |
virtual bool | boolValue (cComponent *contextComponent=nullptr) const |
virtual intpar_t | intValue (cComponent *contextComponent=nullptr, const char *expectedUnit=nullptr) const |
virtual double | doubleValue (cComponent *contextComponent=nullptr, const char *expectedUnit=nullptr) const |
virtual std::string | stringValue (cComponent *contextComponent=nullptr) const |
virtual cXMLElement * | xmlValue (cComponent *contextComponent=nullptr) const |
Miscellaneous utility functions. | |
virtual void | parse (const char *text)=0 |
virtual int | compare (const cExpression *other) const =0 |
virtual bool | containsConstSubexpressions () const =0 |
virtual void | evaluateConstSubexpressions (Context *context)=0 |
Public Member Functions inherited from cObject | |
cObject () | |
cObject (const cObject &other) | |
virtual | ~cObject () |
virtual const char * | getClassName () const |
virtual const char * | getName () const |
bool | isName (const char *s) const |
virtual const char * | getFullName () const |
virtual std::string | getFullPath () const |
const cObject * | getThisPtr () const |
virtual _OPPDEPRECATED std::string | info () const |
virtual _OPPDEPRECATED std::string | detailedInfo () const |
virtual cObject * | getOwner () const |
virtual bool | isOwnedObject () const |
virtual void | forEachChild (cVisitor *v) |
cObject * | findObject (const char *name, bool deep=true) |
void | copyNotSupported () const |
Additional Inherited Members | |
Protected Member Functions inherited from cObject | |
virtual void | take (cOwnedObject *obj) |
virtual void | drop (cOwnedObject *obj) |
void | dropAndDelete (cOwnedObject *obj) |
|
inlineexplicit |
Constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
Duplication not supported, this method is redefined to throw an error.
Reimplemented from cObject.
Reimplemented in cDynamicExpression.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Redefined to "de-inherit" it.
Reimplemented from cObject.
|
inlineoverridevirtual |
Redefined to "de-inherit" it.
Reimplemented from cObject.
Evaluate the expression and return the result in a cNedValue. The context parameter cannot be nullptr.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
pure virtual |
Evaluate the expression and convert the result to bool if possible; throw an error if conversion from that type is not supported.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
pure virtual |
Evaluate the expression and convert the result to intpar_t if possible; throw an error if conversion from that type is not supported. Also throws an error if the actual unit does not match the expected unit.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
pure virtual |
Evaluate the expression and convert the result to double if possible; throw an error if conversion from that type is not supported. Also throws an error if the actual unit does not match the expected unit.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
pure virtual |
Evaluate the expression and convert the result to string if possible; throw an error if conversion from that type is not supported.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
pure virtual |
Evaluate the expression and convert the result to an XML tree if possible; throw an error if conversion from that type is not supported.
Implemented in cDynamicExpression.
Referenced by cDynamicExpression::dup().
|
virtual |
|
virtual |
Evaluate the expression and convert the result to bool if possible; throw an error if conversion from that type is not supported. This method creates a Context from contextComponent, and delegates to boolValue(Context*).
|
virtual |
Evaluate the expression and convert the result to intpar_t if possible; throw an error if conversion from that type is not supported. Also throws an error if the actual unit does not match the expected unit. This method creates a Context from contextComponent, and delegates to intValue(Context*,const char*).
|
virtual |
Evaluate the expression and convert the result to double if possible; throw an error if conversion from that type is not supported. Also throws an error if the actual unit does not match the expected unit. This method creates a Context from contextComponent, and delegates to doubleValue(Context*,const char*).
|
virtual |
Evaluate the expression and convert the result to string if possible; throw an error if conversion from that type is not supported. This method creates a Context from contextComponent, and delegates to stringValue(Context*).
|
virtual |
Evaluate the expression and convert the result to an XML tree if possible; throw an error if conversion from that type is not supported. This method creates a Context from contextComponent, and delegates to xmlValue(Context*).
|
pure virtual |
Interprets the string as an expression, and store it. If the text cannot be parsed, an exception is thrown, which can be caught as std::runtime_error& if necessary. An exception is also thrown if the particular cExpression subclass does not support parsing.
Implemented in cDynamicExpression.
|
pure virtual |
Compares two expressions. Makes it possible to use cExpression as (part of) a key in std::map or std::set.
Implemented in cDynamicExpression.
|
pure virtual |
Returns true if this expression contains const subexpressions.
Implemented in cDynamicExpression.
|
pure virtual |
Evaluates const subexpressions, and replaces them with their values. See cDynamicExpression::Elem::CONSTSUBEXPR.
Implemented in cDynamicExpression.