Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
ProblemGenerationOptions.h
1//
2// Created by marechaljas on 27/10/23.
3//
4
5#pragma once
6
7#include <filesystem>
8#include <vector>
9
11 public:
12 virtual ~ProblemGenerationOptions() = default;
13 [[nodiscard]] virtual std::filesystem::path XpansionOutputDir() const = 0;
14 [[nodiscard]] virtual std::string MasterFormulation() const = 0;
15 [[nodiscard]] virtual std::string AdditionalConstraintsFilename() const = 0;
16 [[nodiscard]] virtual std::filesystem::path ArchivePath() const = 0;
17 [[nodiscard]] virtual std::filesystem::path WeightsFile() const = 0;
18 [[nodiscard]] virtual std::vector<int> ActiveYears() const = 0;
19 [[nodiscard]] virtual bool UnnamedProblems() const = 0;
20 [[nodiscard]] virtual std::filesystem::path deduceXpansionDirIfEmpty(
21 std::filesystem::path xpansion_output_dir,
22 const std::filesystem::path& archive_path) const = 0;
23 [[nodiscard]] virtual std::filesystem::path StudyPath() const = 0;
24
26 : public LogUtils::XpansionError<std::runtime_error> {
27 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
28
29 public:
30 explicit ConflictingParameters(const std::string& err_message,
31 const std::string& log_location)
32 : XpansionError(err_message, log_location) {}
33 };
34
36 : public LogUtils::XpansionError<std::runtime_error> {
37 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
38
39 public:
40 explicit MismatchedParameters(const std::string& err_message,
41 const std::string& log_location)
42 : XpansionError(err_message, log_location) {}
43 };
44
45 class MissingParameters : public LogUtils::XpansionError<std::runtime_error> {
46 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
47
48 public:
49 explicit MissingParameters(const std::string& err_message,
50 const std::string& log_location)
51 : XpansionError(err_message, log_location) {}
52 };
53};
Definition ProblemGenerationOptions.h:26
Definition ProblemGenerationOptions.h:36
Definition ProblemGenerationOptions.h:45
Definition ProblemGenerationOptions.h:10