...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
boost::uint128_typeconversions. Notify user at compile time if the
std::numeric_limitsare not specialized for 128bit types and
boost::lexical_castcan not make conversions.
boost::uint128_typetypes (requires GCC 4.7 or higher).
lexical_castfunction (was broken in 1.53.0).
lexical_cast(const CharType* chars, std::size_t count)function overload.
boost::bad_lexical_castexception is now globaly visible and can be catched even if code is compiled with -fvisibility=hidden.
sizeof(double) < sizeof(long double)).
std::numeric_limits, the current version now chooses a precision to match.
lexical_castnow supports conversions from
wchar_t *, and
lexical_castassumed that the conventional stream extractor operators were sufficient for reading values. However, string I/O is asymmetric, with the result that spaces play the role of I/O separators rather than string content. The current version fixes this error for
std::stringand, where supported,
lexical_cast<std::string>("Hello, World")succeeds instead of failing with a
lexical_castallowed unsafe and meaningless conversions to pointers. The current version now throws a
bad_lexical_castfor conversions to pointers:
lexical_cast<char *>("Goodbye, World")now throws an exception instead of causing undefined behavior.