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;
12
13namespace xpansion
14{
15namespace logger
16{
17typedef std::map<std::string, std::string> value_map;
18typedef std::map<std::string, int> size_map;
19
21{
22public:
23 CandidateLog() = default;
24 explicit CandidateLog(const std::string& line_prefix);
25 std::string log_iteration_candidates(const LogData& _data);
26
27private:
28 const std::string CANDIDATE = "CANDIDATE";
29 const std::string INVEST = "INVEST";
30 const std::string INVEST_MIN = "INVEST_MIN";
31 const std::string INVEST_MAX = "INVEST_MAX";
32 std::string _line_prefix = "";
33
34 std::list<value_map> _values;
35 size_map _sizes;
36
37 std::string getHeaderString() const;
38 std::string getMainBodyString(const LogData& data);
39 void set_values_and_sizes(const LogData& data);
40 static std::string get_formatted_string_from_value(double val);
41 void updateMaximumSizes(value_map& valuesMap);
42 std::string getStringBodyUsingValuesAndSizes();
43 std::string create_candidate_str(const value_map& value);
44};
45
46} // namespace logger
47} // namespace xpansion
48
49#endif // ANTARESXPANSION_CANDIDATELOG_H
Definition CandidateLog.h:21
Definition ILogger.h:51