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