JUCE: Expression::Scope Class Reference

JUCE

Classes | Public Member Functions | List of all members
Expression::Scope Class Reference
juce_core » maths

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

`#include <juce_Expression.h>`

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:

- juce_Expression.h