<!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 &lt;cstdio&gt;)
    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. &lt;cstdio&gt;) 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 &lt;limits&gt; header workaround
    <a href="../../boost/limits.hpp">boost/limits.hpp</a></h2>

    <p>Several Boost libraries require the standard library's &lt;limits&gt;
    header, yet this header is not always supplied by non-conforming
    compilers and libraries.&nbsp; Header <a href=
    "../../boost/limits.hpp">boost/limits.hpp</a> simply includes the
    standard library &lt;limits&gt; header if available, otherwise includes
    <a href=
    "../../boost/detail/limits.hpp">boost/detail/limits.hpp</a>.&nbsp;
    BOOST_NO_LIMITS from <a href="../config/config.htm">boost/config.hpp</a>
    is used to determine &lt;limits&gt; 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>&nbsp;<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>&copy; 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>
