Loading...
Searching...
No Matches
juce::Expression::Scope Class Reference

Detailed Description

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

Inheritance diagram for juce::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.
virtual Expression getSymbolValue (const String &symbol) const
 Returns the value of a symbol.
virtual double evaluateFunction (const String &functionName, const double *parameters, int numParameters) const
 Executes a named function.
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.

Constructors and Destructors

◆ Scope()

juce::Expression::Scope::Scope ( )

◆ ~Scope()

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

Member Functions

◆ getScopeUID()

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

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

Reimplemented in juce::RelativeCoordinatePositionerBase::ComponentScope.

◆ getSymbolValue()

virtual Expression juce::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 juce::RelativeCoordinatePositionerBase::ComponentScope.

References juce::Expression::Expression(), and juce::Expression::symbol().

◆ evaluateFunction()

virtual double juce::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 juce::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 juce::RelativeCoordinatePositionerBase::ComponentScope.

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram