1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" |
---|
2 | "http://www.w3.org/TR/REC-html40/strict.dtd"> |
---|
3 | |
---|
4 | <title>Boost.Compatibilty library</title> |
---|
5 | |
---|
6 | <div> |
---|
7 | |
---|
8 | <img src="../../boost.png" |
---|
9 | alt="boost.png (6897 bytes)" |
---|
10 | align="center" |
---|
11 | width="277" height="86"> |
---|
12 | |
---|
13 | <hr> |
---|
14 | <h1>Boost.Compatibilty library</h1> |
---|
15 | |
---|
16 | <p> |
---|
17 | This library provides workarounds which allow the other Boost libraries |
---|
18 | to be used on otherwise non-conforming platforms. We hope that it will |
---|
19 | be possible to remove this library at some time in the future as |
---|
20 | standard library suppliers become more conforming. |
---|
21 | |
---|
22 | <h2> |
---|
23 | Missing C++ standard library CXX headers (e.g <cstdio>) workaround</h2> |
---|
24 | |
---|
25 | <p> |
---|
26 | The Python script: |
---|
27 | <tt><a href="generate_cpp_c_headers.py">generate_cpp_c_headers.py</a> </tt>creates a full set of C++ C header files |
---|
28 | (e.g. <cstdio>) that are missing on some platforms. |
---|
29 | 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>. |
---|
30 | To use the header files, add this directory to the include |
---|
31 | file search path. For example: |
---|
32 | |
---|
33 | <pre> |
---|
34 | cxx -I/usr/local/boost/boost/compatibility/cpp_c_headers ... |
---|
35 | </pre> |
---|
36 | |
---|
37 | <p> |
---|
38 | Supported platforms are: |
---|
39 | <ul> |
---|
40 | <li>Compaq Alpha, RedHat 6.2 Linux, Compaq C++ V6.3 (cxx) |
---|
41 | <li>Compaq Alpha, Tru64 Unix V5.0, Compaq C++ V6.2 (cxx) |
---|
42 | <li>Silicon Graphics, IRIX 6.5, MIPSpro Compilers: Version 7.3.1.1m (CC) |
---|
43 | </ul> |
---|
44 | |
---|
45 | <p> |
---|
46 | There are more powerful alternatives to using |
---|
47 | the Boost.Compatibility library CXX headers, e.g. |
---|
48 | <a href="http://www.stlport.org/">STLport</a> or |
---|
49 | <a href="http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/0ISOcxx.html">ISOCXX</a>. |
---|
50 | However, in contrast to these alternatives, the |
---|
51 | <tt>generate_cpp_c_headers.py</tt> script is very light-weight (less |
---|
52 | than 100 non-comment lines of Python code), much less ambitious, |
---|
53 | significantly easier to maintain and therefore more suitable as an interim workaround. |
---|
54 | |
---|
55 | <p> |
---|
56 | Contributed by Ralf W. Grosse-Kunstleve. |
---|
57 | |
---|
58 | <h2> |
---|
59 | Missing C++ standard library <limits> header workaround <a href="../../boost/limits.hpp">boost/limits.hpp</a></h2> |
---|
60 | <p>Several Boost libraries require the standard library's <limits> header, |
---|
61 | yet this header is not always supplied by non-conforming compilers and |
---|
62 | libraries. Header <a href="../../boost/limits.hpp">boost/limits.hpp</a> |
---|
63 | simply includes the standard library <limits> header if available, |
---|
64 | otherwise includes <a href="../../boost/detail/limits.hpp">boost/detail/limits.hpp</a>. |
---|
65 | BOOST_NO_LIMITS from <a href="../config/config.htm">boost/config.hpp</a> is used |
---|
66 | to determine <limits> availability. |
---|
67 | <p>Note also the test program <a href="../config/test/limits_test.cpp">limits_test.cpp</a> |
---|
68 | |
---|
69 | <p> |
---|
70 | Contributed by Jens Maurer. |
---|
71 | |
---|
72 | <p> |
---|
73 | |
---|
74 | |
---|
75 | <hr> |
---|
76 | © Copyright Ralf W. Grosse-Kunstleve 2001. Permission to copy, |
---|
77 | use, modify, sell and distribute this document is granted provided this |
---|
78 | copyright notice appears in all copies. This document is provided "as |
---|
79 | is" without express or implied warranty, and with no claim as to its |
---|
80 | suitability for any purpose. |
---|
81 | |
---|
82 | <p> |
---|
83 | Updated: April 16, 2001 |
---|
84 | </div> |
---|