<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <title>Boost.Compatibilty library</title> </head> <body> <div> <img src="../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86"> <hr> <h1>Boost.Compatibilty library</h1> <p>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.</p> <h2>Missing C++ standard library CXX headers (e.g <cstdio>) workaround</h2> <p>The Python script: <tt><a href= "generate_cpp_c_headers.py">generate_cpp_c_headers.py</a></tt> 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 <tt><a href= "../../boost/compatibility/cpp_c_headers/">boost/compatibility/cpp_c_headers</a></tt>. To use the header files, add this directory to the include file search path. For example:</p> <pre> cxx -I/usr/local/boost/boost/compatibility/cpp_c_headers ... </pre> <p>Supported platforms are:</p> <ul> <li>Compaq Alpha, RedHat 6.2 Linux, Compaq C++ V6.3 (cxx)</li> <li>Compaq Alpha, Tru64 Unix V5.0, Compaq C++ V6.2 (cxx)</li> <li>Silicon Graphics, IRIX 6.5, MIPSpro Compilers: Version 7.3.1.1m (CC)</li> </ul> <p>There are more powerful alternatives to using the Boost.Compatibility library CXX headers, e.g. <a href="http://stlport.sourceforge.net">STLport</a> or <a href= "http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/0ISOcxx.html"> ISOCXX</a>. However, in contrast to these alternatives, the <tt>generate_cpp_c_headers.py</tt> 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.</p> <p>Contributed by Ralf W. Grosse-Kunstleve.</p> <h2>Missing C++ standard library <limits> header workaround <a href="../../boost/limits.hpp">boost/limits.hpp</a></h2> <p>Several Boost libraries require the standard library's <limits> header, yet this header is not always supplied by non-conforming compilers and libraries. Header <a href= "../../boost/limits.hpp">boost/limits.hpp</a> simply includes the standard library <limits> header if available, otherwise includes <a href= "../../boost/detail/limits.hpp">boost/detail/limits.hpp</a>. BOOST_NO_LIMITS from <a href="../config/config.htm">boost/config.hpp</a> is used to determine <limits> availability.</p> <p>Note also the test program <a href= "../config/test/limits_test.cpp">limits_test.cpp</a></p> <p>Contributed by Jens Maurer.</p> <p> <br clear="all"></p> <hr> <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src="../../doc/images/valid-html401.png" alt= "Valid HTML 4.01 Transitional" height="31" width="88"></a></p> <p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->01 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38508" --></p> <p><i>© Copyright Ralf W. Grosse-Kunstleve 2001</i></p> <p><i>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href= "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p> </div> </body> </html>