Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
ComponentNode.h
1/*
2** Copyright 2007-2024, RTE (https://www.rte-france.com)
3** See AUTHORS.txt
4** SPDX-License-Identifier: MPL-2.0
5** This file is part of Antares-Simulator,
6** Adequacy and Performance assessment for interconnected energy networks.
7**
8** Antares_Simulator is free software: you can redistribute it and/or modify
9** it under the terms of the Mozilla Public Licence 2.0 as published by
10** the Mozilla Foundation, either version 2 of the License, or
11** (at your option) any later version.
12**
13** Antares_Simulator is distributed in the hope that it will be useful,
14** but WITHOUT ANY WARRANTY; without even the implied warranty of
15** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16** Mozilla Public Licence 2.0 for more details.
17**
18** You should have received a copy of the Mozilla Public Licence 2.0
19** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20*/
21#pragma once
22#include <string>
23
24#include <antares/expressions/nodes/Node.h>
25
26namespace Antares::Expressions::Nodes
27{
31class ComponentNode: public Node
32{
33public:
40 explicit ComponentNode(const std::string& component_id, const std::string& component_name);
46 const std::string& getComponentId() const;
47
53 const std::string& getComponentName() const;
54
55 bool operator==(const ComponentNode& other) const = default;
56
57private:
58 std::string component_id_;
59 std::string component_name_;
60};
61
66{
67public:
69
70 std::string name() const override
71 {
72 return "ComponentVariableNode";
73 }
74};
75
80{
81public:
83
84 std::string name() const override
85 {
86 return "ComponentParameterNode";
87 }
88};
89} // namespace Antares::Expressions::Nodes
Represents a component node in a syntax tree.
Definition ComponentNode.h:32
ComponentNode(const std::string &component_id, const std::string &component_name)
Constructs a component node with the specified ID and name.
Definition ComponentNode.cpp:25
const std::string & getComponentId() const
Retrieves the component ID.
Definition ComponentNode.cpp:31
const std::string & getComponentName() const
Retrieves the component name.
Definition ComponentNode.cpp:36
Represents a component parameter node in a syntax tree.
Definition ComponentNode.h:80
Represents a component variable node in a syntax tree.
Definition ComponentNode.h:66
Base class for nodes in a syntax tree.
Definition Node.h:30