...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Copyright © 2009-2022 Vladimir Batov
Distributed under the Boost Software License, Version 1.0. See copy at http://www.boost.org/LICENSE_1_0.txt.
Table of Contents
Important | |
---|---|
Requires C++11 and up. |
I was using textual configuration files extensively and was also processing and preparing considerable amounts of data in XML. Consequently, I had a need for an extendible library that would provide a uniform interface to convert various data between their internal binary representations and external (predominantly textual) representations.
The boost::lexical_cast
library (with its orthogonal
and extendible design) looked very promising compared to others (see The String Formatters of Manor
Farm by H. Sutter for the discussion of alternatives). Unfortunately,
boost::lexical_cast
requirements (namely, Default
Constructibility);
The original hope was to see boost::lexical_cast
extended to be applicable to a wider range of deployment scenarios. However,
after discussions with Kevlin Henney (the boost::lexical_cast
author) and in the Boost Developers forum it was collectively decided that
the desired extensions were not compatible with the original design and the
idea of what boost::lexical_cast
embodied and, therefore, a new
component with richer interface and functionality was needed. That decision
resulted in the development of Boost.Convert described
in this document.