fastdo  0.6.8
eienexpr::ExprFunc类 参考

函数操作数 更多...

#include <eienexpr.hpp>

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

Public 类型

typedef bool(* FuncFunction) (Expression *e, std::vector< Expression * > &params, winux::SimplePointer< ExprOperand > *outRetValue, void *data)
 
typedef std::map< winux::String, FuncFunctionStringFuncMap
 
- Public 类型 继承自 eienexpr::ExprOperand
enum  ExprOperandType {
  eotLiteral, eotIdentifier, eotReference, eotFunction,
  eotExpression
}
 
- Public 类型 继承自 eienexpr::ExprAtom
enum  ExprAtomType { eatOperator, eatOperand }
 

Public 成员函数

 ExprFunc (Expression *exprObj, winux::String const &funcName)
 
virtual ~ExprFunc ()
 
 ExprFunc (ExprFunc const &other)
 
ExprFuncoperator= (ExprFunc const &other)
 
virtual ExprAtomclone () const
 克隆一个atom 更多...
 
virtual winux::String toString () const
 字符串形式输出 更多...
 
virtual bool evaluate (winux::SimplePointer< ExprOperand > *result)
 计算,结果不一定是值,还可以是其他操作数 更多...
 
void _clear ()
 释放参数内存 更多...
 
void _addParam (Expression *param)
 添加一个参数,param必须是new的或者clone()的 更多...
 
- Public 成员函数 继承自 eienexpr::ExprOperand
 ExprOperand ()
 
virtual ~ExprOperand ()
 
winux::Mixed val ()
 把操作数计算成可用的值,如果不能算,则抛出异常 更多...
 
bool evaluateMixedPtr (winux::Mixed **ppv)
 计算,直到结果是指定的操作数或Literal。 更多...
 
ExprOperandType getOperandType () const
 取得操作数类型 更多...
 
- Public 成员函数 继承自 eienexpr::ExprAtom
 ExprAtom ()
 
virtual ~ExprAtom ()
 
ExprAtomType getAtomType () const
 原子类型 更多...
 

Public 属性

Expression_exprObj
 所属表达式对象 更多...
 
winux::String _funcName
 函数名 更多...
 
std::vector< Expression * > _params
 参数,也是表达式 更多...
 

友元

class ExprParser
 

额外继承的成员函数

- Protected 属性 继承自 eienexpr::ExprOperand
ExprOperandType _operandType
 
- Protected 属性 继承自 eienexpr::ExprAtom
ExprAtomType _atomType
 

详细描述

函数操作数

在文件 eienexpr.hpp258 行定义.

成员类型定义说明

typedef bool(* eienexpr::ExprFunc::FuncFunction) (Expression *e, std::vector< Expression * > &params, winux::SimplePointer< ExprOperand > *outRetValue, void *data)

在文件 eienexpr.hpp262 行定义.

在文件 eienexpr.hpp264 行定义.

构造及析构函数说明

eienexpr::ExprFunc::ExprFunc ( Expression exprObj,
winux::String const &  funcName 
)
virtual eienexpr::ExprFunc::~ExprFunc ( )
virtual
eienexpr::ExprFunc::ExprFunc ( ExprFunc const &  other)

成员函数说明

void eienexpr::ExprFunc::_addParam ( Expression param)

添加一个参数,param必须是new的或者clone()的

void eienexpr::ExprFunc::_clear ( )

释放参数内存

virtual ExprAtom* eienexpr::ExprFunc::clone ( ) const
virtual

克隆一个atom

实现了 eienexpr::ExprAtom.

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

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

实现了 eienexpr::ExprOperand.

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

字符串形式输出

实现了 eienexpr::ExprAtom.

友元及相关函数文档

friend class ExprParser
friend

在文件 eienexpr.hpp286 行定义.

类成员变量说明

Expression* eienexpr::ExprFunc::_exprObj

所属表达式对象

在文件 eienexpr.hpp276 行定义.

winux::String eienexpr::ExprFunc::_funcName

函数名

在文件 eienexpr.hpp277 行定义.

std::vector<Expression *> eienexpr::ExprFunc::_params

参数,也是表达式

在文件 eienexpr.hpp278 行定义.


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