diff --git a/src/utilities/scripts/windio_mapped_structs.cpp b/src/utilities/scripts/windio_mapped_structs.cpp index 691395117..f8cb18161 100644 --- a/src/utilities/scripts/windio_mapped_structs.cpp +++ b/src/utilities/scripts/windio_mapped_structs.cpp @@ -735,9 +735,13 @@ struct StiffMatrix { void parse(const YAML::Node& node) { grid = node["grid"] ? node["grid"].as>() : std::vector(); if (node["values"]) { - for (const auto& item : node["values"]) { - values.push_back(item.as>()); - } + std::transform( + node["values"].begin(), node["values"].end(), std::back_inserter(values), + [](const auto& item) { + // use 'template' keyword to treat 'as' as a dependent template name + return item.template as>(); + } + ); } } };