Class implements base expression runner functionality. Can be used as base class only.
You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.
class CExpressionRunner :public virtual IExpressionRunner, public virtual CReleasable
{
protected:
IErrorListener *m_pErrorListener; // Error listener
std::vector<std::pair<String, Variable>> m_aVariables; // Variable list
IFunction *m_pFunction; // Prepared function
void BeforeRelease() override;
CExpressionRunner(); // Constructor
public:
IErrorListener* &ErrorListener; // Error listener. Can be nullptr if no additional error information is required
// IExpressionRunner getters
size_t getVariableCount() const override;
Variable *getVariable(const size_t index) override;
Variable *getVariable(const String &name) override;
// IExpressionRunner variables
bool AddVariable(const String &name, const Variable &variable) override;
bool DeleteVariable(const size_t index) override;
bool DeleteVariable(const String &name) override;
bool DeleteVariables() override;
};
Namespace: | nitisa::script |
Include: | Nitisa/Modules/Script/Core/ExpressionRunner.h |