1 #ifndef CYMOCA_AST_EQUATION_EQUATION_H_
2 #define CYMOCA_AST_EQUATION_EQUATION_H_
6 namespace cymoca::ast::equation {
15 std::unique_ptr<INode>
clone()
const override {
return cloneList<List>(); }
25 Block(std::unique_ptr<condition::Base> condition,
26 std::unique_ptr<List> equations)
31 std::unique_ptr<INode>
clone()
const override {
37 class Simple :
public TBinary<expression::Base, expression::Base, Base> {
41 std::unique_ptr<INode>
clone()
const override {
51 std::unique_ptr<INode>
clone()
const override {
return cloneList<If>(); }
58 std::unique_ptr<INode>
clone()
const override {
return cloneList<When>(); }
std::unique_ptr< INode > clone() const override
std::unique_ptr< condition::Base > m_condition
std::unique_ptr< INode > clone() const override
std::unique_ptr< INode > clone() const override
std::unique_ptr< INode > clone() const override
std::unique_ptr< expression::Base > m_left
std::unique_ptr< expression::Base > m_right
TBinary(std::unique_ptr< Left > left, std::unique_ptr< Right > right)
std::unique_ptr< INode > clone() const override
std::unique_ptr< List > m_equations
std::vector< INode * > getChildren() override
Block(std::unique_ptr< condition::Base > condition, std::unique_ptr< List > equations)