Antares Simulator
Power System Simulator
PortFieldNode.h
1 /*
2 ** Copyright 2007-2025, 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/Leaf.h>
25 
26 namespace Antares::Expressions::Nodes
27 {
31 class PortFieldNode: public Node
32 {
33 public:
40  explicit PortFieldNode(const std::string& port_name, const std::string& field_name);
41 
47  const std::string& getPortName() const;
48 
54  const std::string& getFieldName() const;
55 
56  bool operator==(const PortFieldNode& other) const = default;
57 
58  std::string name() const override
59  {
60  return "PortFieldNode";
61  }
62 
63 private:
64  std::string port_name_;
65  std::string field_name_;
66 };
67 } // namespace Antares::Expressions::Nodes
Base class for nodes in a syntax tree.
Definition: Node.h:30
Represents a port field node in a syntax tree.
Definition: PortFieldNode.h:32
const std::string & getPortName() const
Retrieves the port name.
Definition: PortFieldNode.cpp:31
const std::string & getFieldName() const
Retrieves the field name.
Definition: PortFieldNode.cpp:36
PortFieldNode(const std::string &port_name, const std::string &field_name)
Constructs a port field node with the specified port and field names.
Definition: PortFieldNode.cpp:25