osrm-backend/include
Daniel J. Hofmann 0f0db4c823 Provide correct Base64 implementation.
Phew, this was painful. Turns out most hints out there on how to use the
Boost serialization iterators are wrong. Here's why:

    transform_width<6, 8>

needs an input stream of length: common multiple of 6 and 8.

That is, the padding needs to happen _before_ using the provided
iterators, otherwise the behavior is undefined!

See: http://www.boost.org/doc/libs/1_60_0/boost/archive/iterators/transform_width.hpp

Thanks @mokob for pointing that out to me!

We also need to manually add as many padding chars "=" to the encoded
result as many bytes we had to append to the input to conform to the
rule above.

Decoding then knows the number of padding chars by counting for "=" and
then using it in order to split off the last bytes from the decoded
result.
2016-04-05 22:58:32 +02:00
..
contractor Enables the use of multiple segment-speed-files on the osrm-contract 2016-04-05 22:58:32 +02:00
engine Provide correct Base64 implementation. 2016-04-05 22:58:32 +02:00
extractor Address PR comments 2016-04-05 22:58:32 +02:00
osrm Only allow to specify the common base path 2016-04-05 22:58:32 +02:00
server Use global uturns parameter. 2016-04-05 22:58:32 +02:00
storage std::string -> boost::filesystem::path 2016-04-05 22:58:32 +02:00
util Only allow to specify the common base path 2016-04-05 22:58:32 +02:00