115 virtual String getScopeUID()
const;
129 virtual double evaluateFunction (
const String& functionName,
130 const double* parameters,
int numParameters)
const;
140 virtual void visit (
const Scope&) = 0;
150 virtual void visitRelativeScope (
const String& scopeName,
Visitor& visitor)
const;
159 double evaluate()
const;
166 double evaluate (
const Scope& scope)
const;
171 double evaluate (
const Scope& scope,
String& evaluationError)
const;
182 Expression adjustedToGiveNewResult (
double targetValue,
const Scope& scope)
const;
188 bool operator== (
const Symbol&)
const noexcept;
189 bool operator!= (
const Symbol&)
const noexcept;
206 bool referencesSymbol (
const Symbol& symbol,
const Scope& scope)
const;
209 bool usesAnySymbols()
const;
227 Type getType() const noexcept;
230 String getSymbolOrFunction() const;
235 int getNumInputs() const;
Holds a resizable array of primitive or copy-by-value objects.
Wraps a pointer to a null-terminated UTF-8 character string, and provides various methods to operate ...
Used as a callback by the Scope::visitRelativeScope() method.
When evaluating an Expression object, this class is used to resolve symbols and perform functions tha...
A class for dynamically evaluating simple numeric expressions.
A smart-pointer class which points to a reference-counted object.
JUCE_API RelativeTime JUCE_CALLTYPE operator-(RelativeTime t1, RelativeTime t2) noexcept
Subtracts two RelativeTimes.
Represents a symbol that is used in an Expression.
String symbolName
The name of the symbol.
String scopeUID
The unique ID of the Scope that contains this symbol.