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

#include <ExprRange.hpp>

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

Public 成员函数

 ExprRange (Expr *start, Expr *stop, Expr *step=nullptr)
 
Exprstart () const
 
Exprstop () const
 
Exprstep () const
 
Valueeval () const override
 
std::string getExpression (Object *context) const override
 
- Public 成员函数 继承自 ast::Expr
virtual void accept (ExprVisitor &visitor)=0
 
Exprexpand () const
 
virtual errc_t setValue (Value *val)
 
virtual errc_t setValueDouble (double val)
 
virtual errc_t getValueDouble (double &val) const
 
 ObjectNamed ()=default
 
 ObjectNamed (StringView name)
 
- Public 成员函数 继承自 ast::ObjectNamed
 ObjectNamed ()=default
 
 ObjectNamed (StringView name)
 
const std::string & getName () const override
 
void setName (StringView name) override
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
virtual ClassgetType () const
 
virtual std::string getRepresentation () const
 
const std::string & name () const
 
std::string displayName () 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
 
template<typename T >
getParent () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 
bool readOnly () const
 
void setReadOnly (bool readOnly)
 
bool active () const
 
void setActive (bool active)
 
bool isComponent () const
 
void setIsComponent (bool isComponent)
 
bool isEntity () const
 
void setIsEntity (bool isEntity)
 
const char * tr (const char *msg) const
 
 Referenced ()
 
 Referenced (initial_strong_ref_t)
 
- Public 成员函数 继承自 ast::Referenced
 Referenced (initial_strong_ref_t)
 
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 ()
 

Protected 属性

SharedPtr< Exprstart_
 
SharedPtr< Exprstop_
 
SharedPtr< Exprstep_
 

额外继承的成员函数

- 静态 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 &)
 
- Protected 成员函数 继承自 ast::Referenced
void setDestructed ()
 

详细描述

范围表达式

范围表达式用于表示一个范围,包含起始值、结束值和步长(可选)。 步长表达式可选,默认值为1。

构造及析构函数说明

◆ ExprRange()

ast::ExprRange::ExprRange ( Expr * start,
Expr * stop,
Expr * step = nullptr )

范围表达式构造函数

参数
start范围的起始值表达式
stop范围的结束值表达式
step范围的步长表达式(可选)

成员函数说明

◆ eval()

Value * ast::ExprRange::eval ( ) const
overridevirtual

评估范围表达式

返回
范围表达式的结果值

实现了 ast::Expr.

◆ getExpression()

std::string ast::ExprRange::getExpression ( Object * context) const
overridevirtual

获取范围表达式的字符串表示

参数
context上下文对象(可选)
返回
范围表达式的字符串表示

实现了 ast::Expr.

◆ start()

Expr * ast::ExprRange::start ( ) const
inline

获取范围的起始值表达式

返回
范围的起始值表达式

◆ step()

Expr * ast::ExprRange::step ( ) const
inline

获取范围的步长表达式

返回
范围的步长表达式
警告
可能返回nullptr,此时表示步长表达式未指定,默认值为1

◆ stop()

Expr * ast::ExprRange::stop ( ) const
inline

获取范围的结束值表达式

返回
范围的结束值表达式

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