Fix uninitialized warning because of boost::optional

This commit is contained in:
Patrick Niklaus 2018-02-01 15:16:38 +00:00 committed by Patrick Niklaus
parent 425a46fe78
commit 371dc57dfc

View File

@ -127,7 +127,10 @@ RestrictionParser::TryParse(const osmium::Relation &relation) const
InputConditionalTurnRestriction restriction_container; InputConditionalTurnRestriction restriction_container;
restriction_container.is_only = is_only_restriction; restriction_container.is_only = is_only_restriction;
boost::optional<std::uint64_t> from = boost::none, via = boost::none, to = boost::none; constexpr auto INVALID_OSM_ID = std::numeric_limits<std::uint64_t>::max();
auto from = INVALID_OSM_ID;
auto via = INVALID_OSM_ID;
auto to = INVALID_OSM_ID;
bool is_node_restriction = true; bool is_node_restriction = true;
for (const auto &member : relation.members()) for (const auto &member : relation.members())
@ -208,17 +211,17 @@ RestrictionParser::TryParse(const osmium::Relation &relation) const
} }
} }
if (from && via && to) if (from != INVALID_OSM_ID && via != INVALID_OSM_ID && to != INVALID_OSM_ID)
{ {
if (is_node_restriction) if (is_node_restriction)
{ {
// template struct requires bracket for ID initialisation :( // template struct requires bracket for ID initialisation :(
restriction_container.node_or_way = InputNodeRestriction{{*from}, {*via}, {*to}}; restriction_container.node_or_way = InputNodeRestriction{{from}, {via}, {to}};
} }
else else
{ {
// template struct requires bracket for ID initialisation :( // template struct requires bracket for ID initialisation :(
restriction_container.node_or_way = InputWayRestriction{{*from}, {*via}, {*to}}; restriction_container.node_or_way = InputWayRestriction{{from}, {via}, {to}};
} }
return restriction_container; return restriction_container;
} }