fastdo  0.5.12
eienexpr::Expression类 参考

表达式 更多...

#include <eienexpr.hpp>

类 eienexpr::Expression 继承关系图:
eienexpr::Expression 的协作图:

Public 成员函数

 Expression (VarContext *ctx, Expression *owner, void *data)
 
virtual ~Expression ()
 
 Expression (Expression const &other)
 
Expressionoperator= (Expression const &other)
 
virtual ExprAtomclone () const
 克隆一个atom 更多...
 
virtual winux::String toString () const
 字符串形式输出 更多...
 
virtual bool evaluate (winux::SimplePointer< ExprOperand > *result)
 计算,结果不一定是值,还可以是其他操作数 更多...
 
bool isEmpty () const
 
VarContextgetVarContext () const
 
void * getDataPtr () const
 取得外部数据对象指针 更多...
 
void _clear ()
 
void _addAtom (ExprAtom *atom)
 添加一个原子,atom必须是new的或者clone()的 更多...
 
- Public 成员函数 继承自 eienexpr::ExprOperand
 ExprOperand ()
 
virtual ~ExprOperand ()
 
winux::Mixed val ()
 把操作数计算成可用的值,如果不能算,则抛出异常 更多...
 
ExprOperandType getOperandType () const
 取得操作数类型 更多...
 
- Public 成员函数 继承自 eienexpr::ExprAtom
 ExprAtom ()
 
virtual ~ExprAtom ()
 
ExprAtomType getAtomType () const
 原子类型 更多...
 

Public 属性

std::vector< ExprAtom * > _suffixAtoms
 后缀式原子 更多...
 
VarContext_varCtx
 变量场景 更多...
 
Expression_owner
 拥有者 更多...
 
void * _data
 外部数据 更多...
 

友元

class ExprIdentifier
 
class ExprParser
 

额外继承的成员函数

- Public 类型 继承自 eienexpr::ExprOperand
enum  ExprOperandType {
  eotLiteral, eotIdentifier, eotReference, eotFunction,
  eotExpression
}
 
- Public 类型 继承自 eienexpr::ExprAtom
enum  ExprAtomType { eatOperator, eatOperand }
 
- Protected 属性 继承自 eienexpr::ExprOperand
ExprOperandType _operandType
 
- Protected 属性 继承自 eienexpr::ExprAtom
ExprAtomType _atomType
 

详细描述

表达式

在文件 eienexpr.hpp284 行定义.

构造及析构函数说明

eienexpr::Expression::Expression ( VarContext ctx,
Expression owner,
void *  data 
)
virtual eienexpr::Expression::~Expression ( )
virtual
eienexpr::Expression::Expression ( Expression const &  other)

成员函数说明

void eienexpr::Expression::_addAtom ( ExprAtom atom)

添加一个原子,atom必须是new的或者clone()的

void eienexpr::Expression::_clear ( )
virtual ExprAtom* eienexpr::Expression::clone ( ) const
virtual

克隆一个atom

实现了 eienexpr::ExprAtom.

virtual bool eienexpr::Expression::evaluate ( winux::SimplePointer< ExprOperand > *  result)
virtual

计算,结果不一定是值,还可以是其他操作数

实现了 eienexpr::ExprOperand.

void* eienexpr::Expression::getDataPtr ( ) const

取得外部数据对象指针

VarContext* eienexpr::Expression::getVarContext ( ) const
bool eienexpr::Expression::isEmpty ( ) const
inline

在文件 eienexpr.hpp296 行定义.

Expression& eienexpr::Expression::operator= ( Expression const &  other)
virtual winux::String eienexpr::Expression::toString ( ) const
virtual

字符串形式输出

实现了 eienexpr::ExprAtom.

友元及相关函数文档

friend class ExprIdentifier
friend

在文件 eienexpr.hpp311 行定义.

friend class ExprParser
friend

在文件 eienexpr.hpp312 行定义.

类成员变量说明

void* eienexpr::Expression::_data

外部数据

在文件 eienexpr.hpp305 行定义.

Expression* eienexpr::Expression::_owner

拥有者

在文件 eienexpr.hpp304 行定义.

std::vector<ExprAtom *> eienexpr::Expression::_suffixAtoms

后缀式原子

在文件 eienexpr.hpp302 行定义.

VarContext* eienexpr::Expression::_varCtx

变量场景

在文件 eienexpr.hpp303 行定义.


该类的文档由以下文件生成: