fastdo
0.5.12
|
函数操作数 更多...
#include <eienexpr.hpp>
Public 类型 | |
typedef bool(* | FuncFunction) (std::vector< Expression * > ¶ms, winux::SimplePointer< ExprOperand > *outRetValue, void *data) |
typedef std::map< winux::String, FuncFunction > | StringFuncMap |
![]() | |
enum | ExprOperandType { eotLiteral, eotIdentifier, eotReference, eotFunction, eotExpression } |
![]() | |
enum | ExprAtomType { eatOperator, eatOperand } |
Public 成员函数 | |
ExprFunc (Expression *exprObj, winux::String const &funcName) | |
virtual | ~ExprFunc () |
ExprFunc (ExprFunc const &other) | |
ExprFunc & | operator= (ExprFunc const &other) |
virtual ExprAtom * | clone () const |
克隆一个atom 更多... | |
virtual winux::String | toString () const |
字符串形式输出 更多... | |
virtual bool | evaluate (winux::SimplePointer< ExprOperand > *result) |
计算,结果不一定是值,还可以是其他操作数 更多... | |
void | _clear () |
释放参数内存 更多... | |
void | _addParam (Expression *param) |
添加一个参数,param必须是new的或者clone()的 更多... | |
![]() | |
ExprOperand () | |
virtual | ~ExprOperand () |
winux::Mixed | val () |
把操作数计算成可用的值,如果不能算,则抛出异常 更多... | |
ExprOperandType | getOperandType () const |
取得操作数类型 更多... | |
![]() | |
ExprAtom () | |
virtual | ~ExprAtom () |
ExprAtomType | getAtomType () const |
原子类型 更多... | |
静态 Public 成员函数 | |
static void | SetFunc (winux::String const &funcName, FuncFunction fn) |
动态添加一个func 更多... | |
static bool | DelFunc (winux::String const &funcName) |
动态移除一个func 更多... | |
static bool | ModifyFunc (winux::String const &funcName, winux::String const &newFuncName, FuncFunction newFn) |
动态修改一个func 更多... | |
static bool | FindFunc (winux::String const &funcName, FuncFunction *fn) |
查找预定义的func 更多... | |
static int | GetAllFuncs (std::vector< std::pair< winux::String, FuncFunction > > *funcs) |
取得所有funcs 更多... | |
Public 属性 | |
Expression * | _exprObj |
所属表达式对象 更多... | |
winux::String | _funcName |
函数名 更多... | |
std::vector< Expression * > | _params |
参数,也是表达式 更多... | |
静态 Public 属性 | |
static StringFuncMap | _FuncsMap |
实际函数映射表 更多... | |
友元 | |
class | ExprParser |
额外继承的成员函数 | |
![]() | |
ExprOperandType | _operandType |
![]() | |
ExprAtomType | _atomType |
函数操作数
在文件 eienexpr.hpp 第 236 行定义.
typedef bool(* eienexpr::ExprFunc::FuncFunction) (std::vector< Expression * > ¶ms, winux::SimplePointer< ExprOperand > *outRetValue, void *data) |
在文件 eienexpr.hpp 第 240 行定义.
typedef std::map< winux::String, FuncFunction > eienexpr::ExprFunc::StringFuncMap |
在文件 eienexpr.hpp 第 242 行定义.
eienexpr::ExprFunc::ExprFunc | ( | Expression * | exprObj, |
winux::String const & | funcName | ||
) |
|
virtual |
eienexpr::ExprFunc::ExprFunc | ( | ExprFunc const & | other | ) |
void eienexpr::ExprFunc::_addParam | ( | Expression * | param | ) |
添加一个参数,param必须是new的或者clone()的
void eienexpr::ExprFunc::_clear | ( | ) |
释放参数内存
|
virtual |
克隆一个atom
实现了 eienexpr::ExprAtom.
|
static |
动态移除一个func
|
virtual |
计算,结果不一定是值,还可以是其他操作数
|
static |
查找预定义的func
|
static |
取得所有funcs
|
static |
动态修改一个func
|
static |
动态添加一个func
|
virtual |
字符串形式输出
实现了 eienexpr::ExprAtom.
|
friend |
在文件 eienexpr.hpp 第 278 行定义.
Expression* eienexpr::ExprFunc::_exprObj |
所属表达式对象
在文件 eienexpr.hpp 第 254 行定义.
winux::String eienexpr::ExprFunc::_funcName |
函数名
在文件 eienexpr.hpp 第 255 行定义.
|
static |
实际函数映射表
在文件 eienexpr.hpp 第 258 行定义.
std::vector<Expression *> eienexpr::ExprFunc::_params |
参数,也是表达式
在文件 eienexpr.hpp 第 256 行定义.