Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
VariableFileReader.h
1//
2
3#ifndef ANTARESXPANSION_VARIABLEFILEREADER_H
4#define ANTARESXPANSION_VARIABLEFILEREADER_H
5
6#include <antares-xpansion/lpnamer/helper/ColumnToChange.h>
7#include <istream>
8#include <sstream>
9#include <string>
10#include <vector>
11
12#include "antares-xpansion/lpnamer/model/ActiveLinks.h"
13#include "antares-xpansion/xpansion_interfaces/LogUtils.h"
14
15void updateMapColumn(const std::vector<ActiveLink>& links,
16 int link_id,
17 colId id,
18 unsigned int time_step,
19 std::map<linkId, ColumnsToChange>& mapColumn);
20
22{
23 std::string ntc_variable_name;
24 std::string cost_origin_variable_name;
25 std::string cost_extremite_variable_name;
26};
27
29{
30public:
31 VariableFileReader(const std::filesystem::path& fileName,
32 const std::vector<ActiveLink>& links,
33 const VariableFileReadNameConfiguration& variable_name_config,
34 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger);
35 VariableFileReader(std::istringstream& fileInIStringStream,
36 const std::vector<ActiveLink>& links,
37 const VariableFileReadNameConfiguration& variable_name_config,
38 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger);
39 void ReadVarsFromStream(std::istream& stream,
40 const std::vector<ActiveLink>& links,
41 const VariableFileReadNameConfiguration& variable_name_config);
42 const std::vector<std::string>& getVariables() const;
43 const std::map<linkId, ColumnsToChange>& getNtcVarColumns() const;
44 const std::map<linkId, ColumnsToChange>& getDirectCostVarColumns() const;
45 const std::map<linkId, ColumnsToChange>& getIndirectCostVarColumns() const;
46
47 class VariablesNotFound: public LogUtils::XpansionError<std::runtime_error>
48 {
49 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
50 };
51
52private:
53 std::string getVarNameFromLine(const std::string& line) const;
54
55 std::vector<std::string> _variables;
56 std::map<linkId, ColumnsToChange> _ntc_p_var_columns;
57 std::map<linkId, ColumnsToChange> _indirect_cost_p_var_columns;
58 std::map<linkId, ColumnsToChange> _direct_cost_p_var_columns;
59 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger_;
60};
61
62#endif // ANTARESXPANSION_VARIABLEFILEREADER_H
Definition VariableFileReader.h:48
Definition VariableFileReader.h:29
Definition VariableFileReader.h:22