Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Chapter 1. Boost.Convert 2.0

Boost , Chapter 1. Boost.Convert 2.0 ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Next

Chapter 1. Boost.Convert 2.0

Vladimir Batov

Распространяется под лицензией Boost Software License, версия 1.0. См. копию по адресуhttp://www.boost.org/LICENSE_1_0.txt.

Таблица содержания

Rationale
Introduction
Getting Started
Basic Deployment
Flexibility and Adaptability to Change
Basic Conversion-Failure Detection
Better Error Detection
Default Converter
Alternative Interface
Converters
Integration of User-Defined Types
Boost.Convert with Standard Algorithms
Performance
Converters Compared
Boost.Convert Overhead
The Bigger Picture
Beyond Basic Conversions
Converters in Detail
boost::cnv::lexical_cast Converter
boost::cnv::stream Converter
Formatting Support
Numeric Base
Field Width, Fill Character and Adjustment
Leading Whitespace Characters
Format of Boolean Values
Locale Support
Supported String Types
Wide String
Custom String Types
The Default Constructible Type Requirement
boost::cnv::strtol Converter
Basic Deployment
Formatting Support
Numeric Base (bin, oct, dec, hex)
Field Width, Fill Character and Adjustment
Leading Whitespace Characters
Floating-Point Precision
Supported String Types
Wide String
Custom String Types
Design Notes
Requirements
Converter Signature
User Interface Signature
Supporting Tools
BOOST_DECLARE_HAS_MEMBER
BOOST_DECLARE_IS_CALLABLE
boost::cnv::is_cnv
Supported Compilers
Acknowledgements
Boost.Convert C++ Reference
Header <boost/convert.hpp>
Header <boost/convert/base.hpp>
Header <boost/convert/lexical_cast.hpp>
Header <boost/convert/parameters.hpp>
Header <boost/convert/printf.hpp>
Header <boost/convert/spirit.hpp>
Header <boost/convert/stream.hpp>
Header <boost/convert/strtol.hpp>
Header <boost/make_default.hpp>
Index

Я широко использовал текстовые конфигурационные файлы, а также обрабатывал и готовил значительные объемы данных в XML. Следовательно, у меня была потребность врасширяемойбиблиотеке, которая обеспечивала бы.Униформаинтерфейс для преобразования различных данных между их внутренними двоичными представлениями и внешними (преимущественно текстовыми) представлениями.

Библиотека<boost::lexical_cast>(с ее ортогональным и расширяемым дизайном) выглядела очень перспективной по сравнению с другими (см.Струнные Форматеры усадебной фермыХ. Саттера для обсуждения альтернатив). К сожалению,

  • Многие развёрнутые типы пользователей просто не соответствовали<boost::lexical_cast>требованиям (а именно,).Конструктивность по умолчанию;
  • неспособность преобразовать параметр конфигурации, предоставленный пользователем, не была такой редкой или исключительной, чтобы оправдать хлопоты и накладные расходы на обработку исключений и, следовательно, дополнительную гибкость, если,, когдаи, какобрабатывать сбои преобразования;
  • Необходимы дополнительные функции, связанные с конверсией (форматирование и поддержка локализации).

Первоначальная надежда состояла в том, что<boost::lexical_cast>будет применяться к более широкому спектру сценариев развертывания. Однако после обсуждений с Кевлином Хенни (автором<boost::lexical_cast>) и на форуме Boost Developers было коллективно решено, что желаемые расширения не совместимы с оригинальным дизайном и идеей того, что<boost::lexical_cast>воплощено и, следовательно, необходим новый компонент с более богатым интерфейсом и функциональностью. Это решение привело к развитию.Boost.Convert, описанные в этом документе.

Последний пересмотр: 21 сентября 2016 в 14:49:24 GMT


Next

Статья Chapter 1. Boost.Convert 2.0 раздела Chapter 1. Boost.Convert 2.0 может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:22:15/0.0087549686431885/1