🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::Value类 参考

#include <Value.hpp>

+ 类 ast::Value 继承关系图:

Public 成员函数

Valueeval () const final
 
errc_t setValue (Value *) final
 
void insert (const std::string &name, Value *value)
 
template<typename T >
void insert (const std::string &name, T value)
 
Valueoperator[] (const std::string &name)
 
const Valueoperator[] (const std::string &name) const
 
Valueoperator[] (const char *name)
 
const Valueoperator[] (const char *name) const
 
Valueoperator[] (size_t index)
 
const Valueoperator[] (size_t index) const
 
bool isNull () const
 
bool isBool () const
 
bool isInt () const
 
bool isDouble () const
 
bool isQuantity () const
 
bool isString () const
 
std::string toString () const
 
Quantity toQuantity () const
 
double toDouble () const
 
int toInt () const
 
bool toBool () const
 
 operator std::string () const
 
 operator Quantity () const
 
 operator double () const
 
 operator int () const
 
 operator bool () const
 
ValDicttoValDict () const
 
const NamedValueVector & items () const
 
const Valueoperator>> (bool &val) const
 
const Valueoperator>> (int &val) const
 
const Valueoperator>> (double &val) const
 
- Public 成员函数 继承自 ast::Expr
void setName (StringView name) override
 
virtual void accept (ExprVisitor &visitor)=0
 
virtual Exprexec () const
 
virtual std::string getExpression (Object *context=nullptr) const =0
 
 Object ()
 
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
 Object (initial_strong_ref_t)
 
 Object (const Object &obj)
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
 Object (initial_strong_ref_t)
 
virtual ClassgetType () const
 
virtual std::string getRepresentation () const
 
virtual const std::string & getName () const
 
const std::string & name () const
 
errc_t showEditDialog ()
 
Attribute attr (StringView path)
 
errc_t getAttrBool (StringView path, bool &value) const
 
errc_t getAttrInt (StringView path, int &value) const
 
errc_t getAttrDouble (StringView path, double &value) const
 
errc_t getAttrString (StringView path, std::string &value) const
 
errc_t getAttrObject (StringView path, Object *&value) const
 
double getAttrDouble (StringView path) const
 
int getAttrInt (StringView path) const
 
bool getAttrBool (StringView path) const
 
std::string getAttrString (StringView path) const
 
ObjectgetAttrObject (StringView path) const
 
errc_t setAttrBool (StringView path, bool value)
 
errc_t setAttrInt (StringView path, int value)
 
errc_t setAttrDouble (StringView path, double value)
 
errc_t setAttrString (StringView path, StringView value)
 
errc_t setAttrObject (StringView path, Object *value)
 
Classtype () const
 
const std::string & typeName () const
 
PropertygetProperty (StringView fieldName) const
 
ObjectId getID () const
 
errc_t setParentScope (Object *parentScope)
 
ObjectgetParentScope () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
uint32_t refCount () const
 
uint32_t weakRefCount () const
 
bool isDestructed () const
 
void destruct ()
 
uint32_t incWeakRef ()
 
uint32_t decWeakRef ()
 
uint32_t incRef ()
 
uint32_t decRef ()
 
uint32_t decRefNoDelete ()
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 

静态 Public 成员函数

static ValueNullValue ()
 
- 静态 Public 成员函数 继承自 ast::Object
static ObjectResolve (StringView value)
 
static void ClassInit (Class *cls)
 
static ClassStaticType ()
 

额外继承的成员函数

- 静态 Public 属性 继承自 ast::Object
static Class staticType
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &obj)
 
Objectoperator= (const Object &)
 

详细描述

值对象基类

所有值对象的基类,包含值对象的公共接口。 值对象用于表示表达式的求值结果,可以是各种类型的数据,如整数、浮点数、字符串、布尔值等。 值对象的特点是“求值的结果等于自身”

成员函数说明

◆ eval()

Value * ast::Value::eval ( ) const
inlinefinalvirtual

求值表达式

实现了 ast::Expr.

◆ setValue()

errc_t ast::Value::setValue ( Value * )
inlinefinalvirtual

设置值

重载 ast::Expr .


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