With C++11 the stdlib gains: - `std::stoi` function family to convert from `std::string` to integral type - `std::to_string` to convert from number types to `std::string` The only reason for hand-writing the conversion code therefore is performance. I benchmarked an `osrm-extract` with the hand-written code against one with the stdlib conversion features and could not find any significant difference (we switch back and forth between C++ and Lua, shaving off a few us in conversion doesn't gain us much). Formatting arithmetic types in the default format with given precision requires streams, but is doable in a few lines of idiomatic stdlib code. For this, there is now the following function template available: template <Arithmetic T, int Precision = 6> inline std::string to_string_with_precision(const T); that requires integral or floating point types and returns a formatted string in the defaukt format with the given precision applied. In addition this completely rips out Boost.Spirit from the `casts.hpp` header, resulting in faster compile times. Boom! References: - http://en.cppreference.com/w/cpp/string/basic_string/stol - http://en.cppreference.com/w/cpp/string/basic_string/to_string - http://www.kumobius.com/2013/08/c-string-to-int/ |
||
---|---|---|
.. | ||
compression_type.hpp | ||
header.hpp | ||
reply.cpp | ||
reply.hpp | ||
request.hpp |