check for empty on string_ref, rather than string itself
This commit is contained in:
		
							parent
							
								
									89080fb2b0
								
							
						
					
					
						commit
						4166b1ebbf
					
				| @ -77,8 +77,8 @@ TurnType::Enum IntersectionHandler::findBasicTurnType(const EdgeID via_edge, | |||||||
|     const auto &out_name_id = |     const auto &out_name_id = | ||||||
|         node_data_container.GetAnnotation(node_based_graph.GetEdgeData(road.eid).annotation_data) |         node_data_container.GetAnnotation(node_based_graph.GetEdgeData(road.eid).annotation_data) | ||||||
|             .name_id; |             .name_id; | ||||||
|     const auto &in_name_empty = name_table.GetNameForID(in_name_id).to_string().empty(); |     const auto &in_name_empty = name_table.GetNameForID(in_name_id).empty(); | ||||||
|     const auto &out_name_empty = name_table.GetNameForID(out_name_id).to_string().empty(); |     const auto &out_name_empty = name_table.GetNameForID(out_name_id).empty(); | ||||||
| 
 | 
 | ||||||
|     const auto same_name = !util::guidance::requiresNameAnnounced( |     const auto same_name = !util::guidance::requiresNameAnnounced( | ||||||
|         in_name_id, out_name_id, name_table, street_name_suffix_table); |         in_name_id, out_name_id, name_table, street_name_suffix_table); | ||||||
|  | |||||||
| @ -40,8 +40,8 @@ inline auto makeCheckRoadForName(const NameID name_id, | |||||||
|                 .name_id; |                 .name_id; | ||||||
|         if (name_id == EMPTY_NAMEID || road_name_id == EMPTY_NAMEID) |         if (name_id == EMPTY_NAMEID || road_name_id == EMPTY_NAMEID) | ||||||
|             return true; |             return true; | ||||||
|         const auto road_name_empty = name_table.GetNameForID(road_name_id).to_string().empty(); |         const auto road_name_empty = name_table.GetNameForID(road_name_id).empty(); | ||||||
|         const auto in_name_empty = name_table.GetNameForID(name_id).to_string().empty(); |         const auto in_name_empty = name_table.GetNameForID(name_id).empty(); | ||||||
|         if (in_name_empty || road_name_empty) |         if (in_name_empty || road_name_empty) | ||||||
|             return true; |             return true; | ||||||
|         const auto requires_announcement = |         const auto requires_announcement = | ||||||
| @ -480,9 +480,8 @@ bool MergableRoadDetector::IsTrafficIsland(const NodeID intersection_node, | |||||||
|                     .name_id; |                     .name_id; | ||||||
|             if (road_name_id == EMPTY_NAMEID) |             if (road_name_id == EMPTY_NAMEID) | ||||||
|                 return false; |                 return false; | ||||||
|             const auto &road_name_empty = name_table.GetNameForID(road_name_id).to_string().empty(); |             const auto &road_name_empty = name_table.GetNameForID(road_name_id).empty(); | ||||||
|             const auto &required_name_empty = |             const auto &required_name_empty = name_table.GetNameForID(required_name_id).empty(); | ||||||
|                 name_table.GetNameForID(required_name_id).to_string().empty(); |  | ||||||
|             if (required_name_empty && road_name_empty) |             if (required_name_empty && road_name_empty) | ||||||
|                 return false; |                 return false; | ||||||
|             return !util::guidance::requiresNameAnnounced( |             return !util::guidance::requiresNameAnnounced( | ||||||
|  | |||||||
| @ -386,14 +386,14 @@ Intersection MotorwayHandler::fromRamp(const EdgeID via_eid, Intersection inters | |||||||
|                 //
 |                 //
 | ||||||
|                 //     7         1
 |                 //     7         1
 | ||||||
|                 //          0
 |                 //          0
 | ||||||
|                 const auto &first_intersection_name = |                 const auto &first_intersection_name_empty = | ||||||
|                     name_table.GetNameForID(first_intersection_data.name_id).to_string(); |                     name_table.GetNameForID(first_intersection_data.name_id).empty(); | ||||||
|                 const auto &second_intersection_name = |                 const auto &second_intersection_name_empty = | ||||||
|                     name_table.GetNameForID(second_intersection_data.name_id).to_string(); |                     name_table.GetNameForID(second_intersection_data.name_id).empty(); | ||||||
|                 if (intersection[1].entry_allowed) |                 if (intersection[1].entry_allowed) | ||||||
|                 { |                 { | ||||||
|                     if (isMotorwayClass(intersection[1].eid, node_based_graph) && |                     if (isMotorwayClass(intersection[1].eid, node_based_graph) && | ||||||
|                         !second_intersection_name.empty() && !first_intersection_name.empty() && |                         !second_intersection_name_empty && !first_intersection_name_empty && | ||||||
|                         first_second_same_name) |                         first_second_same_name) | ||||||
|                     { |                     { | ||||||
|                         // circular order indicates a merge to the left (0-3 onto 4
 |                         // circular order indicates a merge to the left (0-3 onto 4
 | ||||||
| @ -418,7 +418,7 @@ Intersection MotorwayHandler::fromRamp(const EdgeID via_eid, Intersection inters | |||||||
|                 { |                 { | ||||||
|                     BOOST_ASSERT(intersection[2].entry_allowed); |                     BOOST_ASSERT(intersection[2].entry_allowed); | ||||||
|                     if (isMotorwayClass(intersection[2].eid, node_based_graph) && |                     if (isMotorwayClass(intersection[2].eid, node_based_graph) && | ||||||
|                         !second_intersection_name.empty() && !first_intersection_name.empty() && |                         !second_intersection_name_empty && !first_intersection_name_empty && | ||||||
|                         first_second_same_name) |                         first_second_same_name) | ||||||
|                     { |                     { | ||||||
|                         // circular order (5-0) onto 4
 |                         // circular order (5-0) onto 4
 | ||||||
|  | |||||||
| @ -297,8 +297,9 @@ RoundaboutType RoundaboutHandler::getRoundaboutType(const NodeID nid) const | |||||||
| 
 | 
 | ||||||
|                 if (edge_data.name_id != EMPTY_NAMEID) |                 if (edge_data.name_id != EMPTY_NAMEID) | ||||||
|                 { |                 { | ||||||
|                     const auto &edge_name = name_table.GetNameForID(edge_data.name_id).to_string(); |                     const auto &edge_name_empty = | ||||||
|                     if (!edge_name.empty()) |                         name_table.GetNameForID(edge_data.name_id).empty(); | ||||||
|  |                     if (!edge_name_empty) | ||||||
|                     { |                     { | ||||||
| 
 | 
 | ||||||
|                         const auto announce = [&](unsigned id) { |                         const auto announce = [&](unsigned id) { | ||||||
|  | |||||||
| @ -475,9 +475,7 @@ operator()(const NodeID /*nid*/, const EdgeID source_edge_id, Intersection inter | |||||||
|             // Name mismatch: check roads at `c` and `d` for same name
 |             // Name mismatch: check roads at `c` and `d` for same name
 | ||||||
|             const auto name_mismatch = [&](const NameID road_name_id) { |             const auto name_mismatch = [&](const NameID road_name_id) { | ||||||
|                 const auto unnamed = |                 const auto unnamed = | ||||||
|                     road_name_id == EMPTY_NAMEID |                     road_name_id == EMPTY_NAMEID || name_table.GetNameForID(road_name_id).empty(); | ||||||
|                         ? true |  | ||||||
|                         : name_table.GetNameForID(road_name_id).to_string().empty(); |  | ||||||
| 
 | 
 | ||||||
|                 return unnamed || |                 return unnamed || | ||||||
|                        util::guidance::requiresNameAnnounced(road_name_id,              //
 |                        util::guidance::requiresNameAnnounced(road_name_id,              //
 | ||||||
| @ -502,17 +500,18 @@ operator()(const NodeID /*nid*/, const EdgeID source_edge_id, Intersection inter | |||||||
|                 node_data_container |                 node_data_container | ||||||
|                     .GetAnnotation(node_based_graph.GetEdgeData(main_road.eid).annotation_data) |                     .GetAnnotation(node_based_graph.GetEdgeData(main_road.eid).annotation_data) | ||||||
|                     .name_id; |                     .name_id; | ||||||
|  |             const auto main_road_name_empty = main_road_name_id == EMPTY_NAMEID || | ||||||
|  |                                               name_table.GetNameForID(main_road_name_id).empty(); | ||||||
|             const auto &sliproad_annotation = |             const auto &sliproad_annotation = | ||||||
|                 node_data_container.GetAnnotation(sliproad_edge_data.annotation_data); |                 node_data_container.GetAnnotation(sliproad_edge_data.annotation_data); | ||||||
|             const auto &sliproad_name_empty = |             const auto sliproad_name_empty = | ||||||
|                 sliproad_annotation.name_id == EMPTY_NAMEID |                 sliproad_annotation.name_id == EMPTY_NAMEID || | ||||||
|                     ? true |                 name_table.GetNameForID(sliproad_annotation.name_id).empty(); | ||||||
|                     : name_table.GetNameForID(sliproad_annotation.name_id).to_string().empty(); |             const auto candidate_road_name_empty = | ||||||
|             const auto &main_road_name = name_table.GetNameForID(main_road_name_id).to_string(); |                 candidate_data.name_id == EMPTY_NAMEID || | ||||||
|             const auto &candidate_road_name = |                 name_table.GetNameForID(candidate_data.name_id).empty(); | ||||||
|                 name_table.GetNameForID(candidate_data.name_id).to_string(); |  | ||||||
|             if (!sliproad_edge_data.flags.road_classification.IsLinkClass() && |             if (!sliproad_edge_data.flags.road_classification.IsLinkClass() && | ||||||
|                 !sliproad_name_empty && !main_road_name.empty() && !candidate_road_name.empty() && |                 !sliproad_name_empty && !main_road_name_empty && !candidate_road_name_empty && | ||||||
|                 util::guidance::requiresNameAnnounced(main_road_name_id, |                 util::guidance::requiresNameAnnounced(main_road_name_id, | ||||||
|                                                       sliproad_annotation.name_id, |                                                       sliproad_annotation.name_id, | ||||||
|                                                       name_table, |                                                       name_table, | ||||||
|  | |||||||
| @ -200,9 +200,7 @@ bool TurnHandler::isObviousOfTwo(const EdgeID via_edge, | |||||||
|     const bool turn_is_perfectly_straight = |     const bool turn_is_perfectly_straight = | ||||||
|         angularDeviation(road.angle, STRAIGHT_ANGLE) < std::numeric_limits<double>::epsilon(); |         angularDeviation(road.angle, STRAIGHT_ANGLE) < std::numeric_limits<double>::epsilon(); | ||||||
|     const auto &via_name_empty = |     const auto &via_name_empty = | ||||||
|         via_data.name_id == EMPTY_NAMEID |         via_data.name_id == EMPTY_NAMEID || name_table.GetNameForID(via_data.name_id).empty(); | ||||||
|             ? true |  | ||||||
|             : name_table.GetNameForID(via_data.name_id).to_string().empty(); |  | ||||||
|     if (!via_name_empty) |     if (!via_name_empty) | ||||||
|     { |     { | ||||||
|         const auto same_name = !util::guidance::requiresNameAnnounced( |         const auto same_name = !util::guidance::requiresNameAnnounced( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user