Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
VariableNode.h
1#pragma once
2
3#include <string>
4
5#include <antares/expressions/nodes/Leaf.h>
6#include "antares/expressions/visitors/TimeIndex.h"
7
8namespace Antares::Expressions::Visitors
9{
10enum class TimeIndex : unsigned int;
11}
12
13namespace Antares::Expressions::Nodes
14{
15
19class VariableNode final: public Leaf<std::string>
20{
21public:
22 explicit VariableNode(
23 const std::string& value,
24 Visitors::TimeIndex time_index = Visitors::TimeIndex::VARYING_IN_TIME_AND_SCENARIO):
26 time_index_(time_index)
27 {
28 }
29
30 std::string name() const override
31 {
32 return "VariableNode";
33 }
34
35 Visitors::TimeIndex timeIndex() const
36 {
37 return time_index_;
38 }
39
40private:
41 Visitors::TimeIndex time_index_;
42};
43} // namespace Antares::Expressions::Nodes
Represents a leaf node in a syntax tree.
Definition Leaf.h:34
std::string value() const
Definition Leaf.h:51
Represents a variable node in a syntax tree, storing a string value.
Definition VariableNode.h:20