🛰️航天仿真算法库 SpaceAST
0.0.1
载入中...
搜索中...
未找到
ExprIf.hpp
浏览该文件的文档.
1
20
21
#pragma once
22
23
#include "AstGlobal.h"
24
#include "AstScript/Expr.hpp"
25
#include "AstScript/ExprBlock.hpp"
26
#include "AstUtil/SharedPtr.hpp"
27
#include <vector>
28
29
AST_NAMESPACE_BEGIN
30
34
class
ExprIf
:
public
Expr
35
{
36
public
:
37
AST_EXPR(
ExprIf
)
38
39
40
ExprIf
();
41
42
43
ExprIf
(
Expr
* condition,
Expr
* block);
44
45
47
~ExprIf
()
override
=
default
;
48
51
Value
* eval()
const override
;
52
54
errc_t setValue(
Value
* val)
override
;
55
59
std::string getExpression(
Object
* context=
nullptr
)
const override
;
60
64
void
addElseif(
Expr
* condition,
Expr
* block);
65
68
void
setElse(
Expr
* block);
69
70
private
:
71
struct
ConditionBranch {
72
SharedPtr<Expr>
condition;
73
SharedPtr<Expr>
block;
74
};
75
std::vector<ConditionBranch> conditionBranches_;
76
SharedPtr<Expr>
elseBlock_;
77
};
78
79
80
81
AST_NAMESPACE_END
ast::ExprIf
if条件语句表达式
定义
ExprIf.hpp:35
ast::ExprIf::~ExprIf
~ExprIf() override=default
析构函数
ast::Expr
表达式基类
定义
Expr.hpp:39
ast::Object
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义
Object.hpp:81
ast::SharedPtr
共享指针
定义
SharedPtr.hpp:33
ast::Value
值对象基类
定义
Value.hpp:36
src
AstScript
Expression
ExprIf.hpp
制作者
1.12.0