Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
CandidateLog.h
1#ifndef ANTARESXPANSION_CANDIDATELOG_H
2#define ANTARESXPANSION_CANDIDATELOG_H
3#include <list>
4#include <map>
5#include <string>
6
7#include "Commons.h"
8#include "antares-xpansion/xpansion_interfaces/ILogger.h"
9
10using xpansion::logger::commons::indent_0;
11using xpansion::logger::commons::indent_1;
12namespace xpansion {
13namespace logger {
14typedef std::map<std::string, std::string> value_map;
15typedef std::map<std::string, int> size_map;
16
18 public:
19 CandidateLog() = default;
20 explicit CandidateLog(const std::string &line_prefix);
21 std::string log_iteration_candidates(const LogData &_data);
22
23 private:
24 const std::string CANDIDATE = "CANDIDATE";
25 const std::string INVEST = "INVEST";
26 const std::string INVEST_MIN = "INVEST_MIN";
27 const std::string INVEST_MAX = "INVEST_MAX";
28 std::string _line_prefix = "";
29
30 std::list<value_map> _values;
31 size_map _sizes;
32
33 std::string getHeaderString() const;
34 std::string getMainBodyString(const LogData &data);
35 void set_values_and_sizes(const LogData &data);
36 static std::string get_formatted_string_from_value(double val);
37 void updateMaximumSizes(value_map &valuesMap);
38 std::string getStringBodyUsingValuesAndSizes();
39 std::string create_candidate_str(const value_map &value);
40};
41
42} // namespace logger
43} // namespace xpansion
44
45#endif // ANTARESXPANSION_CANDIDATELOG_H
Definition CandidateLog.h:17
Definition ILogger.h:48