IEntityCalculator


This module has been removed in release 14.0.0. Use Script module instead.

Interface of entity calculator which is responsible for calculation of specific types of expression.

You can find more information in comments below.

class IEntityCalculator
    {
    public:
        virtual ERROR_INFO getLastError() = 0; // Return last error information 
        virtual IOperatorCalculator *getOperatorCalculator() = 0; // Return assigned or default operator calculator 
    
        virtual bool setOperatorCalculator(IOperatorCalculator *value) = 0; // Set new operator calculator. Old one will be destroyed. If nullptr is passes, default one will be used 
    
        virtual bool Pre(ICalculator *calculator, CExpression *expression, CVariable *parent, CVariable *value) = 0; // Apply "pre" operators(like ++x, --x) 
        virtual bool Post(ICalculator *calculator, CExpression *expression, CVariable *parent, CVariable *value) = 0; // Apply "post" operators(like, x++, x--). Could be applied only on identifier expression 
        virtual CVariable *List(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type List 
        virtual CVariable *Procedure(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Procedure 
        virtual CVariable *Subscript(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Subscript 
        virtual CVariable *Value(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Value 
        virtual CVariable *Complex(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Complex 
        virtual CVariable *Range(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Range 
        virtual CVariable *Array(ICalculator *calculator, CExpression *expression, CVariable *parent) = 0; // Calculate expresson of type Array 
    
        virtual void Release() = 0; // Delete itself 
    };
Namespace: nitisa::scripting
Include: Nitisa/Modules/Scripting/IEntityCalculator.h