Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2018-12-07 08:22:31 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2018-12-07 11:05:01 +0300
commit957443418e1863c044b8810fece77cd8f8a7dcde (patch)
tree3e4fb26fbecb15ea457085f7c53ae49cee01e591 /routing_common
parentf6599d57bba8e47df5427d776ba157095a71ce67 (diff)
[routing] Making constexpr InOutCitySpeedKMpH instances.
Diffstat (limited to 'routing_common')
-rw-r--r--routing_common/bicycle_model.cpp48
-rw-r--r--routing_common/car_model.cpp44
-rw-r--r--routing_common/pedestrian_model.cpp48
-rw-r--r--routing_common/vehicle_model.hpp14
4 files changed, 77 insertions, 77 deletions
diff --git a/routing_common/bicycle_model.cpp b/routing_common/bicycle_model.cpp
index 9cda714b2a..df7a0ef66a 100644
--- a/routing_common/bicycle_model.cpp
+++ b/routing_common/bicycle_model.cpp
@@ -32,30 +32,30 @@ using MaxspeedFactor = VehicleModel::MaxspeedFactor;
// not marked as "hwtag=nobicycle" in OSM.
// Speed of road features located inside and outside cities and towns polygons in km per hour.
-// in city out city maxspeed factor is not used
-InOutCitySpeedKMpH const kSpeedTrunkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTrunkLinkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPrimaryKMpH(SpeedKMpH(10.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPrimaryLinkKMpH(SpeedKMpH(10.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedSecondaryKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedSecondaryLinkKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTertiaryKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTertiaryLinkKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedServiceKMpH(SpeedKMpH(12.0), SpeedKMpH(12.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedUnclassifiedKMpH(SpeedKMpH(12.0), SpeedKMpH(12.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedRoadKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTrackKMpH(SpeedKMpH(8.0), SpeedKMpH(8.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPathKMpH(SpeedKMpH(6.0), SpeedKMpH(6.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedBridlewayKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedCyclewayKMpH(SpeedKMpH(20.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedResidentialKMpH(SpeedKMpH(8.0), SpeedKMpH(8.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedLivingStreetKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedStepsKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPedestrianKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedFootwayKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPlatformKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPierKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedFerryKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+// in city out city maxspeed factor is not used
+InOutCitySpeedKMpH constexpr kSpeedTrunkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTrunkLinkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryKMpH(SpeedKMpH(10.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryLinkKMpH(SpeedKMpH(10.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryLinkKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryLinkKMpH(SpeedKMpH(15.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedServiceKMpH(SpeedKMpH(12.0), SpeedKMpH(12.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedUnclassifiedKMpH(SpeedKMpH(12.0), SpeedKMpH(12.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedRoadKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTrackKMpH(SpeedKMpH(8.0), SpeedKMpH(8.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPathKMpH(SpeedKMpH(6.0), SpeedKMpH(6.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedBridlewayKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedCyclewayKMpH(SpeedKMpH(20.0), SpeedKMpH(20.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedResidentialKMpH(SpeedKMpH(8.0), SpeedKMpH(8.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedLivingStreetKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedStepsKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPedestrianKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedFootwayKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPlatformKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPierKMpH(SpeedKMpH(7.0), SpeedKMpH(7.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedFerryKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
double constexpr kSpeedOffroadKMpH = 3.0;
diff --git a/routing_common/car_model.cpp b/routing_common/car_model.cpp
index de16a3ec11..57c522fb0c 100644
--- a/routing_common/car_model.cpp
+++ b/routing_common/car_model.cpp
@@ -22,28 +22,28 @@ using MaxspeedFactor = VehicleModel::MaxspeedFactor;
// See road types here:
// https://wiki.openstreetmap.org/wiki/Key:highway
// Speed of road features located inside and outside cities and towns polygons in km per hour.
-// in city out city
-InOutCitySpeedKMpH const kSpeedMotorwayKMpH(SpeedKMpH(117.8), SpeedKMpH(123.4), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedMotorwayLinkKMpH(SpeedKMpH(82.0), SpeedKMpH(81.2), MaxspeedFactor(0.85));
-InOutCitySpeedKMpH const kSpeedTrunkKMpH(SpeedKMpH(83.4), SpeedKMpH(100.2), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTrunkLinkKMpH(SpeedKMpH(73.0), SpeedKMpH(77.2), MaxspeedFactor(0.85));
-InOutCitySpeedKMpH const kSpeedPrimaryKMpH(SpeedKMpH(63.1), SpeedKMpH(75.2), MaxspeedFactor(0.95));
-InOutCitySpeedKMpH const kSpeedPrimaryLinkKMpH(SpeedKMpH(66.5), SpeedKMpH(64.8), MaxspeedFactor(0.8));
-InOutCitySpeedKMpH const kSpeedSecondaryKMpH(SpeedKMpH(52.8), SpeedKMpH(60.3), MaxspeedFactor(0.9));
-InOutCitySpeedKMpH const kSpeedSecondaryLinkKMpH(SpeedKMpH(50.2), SpeedKMpH(60.0), MaxspeedFactor(0.75));
-InOutCitySpeedKMpH const kSpeedTertiaryKMpH(SpeedKMpH(45.5), SpeedKMpH(50.5), MaxspeedFactor(0.85));
-InOutCitySpeedKMpH const kSpeedTertiaryLinkKMpH(SpeedKMpH(25.0), SpeedKMpH(30.0), MaxspeedFactor(0.7));
-InOutCitySpeedKMpH const kSpeedResidentialKMpH(SpeedKMpH(20.0), SpeedKMpH(25.0), MaxspeedFactor(0.75));
-InOutCitySpeedKMpH const kSpeedUnclassifiedKMpH(SpeedKMpH(51.3), SpeedKMpH(66.0), MaxspeedFactor(0.8));
-InOutCitySpeedKMpH const kSpeedServiceKMpH(SpeedKMpH(15.0), SpeedKMpH(15.0), MaxspeedFactor(0.8));
-InOutCitySpeedKMpH const kSpeedLivingStreetKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.75));
-InOutCitySpeedKMpH const kSpeedRoadKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.3));
-InOutCitySpeedKMpH const kSpeedTrackKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(0.3));
-InOutCitySpeedKMpH const kSpeedFerryMotorcarKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
-InOutCitySpeedKMpH const kSpeedFerryMotorcarVehicleKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
-InOutCitySpeedKMpH const kSpeedRailMotorcarVehicleKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
-InOutCitySpeedKMpH const kSpeedShuttleTrainKMpH(SpeedKMpH(25.0), SpeedKMpH(25.0), MaxspeedFactor(0.9));
-InOutCitySpeedKMpH const kSpeedPierKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
+// in city out city
+InOutCitySpeedKMpH constexpr kSpeedMotorwayKMpH(SpeedKMpH(117.8), SpeedKMpH(123.4), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedMotorwayLinkKMpH(SpeedKMpH(82.0), SpeedKMpH(81.2), MaxspeedFactor(0.85));
+InOutCitySpeedKMpH constexpr kSpeedTrunkKMpH(SpeedKMpH(83.4), SpeedKMpH(100.2), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTrunkLinkKMpH(SpeedKMpH(73.0), SpeedKMpH(77.2), MaxspeedFactor(0.85));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryKMpH(SpeedKMpH(63.1), SpeedKMpH(75.2), MaxspeedFactor(0.95));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryLinkKMpH(SpeedKMpH(66.5), SpeedKMpH(64.8), MaxspeedFactor(0.8));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryKMpH(SpeedKMpH(52.8), SpeedKMpH(60.3), MaxspeedFactor(0.9));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryLinkKMpH(SpeedKMpH(50.2), SpeedKMpH(60.0), MaxspeedFactor(0.75));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryKMpH(SpeedKMpH(45.5), SpeedKMpH(50.5), MaxspeedFactor(0.85));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryLinkKMpH(SpeedKMpH(25.0), SpeedKMpH(30.0), MaxspeedFactor(0.7));
+InOutCitySpeedKMpH constexpr kSpeedResidentialKMpH(SpeedKMpH(20.0), SpeedKMpH(25.0), MaxspeedFactor(0.75));
+InOutCitySpeedKMpH constexpr kSpeedUnclassifiedKMpH(SpeedKMpH(51.3), SpeedKMpH(66.0), MaxspeedFactor(0.8));
+InOutCitySpeedKMpH constexpr kSpeedServiceKMpH(SpeedKMpH(15.0), SpeedKMpH(15.0), MaxspeedFactor(0.8));
+InOutCitySpeedKMpH constexpr kSpeedLivingStreetKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.75));
+InOutCitySpeedKMpH constexpr kSpeedRoadKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.3));
+InOutCitySpeedKMpH constexpr kSpeedTrackKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(0.3));
+InOutCitySpeedKMpH constexpr kSpeedFerryMotorcarKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
+InOutCitySpeedKMpH constexpr kSpeedFerryMotorcarVehicleKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
+InOutCitySpeedKMpH constexpr kSpeedRailMotorcarVehicleKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
+InOutCitySpeedKMpH constexpr kSpeedShuttleTrainKMpH(SpeedKMpH(25.0), SpeedKMpH(25.0), MaxspeedFactor(0.9));
+InOutCitySpeedKMpH constexpr kSpeedPierKMpH(SpeedKMpH(10.0), SpeedKMpH(10.0), MaxspeedFactor(0.9));
double constexpr kSpeedOffroadKMpH = 10.0;
diff --git a/routing_common/pedestrian_model.cpp b/routing_common/pedestrian_model.cpp
index d880419d26..bb34454f89 100644
--- a/routing_common/pedestrian_model.cpp
+++ b/routing_common/pedestrian_model.cpp
@@ -32,30 +32,30 @@ using MaxspeedFactor = VehicleModel::MaxspeedFactor;
// not marked as "foot=no" in OSM.
// Speed of road features located inside and outside cities and towns polygons in km per hour.
-// in city out city maxspeed factor is not used
-InOutCitySpeedKMpH const kSpeedTrunkKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTrunkLinkKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPrimaryKMpH(SpeedKMpH(2.0), SpeedKMpH(2.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPrimaryLinkKMpH(SpeedKMpH(2.0), SpeedKMpH(2.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedSecondaryKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedSecondaryLinkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTertiaryKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTertiaryLinkKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedServiceKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedUnclassifiedKMpH(SpeedKMpH(4.5), SpeedKMpH(4.5), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedRoadKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedTrackKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPathKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedBridlewayKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedCyclewayKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedResidentialKMpH(SpeedKMpH(4.5), SpeedKMpH(4.5), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedLivingStreetKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedStepsKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPedestrianKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedFootwayKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPlatformKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedPierKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
-InOutCitySpeedKMpH const kSpeedFerryKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
+// in city out city maxspeed factor is not used
+InOutCitySpeedKMpH constexpr kSpeedTrunkKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTrunkLinkKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryKMpH(SpeedKMpH(2.0), SpeedKMpH(2.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPrimaryLinkKMpH(SpeedKMpH(2.0), SpeedKMpH(2.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedSecondaryLinkKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTertiaryLinkKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedServiceKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedUnclassifiedKMpH(SpeedKMpH(4.5), SpeedKMpH(4.5), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedRoadKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedTrackKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPathKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedBridlewayKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedCyclewayKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedResidentialKMpH(SpeedKMpH(4.5), SpeedKMpH(4.5), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedLivingStreetKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedStepsKMpH(SpeedKMpH(3.0), SpeedKMpH(3.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPedestrianKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedFootwayKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPlatformKMpH(SpeedKMpH(5.0), SpeedKMpH(5.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedPierKMpH(SpeedKMpH(4.0), SpeedKMpH(4.0), MaxspeedFactor(1.0));
+InOutCitySpeedKMpH constexpr kSpeedFerryKMpH(SpeedKMpH(1.0), SpeedKMpH(1.0), MaxspeedFactor(1.0));
double constexpr kSpeedOffroadKMpH = 3.0;
diff --git a/routing_common/vehicle_model.hpp b/routing_common/vehicle_model.hpp
index bb84fd31ba..fa68464422 100644
--- a/routing_common/vehicle_model.hpp
+++ b/routing_common/vehicle_model.hpp
@@ -45,9 +45,9 @@ public:
/// Speeds which are used for edge weight and ETA estimations.
struct SpeedKMpH
{
- SpeedKMpH() = default;
- explicit SpeedKMpH(double weight) noexcept : m_weight(weight), m_eta(weight) {}
- SpeedKMpH(double weight, double eta) noexcept : m_weight(weight), m_eta(eta) {}
+ constexpr SpeedKMpH() = default;
+ constexpr explicit SpeedKMpH(double weight) noexcept : m_weight(weight), m_eta(weight) {}
+ constexpr SpeedKMpH(double weight, double eta) noexcept : m_weight(weight), m_eta(eta) {}
bool operator==(SpeedKMpH const & rhs) const
{
@@ -65,8 +65,8 @@ public:
/// Both should be in range [0.0, 1.0].
struct MaxspeedFactor
{
- explicit MaxspeedFactor(double weight) noexcept : m_weight(weight), m_eta(weight) {}
- explicit MaxspeedFactor(double weight, double eta) noexcept : m_weight(weight), m_eta(eta) {}
+ constexpr explicit MaxspeedFactor(double weight) noexcept : m_weight(weight), m_eta(weight) {}
+ constexpr explicit MaxspeedFactor(double weight, double eta) noexcept : m_weight(weight), m_eta(eta) {}
bool operator==(MaxspeedFactor const & rhs) const { return m_weight == rhs.m_weight && m_eta == rhs.m_eta; }
@@ -76,8 +76,8 @@ public:
struct InOutCitySpeedKMpH
{
- InOutCitySpeedKMpH(SpeedKMpH const & inCity, SpeedKMpH const & outCity,
- MaxspeedFactor const & maxspeedFactor) noexcept
+ constexpr InOutCitySpeedKMpH(SpeedKMpH const & inCity, SpeedKMpH const & outCity,
+ MaxspeedFactor const & maxspeedFactor) noexcept
: m_inCity(inCity), m_outCity(outCity), m_maxspeedFactor(maxspeedFactor)
{
}