clang-format

This commit is contained in:
Lev Dragunov 2017-06-07 15:39:08 +03:00
parent 6b0bcb5171
commit d7035291ea
4 changed files with 36 additions and 44 deletions

View File

@ -15,7 +15,8 @@ namespace engine
namespace detail
{
std::string encode(std::vector<int> &numbers);
std::int32_t decode_polyline_integer(std::string::const_iterator &first, std::string::const_iterator last);
std::int32_t decode_polyline_integer(std::string::const_iterator &first,
std::string::const_iterator last);
}
using CoordVectorForwardIter = std::vector<util::Coordinate>::const_iterator;
// Encodes geometry into polyline format.
@ -73,8 +74,8 @@ std::vector<util::Coordinate> decodePolyline(const std::string &polyline)
latitude += dlat;
longitude += dlon;
coordinates.emplace_back(
util::Coordinate{util::FixedLongitude{static_cast<std::int32_t>(longitude*polyline_to_coordinate)},
coordinates.emplace_back(util::Coordinate{
util::FixedLongitude{static_cast<std::int32_t>(longitude * polyline_to_coordinate)},
util::FixedLatitude{static_cast<std::int32_t>(latitude * polyline_to_coordinate)}});
}
return coordinates;

View File

@ -136,8 +136,8 @@ struct BaseParametersGrammar : boost::spirit::qi::grammar<Iterator, Signature>
qi::_1)];
query_rule =
((location_rule % ';') |
polyline_rule | polyline6_rule)[ph::bind(&engine::api::BaseParameters::coordinates, qi::_r1) = qi::_1];
((location_rule % ';') | polyline_rule |
polyline6_rule)[ph::bind(&engine::api::BaseParameters::coordinates, qi::_r1) = qi::_1];
radiuses_rule = qi::lit("radiuses=") >
(-(qi::double_ | unlimited_rule) %

View File

@ -54,7 +54,9 @@ std::string encode(std::vector<int> &numbers)
}
// https://developers.google.com/maps/documentation/utilities/polylinealgorithm
std::int32_t decode_polyline_integer(std::string::const_iterator &first, std::string::const_iterator last) {
std::int32_t decode_polyline_integer(std::string::const_iterator &first,
std::string::const_iterator last)
{
// varint coding parameters
const std::uint32_t bits_in_chunk = 5;
const std::uint32_t continuation_bit = 1 << bits_in_chunk;

View File

@ -14,26 +14,19 @@ BOOST_AUTO_TEST_CASE(polyline5_test_case)
using namespace osrm::engine;
using namespace osrm::util;
const std::vector<Coordinate> coords({
{FixedLongitude{-73990171}, FixedLatitude{40714701}},
const std::vector<Coordinate> coords({{FixedLongitude{-73990171}, FixedLatitude{40714701}},
{FixedLongitude{-73991801}, FixedLatitude{40717571}},
{FixedLongitude{-73985751}, FixedLatitude{40715651}}
});
{FixedLongitude{-73985751}, FixedLatitude{40715651}}});
const std::vector<Coordinate> coords_truncated({
{FixedLongitude{-73990170}, FixedLatitude{40714700}},
const std::vector<Coordinate> coords_truncated(
{{FixedLongitude{-73990170}, FixedLatitude{40714700}},
{FixedLongitude{-73991800}, FixedLatitude{40717570}},
{FixedLongitude{-73985750}, FixedLatitude{40715650}}
});
{FixedLongitude{-73985750}, FixedLatitude{40715650}}});
BOOST_CHECK_EQUAL(encodePolyline(coords.begin(), coords.end()), "{aowFperbM}PdI~Jyd@");
BOOST_CHECK(
std::equal(
coords_truncated.begin(),
BOOST_CHECK(std::equal(coords_truncated.begin(),
coords_truncated.end(),
decodePolyline(encodePolyline(coords.begin(), coords.end())).begin()
)
);
decodePolyline(encodePolyline(coords.begin(), coords.end())).begin()));
}
BOOST_AUTO_TEST_CASE(polyline6_test_case)
@ -41,20 +34,16 @@ BOOST_AUTO_TEST_CASE(polyline6_test_case)
using namespace osrm::engine;
using namespace osrm::util;
const std::vector<Coordinate> coords({
{FixedLongitude{-73990171}, FixedLatitude{40714701}},
const std::vector<Coordinate> coords({{FixedLongitude{-73990171}, FixedLatitude{40714701}},
{FixedLongitude{-73991801}, FixedLatitude{40717571}},
{FixedLongitude{-73985751}, FixedLatitude{40715651}}
});
{FixedLongitude{-73985751}, FixedLatitude{40715651}}});
BOOST_CHECK_EQUAL(encodePolyline<1000000>(coords.begin(), coords.end()), "y{_tlAt`_clCkrDzdB~vBcyJ");
BOOST_CHECK(
std::equal(
BOOST_CHECK_EQUAL(encodePolyline<1000000>(coords.begin(), coords.end()),
"y{_tlAt`_clCkrDzdB~vBcyJ");
BOOST_CHECK(std::equal(
coords.begin(),
coords.end(),
decodePolyline<1000000>(encodePolyline<1000000>(coords.begin(), coords.end())).begin()
)
);
decodePolyline<1000000>(encodePolyline<1000000>(coords.begin(), coords.end())).begin()));
}
BOOST_AUTO_TEST_SUITE_END()