...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
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
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.
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_castrequirements (namely, Default Constructibility);
The original hope was to see
extended to be applicable to a wider range of deployment scenarios. However,
after discussions with Kevlin Henney (the
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.