osrm-backend/util
Daniel J. Hofmann 5a257416ca Completely rip out Boost's Spirit / Karma for casting.
This rips out the Bost Spirit / Karma conversion code, using the stdlib
and lightweight alternatives instead.

The main benefit is an immense decrease in compilation times, for every
translation unit that requires the `util/cast.hpp` header.

Note: compared to the version before, there is a minor change in
behavior: the double `-0` was printed as `0` before and is now printed
as `-0`. This comes from the IEE754 standard, specifying signed zeros,
that is `+0` and `-0`. Interesting for us: JavaScript uses IEE754,
resulting in no breakage if used in arithmetic.

Small test case, left hand side was before, right hand side is now:

    $ ./a.out
    -1.123457 vs -1.123457
    -1 vs -1
    -1.3 vs -1.3
    0 vs -0
    0 vs 0
    0 vs 0
    1.3 vs 1.3
    1.123457 vs 1.123457

References:

- https://en.wikipedia.org/wiki/Signed_zero
- http://www.boost.org/doc/libs/1_59_0/doc/html/boost/algorithm/trim_right_if.html
- http://www.boost.org/doc/libs/1_59_0/doc/html/boost/algorithm/is_any_of.html
2015-09-29 16:15:54 +02:00
..
bearing.hpp Refactor bearing implementation. 2015-09-29 16:15:54 +02:00
cast.hpp Completely rip out Boost's Spirit / Karma for casting. 2015-09-29 16:15:54 +02:00
compute_angle.cpp sprinkle a number of noexcepts into the code 2015-04-02 11:36:04 +02:00
compute_angle.hpp sprinkle a number of noexcepts into the code 2015-04-02 11:36:04 +02:00
container.hpp Revert parallelization on util that is used in the server. Let node do this. 2015-09-28 20:26:29 +02:00
datastore_options.hpp Remove Boost.Filesystem v3 fix for Boost < 1.48, refactor call sites. 2015-09-29 16:15:54 +02:00
dist_table_wrapper.hpp fix some small issues: 2015-09-01 15:20:35 +02:00
fingerprint_impl.hpp.in Fix magic number check for fingerprint 2015-06-19 17:51:35 +02:00
fingerprint.cpp add (new) fingerprint.cpp that includes the generated headers 2015-03-31 10:47:21 +02:00
fingerprint.hpp Check if FingerPrint is trivial. TODO: Add this for all other data that is going to be serialized 2015-06-19 18:10:49 +02:00
floating_point.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
git_sha.cpp.in change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
git_sha.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
graph_loader.hpp Revert the usage of TBB's iterator pair taking overloads. 2015-09-28 20:37:09 +02:00
graph_utils.hpp Restructure the construction of the undirected graph 2015-07-01 18:07:29 +02:00
ini_file.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
integer_range.hpp Change integer_range's .size() member function return type to size_t. 2015-09-28 15:00:21 +02:00
iso_8601_duration_parser.hpp First step into overhauling the edge storage 2015-06-01 17:22:12 +02:00
json_logger.hpp Do not include Boost.Thread is a sub-header is good enough. 2015-09-28 15:00:20 +02:00
json_renderer.hpp Remove hand written conversion code and replace with stdlib features. 2015-09-29 16:15:54 +02:00
json_util.hpp Address some of the remaining issues of the code review 2015-03-04 01:34:45 +01:00
lua_util.hpp Follow symlinks 2015-05-15 15:30:41 +02:00
make_unique.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
matching_debug_info.hpp Modernize the code base to C++11 standards and beyond. 2015-08-18 12:56:34 +02:00
mercator.cpp sprinkle a number of noexcepts into the code 2015-04-02 11:36:04 +02:00
mercator.hpp sprinkle a number of noexcepts into the code 2015-04-02 11:36:04 +02:00
osrm_exception.cpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
osrm_exception.hpp Modernize the code base to C++11 standards and beyond. 2015-08-18 12:56:34 +02:00
range_algorithms.hpp fix license header 2015-02-26 18:54:13 +01:00
routed_options.hpp Add loading of .core file to InternalDataFacade 2015-08-19 12:27:44 +02:00
simple_logger.cpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
simple_logger.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
std_hash.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
string_util.hpp Replace custom replace utility with the stdlib's replace algorithm. 2015-09-28 15:00:20 +02:00
timing_util.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
trigonometry_table.hpp change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
xml_renderer.hpp Remove hand written conversion code and replace with stdlib features. 2015-09-29 16:15:54 +02:00