⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expression.h

📁 表达式计算expression evaluate expression evaluate expression evaluate
💻 H
字号:
/******************************************************************************
文件名          :Expression.h
版本号          : 1.0
作者            : Amos Peng
生成日期        :2008-07-08
最近修改        :
功能描述        :表达式类
函数列表        :

*******************************************************************************/
#ifndef _EXPRESSION_H_
#define _EXPRESSION_H_


#include <string>
#include <new>
#include <memory>

#include "Parser.h"
#include "Nodes.h"
#include "Except.h"

namespace ExprEval
{
    // Forward declarations
    class CValueList;
    class CFunctionList;
    class CNode;

    class CExpression
    {
        public:
            CExpression();
            ~CExpression();

            // Variable list
            void SetValueList(CValueList *vlist);
            CValueList* GetValueList() const;

            // Function list
            void SetFunctionList(CFunctionList *flist);
            CFunctionList* GetFunctionList() const;

            // Abort control
            virtual bool DoTestAbort();
            void TestAbort(bool force = false);
            void SetTestAbortCount(unsigned long count);

            // Parse an expression
            void Parse(const ::std::string &exstr);

            // Clear an expression
            void Clear();

            // Evaluate expression
            double Evaluate();

        protected:
            CValueList* m_vlist;
            CFunctionList* m_flist;
            CNode* m_expr;
            unsigned long m_abortcount;
            unsigned long m_abortreset;
    };

}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -