119 virtual String getScopeUID()
const;
133 virtual double evaluateFunction (
const String& functionName,
134 const double* parameters,
int numParameters)
const;
144 virtual void visit (
const Scope&) = 0;
154 virtual void visitRelativeScope (
const String& scopeName,
Visitor& visitor)
const;
163 double evaluate()
const;
170 double evaluate (
const Scope& scope)
const;
175 double evaluate (
const Scope& scope,
String& evaluationError)
const;
186 Expression adjustedToGiveNewResult (
double targetValue,
const Scope& scope)
const;
192 bool operator== (
const Symbol&)
const noexcept;
193 bool operator!= (
const Symbol&)
const noexcept;
210 bool referencesSymbol (
const Symbol& symbol,
const Scope& scope)
const;
213 bool usesAnySymbols()
const;
231 Type getType()
const noexcept;
234 String getSymbolOrFunction()
const;
239 int getNumInputs()
const;
#define JUCE_API
This macro is added to all JUCE public class declarations.
When evaluating an Expression object, this class is used to resolve symbols and perform functions tha...
String scopeUID
The unique ID of the Scope that contains this symbol.
Holds a resizable array of primitive or copy-by-value objects.
A class for dynamically evaluating simple numeric expressions.
Used as a callback by the Scope::visitRelativeScope() method.
String symbolName
The name of the symbol.
Represents a symbol that is used in an Expression.
Wraps a pointer to a null-terminated UTF-8 character string, and provides various methods to operate ...