JUCE
Classes | Public Member Functions | List of all members
Expression::Scope Class Reference

When evaluating an Expression object, this class is used to resolve symbols and perform functions that the expression uses. More...

Inheritance diagram for Expression::Scope:

Classes

class  Visitor
 Used as a callback by the Scope::visitRelativeScope() method. More...
 

Public Member Functions

 Scope ()
 
virtual ~Scope ()
 
virtual String getScopeUID () const
 Returns some kind of globally unique ID that identifies this scope. More...
 
virtual Expression getSymbolValue (const String &symbol) const
 Returns the value of a symbol. More...
 
virtual double evaluateFunction (const String &functionName, const double *parameters, int numParameters) const
 Executes a named function. More...
 
virtual void visitRelativeScope (const String &scopeName, Visitor &visitor) const
 Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope. More...
 

Detailed Description

When evaluating an Expression object, this class is used to resolve symbols and perform functions that the expression uses.

Constructor & Destructor Documentation

◆ Scope()

Expression::Scope::Scope ( )

◆ ~Scope()

virtual Expression::Scope::~Scope ( )
virtual

Member Function Documentation

◆ getScopeUID()

virtual String Expression::Scope::getScopeUID ( ) const
virtual

Returns some kind of globally unique ID that identifies this scope.

Reimplemented in RelativeCoordinatePositionerBase::ComponentScope.

◆ getSymbolValue()

virtual Expression Expression::Scope::getSymbolValue ( const String symbol) const
virtual

Returns the value of a symbol.

If the symbol is unknown, this can throw an Expression::EvaluationError exception. The member value is set to the part of the symbol that followed the dot, if there is one, e.g. for "foo.bar", symbol = "foo" and member = "bar".

Exceptions
Expression::EvaluationError

Reimplemented in RelativeCoordinatePositionerBase::ComponentScope.

◆ evaluateFunction()

virtual double Expression::Scope::evaluateFunction ( const String functionName,
const double *  parameters,
int  numParameters 
) const
virtual

Executes a named function.

If the function name is unknown, this can throw an Expression::EvaluationError exception.

Exceptions
Expression::EvaluationError

◆ visitRelativeScope()

virtual void Expression::Scope::visitRelativeScope ( const String scopeName,
Visitor visitor 
) const
virtual

Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope.

If the name is valid, this method must create a suitable (temporary) Scope object to represent it, and must call the Visitor::visit() method with this new scope.

Reimplemented in RelativeCoordinatePositionerBase::ComponentScope.


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