MCPcopy Create free account
hub / github.com/Project-OSRM/osrm-backend / makeRouteLeg

Function makeRouteLeg

src/engine/api/json_factory.cpp:260–282  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

258}
259
260util::json::Object makeRouteLeg(guidance::RouteLeg leg,
261 util::json::Array steps,
262 std::optional<util::json::Value> leg_geometry,
263 std::optional<util::json::Object> annotation)
264{
265 util::json::Object route_leg;
266 route_leg.values.reserve(5);
267
268 route_leg.values.emplace("distance", leg.distance);
269 route_leg.values.emplace("duration", leg.duration);
270 route_leg.values.emplace("weight", leg.weight);
271 route_leg.values.emplace("summary", std::move(leg.summary));
272 route_leg.values.emplace("steps", std::move(steps));
273 if (leg_geometry)
274 {
275 route_leg.values.emplace("geometry", std::move(*leg_geometry));
276 }
277 if (annotation)
278 {
279 route_leg.values.emplace("annotation", std::move(*annotation));
280 }
281 return route_leg;
282}
283
284util::json::Array makeRouteLegs(std::vector<guidance::RouteLeg> legs,
285 std::vector<util::json::Value> leg_geometries,

Callers 1

makeRouteLegsFunction · 0.85

Calls 2

reserveMethod · 0.45
emplaceMethod · 0.45

Tested by

no test coverage detected