Antares Simulator
Power System Simulator
Modeler.h
1 // Copyright 2007-2025, RTE (https://www.rte-france.com)
2 // See AUTHORS.txt
3 // SPDX-License-Identifier: MPL-2.0
4 // This file is part of Antares-Simulator,
5 // Adequacy and Performance assessment for interconnected energy networks.
6 //
7 // Antares_Simulator is free software: you can redistribute it and/or modify
8 // it under the terms of the Mozilla Public Licence 2.0 as published by
9 // the Mozilla Foundation, either version 2 of the License, or
10 // (at your option) any later version.
11 //
12 // Antares_Simulator is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // Mozilla Public Licence 2.0 for more details.
16 //
17 // You should have received a copy of the Mozilla Public Licence 2.0
18 // along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
19 
20 #pragma once
21 #include <filesystem>
22 
23 namespace Antares::Solver
24 {
25 class ILoader;
26 class IWriter;
27 
28 class Modeler final
29 {
30 public:
31  Modeler(ILoader& loader, IWriter& writer);
32  void run() const;
33 
34  class ModelerError: public std::runtime_error
35  {
36  public:
37  explicit ModelerError(const std::string& s):
38  runtime_error(s)
39  {
40  }
41  };
42 
43  ILoader& loader_;
44  IWriter& writer_;
45 };
46 } // namespace Antares::Solver
Definition: ILoader.h:28
Definition: IWriter.h:59
Definition: Modeler.h:29