Исправление некоторых вопросов с boost::int128_type и boost::uint128_type<314> конверсии. Уведомить пользователя во время компиляции, если std::цифровые_ограничения не специализируются на 128-битных типах и boost::lexical_cast не могут сделать конверсий.
boost 1.54.0 :
Добавить код для конвертации boost::int128_type и boost::uint128_type Типы (требума GCC 4.7 или выше).
Конверсия к указателям теперь не будет компилироваться, вместо того, чтобы бросаться на время бега.
Восстановленная способность получать указатели на функцию lexical_cast (была нарушена в 1.53.0).
boost 1.53.0:
Гораздо лучшее обнаружение входных и выходных потоков для определенных типов пользователей.
boost 1.52.0 :
Восстановленный сборник на MSVC-2003 (был разбит в 1.51.0).
Лучшее исполнение, меньшее использование памяти для boost::array<character_type,N> иstd.
boost 1.50.0 :
boost::bad_lexical_cast исключение в настоящее время глобально видно и может быть выловлено, даже если код составлен с -fvisibility=hidden.
Теперь можно собрать библиотеку с исключениями для инвалидов.
Лучшая производительность, меньшее использование памяти и исправления для boost::iterator_range<character_type*> конверсии.
boost 1.49.0 :
Восстановленная работа с типо-оформленным wchar_t (компиляция флаг /Zc:wchar_t- для Visual Studio).
Лучшая производительность и меньшее использование памяти для boost::контейнер::basic_string конверсии.
boost 1.48.0:
Добавить код для работы с Inf и NaN на любой платформе.
Лучшая производительность и меньшее использование памяти для конверсий в поплавковый тип (и для двойного типа, если размер(ДП)<размер(longДП>>).
boost 1.47.0:
Оптимизация для "С" и других мест без группирования чисел.
Лучшая производительность и меньшее использование памяти для неподписанного char и подписанных конверсий char.
Лучшая производительность и меньшее использование памяти для преобразования в арифметические типы.
Лучшая производительность и меньшее использование памяти для преобразования из арифметического типа в арифметический тип.
Непосредственно конструировать Цель из Источника на некоторых конверсиях (например, преобразования из строки в строку, от массива до строки, от char до char и другие).
Call-by-const reference for the parameters. Это требует частичной специализации шаблонов класса, поэтому он не работает для MSVC 6, и он использует оригинальный проход по стоимости там.
Поддержка MSVC 6 обесценена и будет удалена в будущей версии Boost.
Заднее:
Предыдущая версия lexical_cast использовала прецизионную точность потока по умолчанию для чтения и записи чисел с плавающей точкой. Для цифр, которые имеют соответствующую специализацию std::нумерные_ограничения, текущая версия теперь выбирает точность для соответствия.
Предыдущая версия lexical_cast не поддерживала преобразование в или из каких-либо широкоформатных типов. Для компиляторов с полной языковой и библиотечной поддержкой для широких персонажей, lexical_cast теперь поддерживает конверсию от wchar_t, wchar_t* и std::wstring<>.
Предыдущая версия lexical_cast предполагала, что обычных операторов потоковых экстракторов было достаточно для значений чтения. Однако строка I/O является асимметричной, в результате чего пространства играют роль отделителей I/O, а не строкового контента. Текущая версия исправляет эту ошибку для std::string и, при поддержке, std::wstring: lexical_cast<std::string>("Hello, World").
Предыдущая версия lexical_cast позволила небезопасные и бессмысленные преобразования указателей. Текущая версия теперь бросает bad_lexical_cast для конверсий в указатели: lexical_cast<char*>( "Прощай, мир") теперь бросает исключение вместо того, чтобы вызвать неопределенное поведение.
Статья Changes раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 19. Boost.Lexical_Cast 1.0 может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.