...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This library provides workarounds which allow the other Boost libraries to be used on otherwise non-conforming platforms. We hope that it will be possible to remove this library at some time in the future as standard library suppliers become more conforming.
The Python script: generate_cpp_c_headers.py creates a full set of C++ C header files (e.g. <cstdio>) that are missing on some platforms. The header files created by this script reside in the directory boost/compatibility/cpp_c_headers. To use the header files, add this directory to the include file search path. For example:
cxx -I/usr/local/boost/boost/compatibility/cpp_c_headers ...
Supported platforms are:
There are more powerful alternatives to using the Boost.Compatibility library CXX headers, e.g. STLport or ISOCXX. However, in contrast to these alternatives, the generate_cpp_c_headers.py script is very light-weight (less than 100 non-comment lines of Python code), much less ambitious, significantly easier to maintain and therefore more suitable as an interim workaround.
Contributed by Ralf W. Grosse-Kunstleve.
Several Boost libraries require the standard library's <limits> header, yet this header is not always supplied by non-conforming compilers and libraries. Header boost/limits.hpp simply includes the standard library <limits> header if available, otherwise includes boost/detail/limits.hpp. BOOST_NO_LIMITS from boost/config.hpp is used to determine <limits> availability.
Note also the test program limits_test.cpp
Contributed by Jens Maurer.
Revised 01 December, 2006
© Copyright Ralf W. Grosse-Kunstleve 2001
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)