From 81c5ec0777e4b9b6fed8f867d4adf14f27b05911 Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Thu, 3 Mar 2016 17:24:59 +0100 Subject: [PATCH] Const-correctnes for compressed geometry iterator --- include/extractor/guidance/toolkit.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/extractor/guidance/toolkit.hpp b/include/extractor/guidance/toolkit.hpp index 1c9e0bd4e..3dcff509d 100644 --- a/include/extractor/guidance/toolkit.hpp +++ b/include/extractor/guidance/toolkit.hpp @@ -14,6 +14,7 @@ #include #include +#include namespace osrm { @@ -27,14 +28,14 @@ namespace detail const constexpr double DESIRED_SEGMENT_LENGTH = 10.0; const constexpr bool shiftable_ccw[] = {false, true, true, false, false, true, true, false}; const constexpr bool shiftable_cw[] = {false, false, true, true, false, false, true, true}; -const constexpr uint8_t modifier_bounds[detail::num_direction_modifiers] = {0, 36, 93, 121, - 136, 163, 220, 255}; +const constexpr std::uint8_t modifier_bounds[detail::num_direction_modifiers] = { + 0, 36, 93, 121, 136, 163, 220, 255}; const constexpr double discrete_angle_step_size = 360. / 256.; template util::Coordinate getCoordinateFromCompressedRange(util::Coordinate current_coordinate, - IteratorType compressed_geometry_begin, + const IteratorType compressed_geometry_begin, const IteratorType compressed_geometry_end, const util::Coordinate final_coordinate, const std::vector &query_nodes) @@ -134,7 +135,7 @@ getRepresentativeCoordinate(const NodeID from_node, // shift an instruction around the degree circle in CCW order inline DirectionModifier forcedShiftCCW(const DirectionModifier modifier) { - return static_cast((static_cast(modifier) + 1) % + return static_cast((static_cast(modifier) + 1) % detail::num_direction_modifiers); } @@ -150,7 +151,7 @@ inline DirectionModifier shiftCCW(const DirectionModifier modifier) inline DirectionModifier forcedShiftCW(const DirectionModifier modifier) { return static_cast( - (static_cast(modifier) + detail::num_direction_modifiers - 1) % + (static_cast(modifier) + detail::num_direction_modifiers - 1) % detail::num_direction_modifiers); } @@ -234,7 +235,7 @@ inline bool isConflict(const TurnInstruction first, const TurnInstruction second inline DiscreteAngle discretizeAngle(const double angle) { BOOST_ASSERT(angle >= 0. && angle <= 360.); - return DiscreteAngle(static_cast(angle / detail::discrete_angle_step_size)); + return DiscreteAngle(static_cast(angle / detail::discrete_angle_step_size)); } inline double angleFromDiscreteAngle(const DiscreteAngle angle)