Antares Simulator
Power System Simulator
scenarioGroupRepo.h
1 #pragma once
2 #include <map>
3 #include <memory>
4 #include <stdexcept>
5 #include <string>
6 
7 #include "antares/optimisation/linear-problem-api/IScenario.h"
8 
9 namespace Antares::Optimisation
10 {
12 {
13 public:
14  void addScenario(const std::string& groupId,
15  std::unique_ptr<LinearProblemApi::IScenario>&& scenario);
16 
17  [[nodiscard]] const LinearProblemApi::IScenario& scenario(const std::string& groupId) const;
18 
19 private:
20  std::map<std::string, std::unique_ptr<LinearProblemApi::IScenario>> scenarioGroups_;
21 
22 public:
23  class AlreadyExists final: public std::invalid_argument
24  {
25  public:
26  explicit AlreadyExists(const std::string& groupId);
27  };
28 
29  class DoesNotExist final: public std::invalid_argument
30  {
31  public:
32  explicit DoesNotExist(const std::string& groupId);
33  };
34 };
35 } // namespace Antares::Optimisation
Interface for scenarios in the linear problem API. A scenario is an association of years to their res...
Definition: IScenario.h:36
Definition: scenarioGroupRepo.h:12
Definition: VariableNode.h:9