COperatorCalculator


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

Default implementation of operator calculator. It is used in default entity calculator if another operator calculator is not specified. It is used for calculation of result of operator applyment for arguments.

You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.

class COperatorCalculator :public virtual IOperatorCalculator
    {
    public:
        CVariable *Percent(CVariable *value1, CVariable *value2) override;
        CVariable *Ampersand(CVariable *value1, CVariable *value2) override;
        CVariable *Asterisk(CVariable *value1, CVariable *value2) override;
        CVariable *Plus(CVariable *value1, CVariable *value2) override;
        CVariable *Minus(CVariable *value1, CVariable *value2) override;
        CVariable *Period(CVariable *value1, CVariable *value2) override;
        CVariable *Slash(CVariable *value1, CVariable *value2) override;
        CVariable *Less(CVariable *value1, CVariable *value2) override;
        CVariable *Equal(CVariable *value1, CVariable *value2) override;
        CVariable *Greater(CVariable *value1, CVariable *value2) override;
        CVariable *Caret(CVariable *value1, CVariable *value2) override;
        CVariable *Pipe(CVariable *value1, CVariable *value2) override;
        CVariable *ExclamationEqual(CVariable *value1, CVariable *value2) override;
        CVariable *Exclamation2Equal(CVariable *value1, CVariable *value2) override;
        CVariable *DoubleAmpersand(CVariable *value1, CVariable *value2) override;
        CVariable *LessEqual(CVariable *value1, CVariable *value2) override;
        CVariable *Less2Equal(CVariable *value1, CVariable *value2) override;
        CVariable *LessGreater(CVariable *value1, CVariable *value2) override;
        CVariable *DoubleLess(CVariable *value1, CVariable *value2) override;
        CVariable *DoubleEqual(CVariable *value1, CVariable *value2) override;
        CVariable *TripleEqual(CVariable *value1, CVariable *value2) override;
        CVariable *DoubleGreater(CVariable *value1, CVariable *value2) override;
        CVariable *GreaterEqual(CVariable *value1, CVariable *value2) override;
        CVariable *Greater2Equal(CVariable *value1, CVariable *value2) override;
        CVariable *DoublePipe(CVariable *value1, CVariable *value2) override;
        CVariable *SymAnd(CVariable *value1, CVariable *value2) override;
        CVariable *SymOr(CVariable *value1, CVariable *value2) override;
        CVariable *SymXor(CVariable *value1, CVariable *value2) override;
        CVariable *SymShr(CVariable *value1, CVariable *value2) override;
        CVariable *SymShl(CVariable *value1, CVariable *value2) override;
        CVariable *SymDiv(CVariable *value1, CVariable *value2) override;
        CVariable *SymMod(CVariable *value1, CVariable *value2) override;
    
        bool PreExclamation(CVariable *value) override;
        bool PrePlus(CVariable *value) override;
        bool PreMinus(CVariable *value) override;
        bool Pre2Plus(CVariable *value) override;
        bool Pre2Minus(CVariable *value) override;
        bool PreSymNot(CVariable *value) override;
    
        bool Post2Plus(CVariable *value) override;
        bool Post2Minus(CVariable *value) override;
    
        void Release() override;
    
        virtual ~COperatorCalculator() = default;
    };
Namespace: nitisa::scripting
Include: Nitisa/Modules/Scripting/OperatorCalculator.h