24 #include "antares/io/inputs/yml-system/system.h"
26 #include "yaml-cpp/yaml.h"
43 inline T as_fallback_default(
const Node& n)
49 struct convert<Antares::IO::Inputs::YmlSystem::Parameter>
57 rhs.id = node[
"id"].as<std::string>();
58 rhs.time_dependent = node[
"time-dependent"].as<
bool>();
59 rhs.scenario_dependent = node[
"scenario-dependent"].as<
bool>();
60 rhs.value = node[
"value"].as<std::string>();
66 struct convert<Antares::IO::Inputs::YmlSystem::Component>
74 rhs.id = node[
"id"].as<std::string>();
75 rhs.model = node[
"model"].as<std::string>();
76 rhs.scenarioGroup = node[
"scenario-group"].as<std::string>(
"");
77 rhs.parameters = as_fallback_default<
78 std::vector<Antares::IO::Inputs::YmlSystem::Parameter>>(node[
"parameters"]);
84 struct convert<Antares::IO::Inputs::YmlSystem::Connection>
88 if (!node.IsMap() || node.size() != 4)
92 rhs.firstEntry.componentId = node[
"component1"].as<std::string>();
93 rhs.firstEntry.portId = node[
"port1"].as<std::string>();
95 rhs.secondEntry.componentId = node[
"component2"].as<std::string>();
96 rhs.secondEntry.portId = node[
"port2"].as<std::string>();
102 struct convert<Antares::IO::Inputs::YmlSystem::AreaConnection>
106 if (!node.IsMap() || node.size() != 3)
110 rhs.componentId = node[
"component"].as<std::string>();
111 rhs.portId = node[
"port"].as<std::string>();
112 rhs.areaId = node[
"area"].as<std::string>();
118 struct convert<Antares::IO::Inputs::YmlSystem::System>
122 rhs.id = node[
"id"].as<std::string>();
123 rhs.libraries = as_fallback_default<std::vector<std::string>>(node[
"model-libraries"]);
124 rhs.components = as_fallback_default<
125 std::vector<Antares::IO::Inputs::YmlSystem::Component>>(node[
"components"]);
126 rhs.connections = as_fallback_default<
127 std::vector<Antares::IO::Inputs::YmlSystem::Connection>>(node[
"connections"]);
128 rhs.areaConnections = as_fallback_default<
129 std::vector<Antares::IO::Inputs::YmlSystem::AreaConnection>>(node[
"area-connections"]);