forked from boostorg/config
Merge documentation update.
[SVN r63517]
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
<title>Acknowledgements</title>
|
<title>Acknowledgements</title>
|
||||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||||
<link rel="home" href="../index.html" title="Boost.Config">
|
<link rel="home" href="../index.html" title="Boost.Config">
|
||||||
<link rel="up" href="../index.html" title="Boost.Config">
|
<link rel="up" href="../index.html" title="Boost.Config">
|
||||||
<link rel="prev" href="rationale.html" title="Rationale">
|
<link rel="prev" href="rationale.html" title="Rationale">
|
||||||
@@ -19,9 +19,9 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
|
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
|
<a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
|
||||||
</h2></div></div></div>
|
</h2></div></div></div>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
|
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
<title>Boost Macro Reference</title>
|
<title>Boost Macro Reference</title>
|
||||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||||
<link rel="home" href="../index.html" title="Boost.Config">
|
<link rel="home" href="../index.html" title="Boost.Config">
|
||||||
<link rel="up" href="../index.html" title="Boost.Config">
|
<link rel="up" href="../index.html" title="Boost.Config">
|
||||||
<link rel="prev" href="../index.html" title="Boost.Config">
|
<link rel="prev" href="../index.html" title="Boost.Config">
|
||||||
@@ -20,9 +20,9 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
|
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
|
||||||
</h2></div></div></div>
|
</h2></div></div></div>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</dl></div>
|
</dl></div>
|
||||||
<a name="config_defects"></a><p>
|
<a name="config_defects"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
|
<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
|
||||||
that describe defects</a>
|
that describe defects</a>
|
||||||
@@ -109,12 +109,12 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Argument dependent lookup fails if there is a using declaration for
|
Argument dependent lookup fails if there is a using declaration
|
||||||
the symbol being looked up in the current scope. For example, using
|
for the symbol being looked up in the current scope. For example,
|
||||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get_pointer</span></code>; prevents ADL from
|
using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get_pointer</span></code>; prevents ADL from
|
||||||
finding overloads of <code class="computeroutput"><span class="identifier">get_pointer</span></code>
|
finding overloads of <code class="computeroutput"><span class="identifier">get_pointer</span></code>
|
||||||
in namespaces nested inside boost (but not elsewhere). Probably Borland
|
in namespaces nested inside boost (but not elsewhere). Probably
|
||||||
specific.
|
Borland specific.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -361,12 +361,12 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not support exception handling (this setting is
|
The compiler does not support exception handling (this setting
|
||||||
typically required by many C++ compilers for embedded platforms).
|
is typically required by many C++ compilers for embedded platforms).
|
||||||
Note that there is no requirement for boost libraries to honor this
|
Note that there is no requirement for boost libraries to honor
|
||||||
configuration setting - indeed doing so may be impossible in some
|
this configuration setting - indeed doing so may be impossible
|
||||||
cases. Those libraries that do honor this will typically abort if
|
in some cases. Those libraries that do honor this will typically
|
||||||
a critical error occurs - you have been warned!
|
abort if a critical error occurs - you have been warned!
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -401,8 +401,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not perform function template ordering or its function
|
The compiler does not perform function template ordering or its
|
||||||
template ordering is incorrect.
|
function template ordering is incorrect.
|
||||||
</p>
|
</p>
|
||||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1
|
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1
|
||||||
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
|
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
|
||||||
@@ -450,9 +450,9 @@
|
|||||||
<p>
|
<p>
|
||||||
The C++ implementation does not provide <code class="computeroutput"><span class="keyword">wchar_t</span></code>,
|
The C++ implementation does not provide <code class="computeroutput"><span class="keyword">wchar_t</span></code>,
|
||||||
or it is really a synonym for another integral type. Use this symbol
|
or it is really a synonym for another integral type. Use this symbol
|
||||||
to decide whether it is appropriate to explicitly specialize a template
|
to decide whether it is appropriate to explicitly specialize a
|
||||||
on <code class="computeroutput"><span class="keyword">wchar_t</span></code> if there
|
template on <code class="computeroutput"><span class="keyword">wchar_t</span></code>
|
||||||
is already a specialization for other integer types.
|
if there is already a specialization for other integer types.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -586,8 +586,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not support the specialization of individual member
|
The compiler does not support the specialization of individual
|
||||||
functions of template classes.
|
member functions of template classes.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -604,8 +604,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
If the compiler supports member templates, but not the template keyword
|
If the compiler supports member templates, but not the template
|
||||||
when accessing member template classes.
|
keyword when accessing member template classes.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -681,8 +681,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Compiler doesn't allow a nested class to access private members of
|
Compiler doesn't allow a nested class to access private members
|
||||||
its containing class. Probably Borland/CodeGear specific.
|
of its containing class. Probably Borland/CodeGear specific.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -701,8 +701,7 @@
|
|||||||
<p>
|
<p>
|
||||||
Compiler requires inherited operator friend functions to be defined
|
Compiler requires inherited operator friend functions to be defined
|
||||||
at namespace scope, then using'ed to boost. Probably GCC specific.
|
at namespace scope, then using'ed to boost. Probably GCC specific.
|
||||||
See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
|
See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a> for example.
|
||||||
for example.
|
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -719,8 +718,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not correctly handle partial specializations which
|
The compiler does not correctly handle partial specializations
|
||||||
depend upon default arguments in the primary template.
|
which depend upon default arguments in the primary template.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -737,9 +736,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not correctly handle pointers to const member functions,
|
The compiler does not correctly handle pointers to const member
|
||||||
preventing use of these in overloaded function templates. See <a href="../../../../../boost/functional.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
|
functions, preventing use of these in overloaded function templates.
|
||||||
for example.
|
See <a href="../../../../../boost/functional.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a> for example.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -773,8 +772,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler misreads 8.5.1, treating classes as non-aggregate if
|
The compiler misreads 8.5.1, treating classes as non-aggregate
|
||||||
they contain private or protected member functions.
|
if they contain private or protected member functions.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -809,8 +808,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler does not support the "Substitution Failure Is Not
|
The compiler does not support the "Substitution Failure Is
|
||||||
An Error" meta-programming idiom.
|
Not An Error" meta-programming idiom.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1059,9 +1058,9 @@
|
|||||||
The contents of C++ standard headers for C library functions (the
|
The contents of C++ standard headers for C library functions (the
|
||||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">c</span><span class="special">...></span></code> headers) have not been placed
|
<code class="computeroutput"><span class="special"><</span><span class="identifier">c</span><span class="special">...></span></code> headers) have not been placed
|
||||||
in namespace std. This test is difficult - some libraries "fake"
|
in namespace std. This test is difficult - some libraries "fake"
|
||||||
the std C functions by adding using declarations to import them into
|
the std C functions by adding using declarations to import them
|
||||||
namespace std, unfortunately they don't necessarily catch all of
|
into namespace std, unfortunately they don't necessarily catch
|
||||||
them...
|
all of them...
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1218,9 +1217,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
If a return is unreachable, then no return statement should be required,
|
If a return is unreachable, then no return statement should be
|
||||||
however some compilers insist on it, while other issue a bunch of
|
required, however some compilers insist on it, while other issue
|
||||||
warnings if it is in fact present.
|
a bunch of warnings if it is in fact present.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1237,9 +1236,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler will not accept a using declaration that brings a function
|
The compiler will not accept a using declaration that brings a
|
||||||
from a typename used as a base class into a derived class if functions
|
function from a typename used as a base class into a derived class
|
||||||
of the same name are present in the derived class.
|
if functions of the same name are present in the derived class.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1256,11 +1255,11 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler will not accept a using declaration that imports a template
|
The compiler will not accept a using declaration that imports a
|
||||||
class or function from another namespace. Originally a Borland specific
|
template class or function from another namespace. Originally a
|
||||||
problem with imports to/from the global namespace, extended to MSVC6
|
Borland specific problem with imports to/from the global namespace,
|
||||||
which has a specific issue with importing template classes (but not
|
extended to MSVC6 which has a specific issue with importing template
|
||||||
functions).
|
classes (but not functions).
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1292,7 +1291,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a name="config_features"></a><p>
|
<a name="config_features"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
|
<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
|
||||||
that describe optional features</a>
|
that describe optional features</a>
|
||||||
@@ -1441,11 +1440,11 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The C++ implementation provides the (SGI) hash_set and hash_map classes.
|
The C++ implementation provides the (SGI) hash_set and hash_map
|
||||||
When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
|
classes. When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
|
||||||
and <code class="computeroutput"><span class="identifier">BOOST_HASH_LIST_HEADER</span></code>
|
and <code class="computeroutput"><span class="identifier">BOOST_HASH_LIST_HEADER</span></code>
|
||||||
will contain the names of the header needed to access hash_set and
|
will contain the names of the header needed to access hash_set
|
||||||
hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
|
and hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
|
||||||
will provide the namespace in which the two class templates reside.
|
will provide the namespace in which the two class templates reside.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
@@ -2076,9 +2075,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The standard library lacks a conforming std::use_facet, but has a
|
The standard library lacks a conforming std::use_facet, but has
|
||||||
two argument version that does the job. This is primarily for the
|
a two argument version that does the job. This is primarily for
|
||||||
Rogue Wave std lib.
|
the Rogue Wave std lib.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -2173,17 +2172,18 @@
|
|||||||
<p>
|
<p>
|
||||||
There are no 1998 C++ Standard headers <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
There are no 1998 C++ Standard headers <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
||||||
or <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdint</span><span class="special">></span></code>, although the 1999 C Standard
|
or <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdint</span><span class="special">></span></code>, although the 1999 C Standard
|
||||||
does include <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>. If <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
does include <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
|
||||||
is present, <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code> can make good use of it, so a
|
If <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code> is present, <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
||||||
flag is supplied (signalling presence; thus the default is not present,
|
can make good use of it, so a flag is supplied (signalling presence;
|
||||||
conforming to the current C++ standard).
|
thus the default is not present, conforming to the current C++
|
||||||
|
standard).
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table></div>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
|
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
|
||||||
that describe possible C++0x features</a>
|
that describe possible C++0x features</a>
|
||||||
@@ -2224,7 +2224,7 @@
|
|||||||
</tr></tbody>
|
</tr></tbody>
|
||||||
</table></div>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
|
<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
|
||||||
that describe C++0x features not supported</a>
|
that describe C++0x features not supported</a>
|
||||||
@@ -2789,7 +2789,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The standard library does not support <unordered_map> and <unordered_set>.
|
The standard library does not support <unordered_map> and
|
||||||
|
<unordered_set>.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -2835,7 +2836,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a name="config_helpers"></a><p>
|
<a name="config_helpers"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
|
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
|
||||||
Helper Macros</a>
|
Helper Macros</a>
|
||||||
@@ -2886,10 +2887,10 @@
|
|||||||
</span><span class="preprocessor">#endif</span>
|
</span><span class="preprocessor">#endif</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
where <code class="computeroutput"><span class="identifier">MACRONAME</span></code> is
|
where <code class="computeroutput"><span class="identifier">MACRONAME</span></code>
|
||||||
a macro that usually describes the version number to be tested against,
|
is a macro that usually describes the version number to be tested
|
||||||
and <code class="computeroutput"><span class="identifier">CONDITION</span></code> is
|
against, and <code class="computeroutput"><span class="identifier">CONDITION</span></code>
|
||||||
a comparison operator followed by a value. For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">BOOST_INTEL</span><span class="special">,</span>
|
is a comparison operator followed by a value. For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">BOOST_INTEL</span><span class="special">,</span>
|
||||||
<span class="special"><=</span> <span class="number">1010</span><span class="special">)</span></code> would evaluate to <code class="computeroutput"><span class="number">1</span></code> for Intel C++ 10.1 and earlier.
|
<span class="special"><=</span> <span class="number">1010</span><span class="special">)</span></code> would evaluate to <code class="computeroutput"><span class="number">1</span></code> for Intel C++ 10.1 and earlier.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
@@ -2898,8 +2899,8 @@
|
|||||||
is expected to be fixed at some later point.
|
is expected to be fixed at some later point.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">__BORLANDC__</span><span class="special">,</span> <span class="identifier">BOOST_TESTED_AT</span><span class="special">(</span><span class="number">0x590</span><span class="special">))</span></code> would normally evaluate to <code class="computeroutput"><span class="number">1</span></code> for all values of <code class="computeroutput"><span class="identifier">__BORLANDC__</span></code>
|
For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">__BORLANDC__</span><span class="special">,</span> <span class="identifier">BOOST_TESTED_AT</span><span class="special">(</span><span class="number">0x590</span><span class="special">))</span></code> would normally evaluate to <code class="computeroutput"><span class="number">1</span></code> for all values of <code class="computeroutput"><span class="identifier">__BORLANDC__</span></code> <span class="emphasis"><em>unless</em></span>
|
||||||
<span class="emphasis"><em>unless</em></span> the macro <code class="computeroutput"><span class="identifier">BOOST_DETECT_OUTDATED_WORKAROUNDS</span></code>
|
the macro <code class="computeroutput"><span class="identifier">BOOST_DETECT_OUTDATED_WORKAROUNDS</span></code>
|
||||||
is defined, in which case evaluates to <code class="computeroutput"><span class="special">(</span><span class="identifier">__BORLANDC__</span> <span class="special"><=</span>
|
is defined, in which case evaluates to <code class="computeroutput"><span class="special">(</span><span class="identifier">__BORLANDC__</span> <span class="special"><=</span>
|
||||||
<span class="number">0x590</span><span class="special">)</span></code>.
|
<span class="number">0x590</span><span class="special">)</span></code>.
|
||||||
</p>
|
</p>
|
||||||
@@ -2917,15 +2918,15 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Some compilers don't support the use of typename for dependent types
|
Some compilers don't support the use of typename for dependent
|
||||||
in deduced contexts. This macro expands to nothing on those compilers,
|
types in deduced contexts. This macro expands to nothing on those
|
||||||
and typename elsewhere. For example, replace: <code class="computeroutput"><span class="keyword">template</span>
|
compilers, and typename elsewhere. For example, replace: <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span>
|
||||||
|
<span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span>
|
||||||
|
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code> with: <code class="computeroutput"><span class="keyword">template</span>
|
||||||
<span class="special"><</span><span class="keyword">class</span>
|
<span class="special"><</span><span class="keyword">class</span>
|
||||||
<span class="identifier">T</span><span class="special">></span>
|
<span class="identifier">T</span><span class="special">></span>
|
||||||
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span>
|
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">BOOST_DEDUCED_TYPENAME</span>
|
||||||
<span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code>
|
<span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code>
|
||||||
with: <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span>
|
|
||||||
<span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">BOOST_DEDUCED_TYPENAME</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code>
|
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -2993,10 +2994,10 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
On compilers which don't allow in-class initialization of static
|
On compilers which don't allow in-class initialization of static
|
||||||
integral constant members, we must use enums as a workaround if we
|
integral constant members, we must use enums as a workaround if
|
||||||
want the constants to be available at compile-time. This macro gives
|
we want the constants to be available at compile-time. This macro
|
||||||
us a convenient way to declare such constants. For example instead
|
gives us a convenient way to declare such constants. For example
|
||||||
of:
|
instead of:
|
||||||
</p>
|
</p>
|
||||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
|
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
|
||||||
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
|
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
|
||||||
@@ -3035,8 +3036,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Some compilers silently "fold" different function template
|
Some compilers silently "fold" different function template
|
||||||
instantiations if some of the template parameters don't appear in
|
instantiations if some of the template parameters don't appear
|
||||||
the function parameter list. For instance:
|
in the function parameter list. For instance:
|
||||||
</p>
|
</p>
|
||||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">ostream</span><span class="special">></span>
|
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">ostream</span><span class="special">></span>
|
||||||
@@ -3058,9 +3059,9 @@
|
|||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
incorrectly outputs <code class="literal">2 2 double double</code> on VC++
|
incorrectly outputs <code class="literal">2 2 double double</code> on VC++
|
||||||
6. These macros, to be used in the function parameter list, fix the
|
6. These macros, to be used in the function parameter list, fix
|
||||||
problem without effects on the calling syntax. For instance, in the
|
the problem without effects on the calling syntax. For instance,
|
||||||
case above write:
|
in the case above write:
|
||||||
</p>
|
</p>
|
||||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
|
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
|
||||||
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
|
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
|
||||||
@@ -3081,25 +3082,24 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Furthermore, in order to add any needed comma separator, an <code class="computeroutput"><span class="identifier">APPEND_</span><span class="special">*</span></code>
|
Furthermore, in order to add any needed comma separator, an <code class="computeroutput"><span class="identifier">APPEND_</span><span class="special">*</span></code>
|
||||||
version must be used when the macro invocation appears after a normal
|
version must be used when the macro invocation appears after a
|
||||||
parameter declaration or after the invocation of another macro of
|
normal parameter declaration or after the invocation of another
|
||||||
this same group.
|
macro of this same group.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span>
|
<code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
|
||||||
<span class="identifier">loc</span><span class="special">)</span></code>
|
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code> there are various workarounds
|
When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code> there are various workarounds
|
||||||
available, but they differ from library to library. This macro provides
|
available, but they differ from library to library. This macro
|
||||||
a consistent way to access a locale's facets. For example, replace:
|
provides a consistent way to access a locale's facets. For example,
|
||||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
|
replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
|
||||||
with: <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
|
with: <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
|
||||||
prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span></code>.
|
prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span></code>.
|
||||||
</p>
|
</p>
|
||||||
@@ -3108,16 +3108,15 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span>
|
<code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
|
||||||
<span class="identifier">loc</span><span class="special">)</span></code>
|
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span></code> there are various workarounds
|
When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span></code> there are various workarounds
|
||||||
available, but they differ from library to library. This macro provides
|
available, but they differ from library to library. This macro
|
||||||
a consistent way to check a locale's facets. For example, replace:
|
provides a consistent way to check a locale's facets. For example,
|
||||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
|
replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
|
||||||
with: <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
|
with: <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
|
||||||
prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span></code>.
|
prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span></code>.
|
||||||
</p>
|
</p>
|
||||||
@@ -3132,12 +3131,14 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Member templates are supported by some compilers even though they
|
Member templates are supported by some compilers even though they
|
||||||
can't use the <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">member</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code> syntax, as a workaround replace:
|
can't use the <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
|
||||||
<code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">typename</span>
|
<span class="identifier">member</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>
|
||||||
<span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">binder</span><span class="special">;</span></code> with: <code class="computeroutput"><span class="keyword">typedef</span>
|
syntax, as a workaround replace: <code class="computeroutput"><span class="keyword">typedef</span>
|
||||||
<span class="keyword">typename</span> <span class="identifier">A</span><span class="special">::</span><span class="identifier">BOOST_NESTED_TEMPLATE</span>
|
<span class="keyword">typename</span> <span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
|
||||||
<span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span>
|
<span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span>
|
||||||
<span class="identifier">binder</span><span class="special">;</span></code>
|
<span class="identifier">binder</span><span class="special">;</span></code>
|
||||||
|
with: <code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">typename</span>
|
||||||
|
<span class="identifier">A</span><span class="special">::</span><span class="identifier">BOOST_NESTED_TEMPLATE</span> <span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">binder</span><span class="special">;</span></code>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3164,9 +3165,9 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
This piece of macro magic joins the two arguments together, even
|
This piece of macro magic joins the two arguments together, even
|
||||||
when one of the arguments is itself a macro (see 16.3.1 in C++ standard).
|
when one of the arguments is itself a macro (see 16.3.1 in C++
|
||||||
This is normally used to create a mangled name in combination with
|
standard). This is normally used to create a mangled name in combination
|
||||||
a predefined macro such a __LINE__.
|
with a predefined macro such a __LINE__.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3175,7 +3176,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a name="config_info_macros"></a><p>
|
<a name="config_info_macros"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
|
<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
|
||||||
Informational Macros</a>
|
Informational Macros</a>
|
||||||
@@ -3221,7 +3222,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Describes the boost version number in XYYYZZ format such that: <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span>
|
Describes the boost version number in XYYYZZ format such that:
|
||||||
|
<code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span>
|
||||||
<span class="special">%</span> <span class="number">100</span><span class="special">)</span></code> is the sub-minor version, <code class="computeroutput"><span class="special">((</span><span class="identifier">BOOST_VERSION</span>
|
<span class="special">%</span> <span class="number">100</span><span class="special">)</span></code> is the sub-minor version, <code class="computeroutput"><span class="special">((</span><span class="identifier">BOOST_VERSION</span>
|
||||||
<span class="special">/</span> <span class="number">100</span><span class="special">)</span> <span class="special">%</span> <span class="number">1000</span><span class="special">)</span></code>
|
<span class="special">/</span> <span class="number">100</span><span class="special">)</span> <span class="special">%</span> <span class="number">1000</span><span class="special">)</span></code>
|
||||||
is the minor version, and <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span> <span class="special">/</span>
|
is the minor version, and <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span> <span class="special">/</span>
|
||||||
@@ -3262,8 +3264,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defined if <code class="computeroutput"><span class="identifier">int64_t</span></code>
|
Defined if <code class="computeroutput"><span class="identifier">int64_t</span></code>
|
||||||
as defined by <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> is not usable in integral constant
|
as defined by <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||||
expressions.
|
is not usable in integral constant expressions.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3281,8 +3283,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defined if the compiler is really Microsoft Visual C++, as opposed
|
Defined if the compiler is really Microsoft Visual C++, as opposed
|
||||||
to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>. Has the same value as
|
to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>. Has the same value
|
||||||
_MSC_VER.
|
as _MSC_VER.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3299,10 +3301,10 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defined to a normalised 9 digit version of _MSC_FULL_VER (which sometimes
|
Defined to a normalised 9 digit version of _MSC_FULL_VER (which
|
||||||
only has 8 digits), the macro has the form VVMMPPPPP where VV is
|
sometimes only has 8 digits), the macro has the form VVMMPPPPP
|
||||||
the major version number, MM is the minor version number, and PPPPP
|
where VV is the major version number, MM is the minor version number,
|
||||||
is the compiler build number.
|
and PPPPP is the compiler build number.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3371,9 +3373,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defined if the dinkumware standard library is in use, takes the same
|
Defined if the dinkumware standard library is in use, takes the
|
||||||
value as the Dinkumware library version macro <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code>
|
same value as the Dinkumware library version macro <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code> if defined, otherwise
|
||||||
if defined, otherwise 1.
|
1.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3444,15 +3446,15 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defined as a string describing the name of the platform. Mainly for
|
Defined as a string describing the name of the platform. Mainly
|
||||||
debugging the configuration.
|
for debugging the configuration.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table></div>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
|
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
|
||||||
for libraries with separate source code</a>
|
for libraries with separate source code</a>
|
||||||
@@ -3469,14 +3471,14 @@
|
|||||||
The following macros and helper headers are of use to authors whose libraries
|
The following macros and helper headers are of use to authors whose libraries
|
||||||
include separate source code, and are intended to address several issues:
|
include separate source code, and are intended to address several issues:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
Controlling shared library symbol visibility
|
Controlling shared library symbol visibility
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Fixing the ABI of the compiled library
|
Fixing the ABI of the compiled library
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Selecting which compiled library to link against based upon the compilers
|
Selecting which compiled library to link against based upon the compilers
|
||||||
settings
|
settings
|
||||||
</li>
|
</li>
|
||||||
@@ -3485,7 +3487,7 @@
|
|||||||
See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
|
See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
|
||||||
for Authors of Boost Libraries Containing Separate Source</a>
|
for Authors of Boost Libraries Containing Separate Source</a>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility" title="Macros controlling shared library symbol visibility">Macros
|
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility" title="Macros controlling shared library symbol visibility">Macros
|
||||||
controlling shared library symbol visibility</a>
|
controlling shared library symbol visibility</a>
|
||||||
@@ -3534,8 +3536,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defines the syntax of a C++ language extension that indicates a
|
Defines the syntax of a C++ language extension that indicates
|
||||||
symbol is to be exported from a shared library. If the compiler
|
a symbol is to be exported from a shared library. If the compiler
|
||||||
has no such extension, the macro is defined with no replacement
|
has no such extension, the macro is defined with no replacement
|
||||||
text.
|
text.
|
||||||
</p>
|
</p>
|
||||||
@@ -3549,8 +3551,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defines the syntax of a C++ language extension that indicates a
|
Defines the syntax of a C++ language extension that indicates
|
||||||
symbol is to be imported from a shared library. If the compiler
|
a symbol is to be imported from a shared library. If the compiler
|
||||||
has no such extension, the macro is defined with no replacement
|
has no such extension, the macro is defined with no replacement
|
||||||
text.
|
text.
|
||||||
</p>
|
</p>
|
||||||
@@ -3564,20 +3566,21 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Defines the syntax of a C++ language extension that indicates a
|
Defines the syntax of a C++ language extension that indicates
|
||||||
symbol is to be globally visible. If the compiler has no such extension,
|
a symbol is to be globally visible. If the compiler has no such
|
||||||
the macro is defined with no replacement text. Needed for classes
|
extension, the macro is defined with no replacement text. Needed
|
||||||
that are not otherwise exported, but are used by RTTI. Examples
|
for classes that are not otherwise exported, but are used by
|
||||||
include class for objects that will be thrown as exceptions or
|
RTTI. Examples include class for objects that will be thrown
|
||||||
used in dynamic_casts, across shared library boundaries. For example,
|
as exceptions or used in dynamic_casts, across shared library
|
||||||
a header-only exception class might look like this:
|
boundaries. For example, a header-only exception class might
|
||||||
|
look like this:
|
||||||
</p>
|
</p>
|
||||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">class</span> <span class="identifier">BOOST_SYMBOL_VISIBLE</span> <span class="identifier">my_exception</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
|
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">class</span> <span class="identifier">BOOST_SYMBOL_VISIBLE</span> <span class="identifier">my_exception</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch my_exception
|
Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch
|
||||||
thrown from a shared library compiled by GCC with the -fvisibility=hidden
|
my_exception thrown from a shared library compiled by GCC with
|
||||||
option.
|
the -fvisibility=hidden option.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3589,10 +3592,10 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
The compiler has C++ extensions <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> to control export/import of symbols
|
The compiler has C++ extensions <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> to control export/import of
|
||||||
from shared libraries. <span class="emphasis"><em>Deprecated. This macro is no longer
|
symbols from shared libraries. <span class="emphasis"><em>Deprecated. This macro
|
||||||
necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT are
|
is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
|
||||||
now supplied. It is provided to support legacy code.</em></span>
|
are now supplied. It is provided to support legacy code.</em></span>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3639,7 +3642,7 @@
|
|||||||
<span class="special">...</span>
|
<span class="special">...</span>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
|
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
|
||||||
Fixing</a>
|
Fixing</a>
|
||||||
@@ -3697,7 +3700,7 @@
|
|||||||
to point to their own prefix/suffix headers if they so wish.
|
to point to their own prefix/suffix headers if they so wish.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
|
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
|
||||||
library selection</a>
|
library selection</a>
|
||||||
@@ -3790,7 +3793,7 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
<title>Guidelines for Boost Authors</title>
|
<title>Guidelines for Boost Authors</title>
|
||||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||||
<link rel="home" href="../index.html" title="Boost.Config">
|
<link rel="home" href="../index.html" title="Boost.Config">
|
||||||
<link rel="up" href="../index.html" title="Boost.Config">
|
<link rel="up" href="../index.html" title="Boost.Config">
|
||||||
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
|
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
|
||||||
@@ -20,9 +20,9 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
|
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
|
||||||
Boost Authors</a>
|
Boost Authors</a>
|
||||||
@@ -61,49 +61,49 @@
|
|||||||
<p>
|
<p>
|
||||||
Note that:
|
Note that:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span>
|
Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span>
|
||||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>",
|
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>", and are not required in any
|
||||||
and are not required in any way to support compilers that do not comply with
|
way to support compilers that do not comply with the C++ Standard (ISO/IEC
|
||||||
the C++ Standard (ISO/IEC 14882).
|
14882).
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
If a library implementer wishes to support some non-conforming compiler,
|
If a library implementer wishes to support some non-conforming compiler,
|
||||||
or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span>
|
or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span>
|
||||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>"
|
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>" is the preferred way to obtain
|
||||||
is the preferred way to obtain configuration information not available from
|
configuration information not available from the standard headers such
|
||||||
the standard headers such as <code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>,
|
as <code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>, etc.
|
||||||
etc.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
If configuration information can be deduced from standard headers such as
|
If configuration information can be deduced from standard headers such
|
||||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>, use those standard headers rather than
|
as <code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>, use those standard headers rather
|
||||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
|
than <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Boost files that use macros defined in <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
Boost files that use macros defined in <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||||
should have sensible, standard conforming, default behavior if the macro
|
should have sensible, standard conforming, default behavior if the macro
|
||||||
is not defined. This means that the starting point for porting <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
is not defined. This means that the starting point for porting <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> to a new platform is simply to define
|
||||||
to a new platform is simply to define nothing at all specific to that platform.
|
nothing at all specific to that platform. In the rare case where there
|
||||||
In the rare case where there is no sensible default behavior, an #error message
|
is no sensible default behavior, an #error message should describe the
|
||||||
should describe the problem.
|
problem.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>, post
|
If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>,
|
||||||
a request on the Boost mailing list. There is no guarantee such a request
|
post a request on the Boost mailing list. There is no guarantee such a
|
||||||
will be honored; the intent is to limit the complexity of config.hpp.
|
request will be honored; the intent is to limit the complexity of config.hpp.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
The intent is to support only compilers which appear on their way to becoming
|
The intent is to support only compilers which appear on their way to becoming
|
||||||
C++ Standard compliant, and only recent releases of those compilers at that.
|
C++ Standard compliant, and only recent releases of those compilers at
|
||||||
|
that.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
The intent is not to disable mainstream features now well-supported by the
|
The intent is not to disable mainstream features now well-supported by
|
||||||
majority of compilers, such as namespaces, exceptions, RTTI, or templates.
|
the majority of compilers, such as namespaces, exceptions, RTTI, or templates.
|
||||||
</li>
|
</li>
|
||||||
</ul></div>
|
</ul></div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
|
<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
|
||||||
Disabling Compiler Warnings</a>
|
Disabling Compiler Warnings</a>
|
||||||
@@ -116,17 +116,17 @@
|
|||||||
<p>
|
<p>
|
||||||
Note that:
|
Note that:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
This header <span class="bold"><strong><span class="emphasis"><em>should never be included by
|
This header <span class="bold"><strong><span class="emphasis"><em>should never be included
|
||||||
another Boost header</em></span></strong></span>, it should only ever be used
|
by another Boost header</em></span></strong></span>, it should only ever be
|
||||||
by a library source file or a test case.
|
used by a library source file or a test case.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
The header should be included <span class="bold"><strong><span class="emphasis"><em>before you
|
The header should be included <span class="bold"><strong><span class="emphasis"><em>before
|
||||||
include any other header</em></span></strong></span>.
|
you include any other header</em></span></strong></span>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
This header only disables warnings that are hard or impossible to otherwise
|
This header only disables warnings that are hard or impossible to otherwise
|
||||||
deal with, and which are typically emitted by one compiler only, or in
|
deal with, and which are typically emitted by one compiler only, or in
|
||||||
one compilers own standard library headers.
|
one compilers own standard library headers.
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table></div>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
|
<a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
|
||||||
New Defect Macros</a>
|
New Defect Macros</a>
|
||||||
@@ -233,25 +233,27 @@
|
|||||||
Once the test code is in place in libs/config/test, updating the configuration
|
Once the test code is in place in libs/config/test, updating the configuration
|
||||||
test system proceeds as:
|
test system proceeds as:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>.
|
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>.
|
||||||
This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
|
This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
|
||||||
file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
|
file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
|
||||||
<code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br><br>
|
<code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br>
|
||||||
|
<br>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
|
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
|
||||||
</code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>,
|
</code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>,
|
||||||
where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
|
where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
|
||||||
<span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span> is a space separated
|
<span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span> is a space separated
|
||||||
list of compilers to test with.<br> <br> The xxx_pass_test and the
|
list of compilers to test with.<br> <br> The xxx_pass_test and the
|
||||||
xxx_fail_test <span class="bold"><strong>should both report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code></strong></span>.<br><br> If <span class="emphasis"><em>MACRONAME</em></span> is not defined when it should
|
xxx_fail_test <span class="bold"><strong>should both report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code></strong></span>.<br> <br> If <span class="emphasis"><em>MACRONAME</em></span>
|
||||||
be defined, xxx_pass_test will not report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.
|
is not defined when it should be defined, xxx_pass_test will not report
|
||||||
If <span class="emphasis"><em>MACRONAME</em></span> is defined when it should not be defined,
|
<code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>. If <span class="emphasis"><em>MACRONAME</em></span>
|
||||||
xxx_fail_test will not report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br><br>
|
is defined when it should not be defined, xxx_fail_test will not report
|
||||||
|
<code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br> <br>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
|
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
|
||||||
<span class="identifier">config_info</span> <span class="identifier">config_test</span>
|
<span class="identifier">config_info</span> <span class="identifier">config_test</span>
|
||||||
</code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>.
|
</code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>.
|
||||||
@@ -264,26 +266,26 @@
|
|||||||
<p>
|
<p>
|
||||||
Then you should:
|
Then you should:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
Define the defect macro in those config headers that require it.
|
Define the defect macro in those config headers that require it.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Document the macro in this documentation (please do not forget this step!!)
|
Document the macro in this documentation (please do not forget this step!!)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Commit everything.
|
Commit everything.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Keep an eye on the regression tests for new failures in Boost.Config caused
|
Keep an eye on the regression tests for new failures in Boost.Config
|
||||||
by the addition.
|
caused by the addition.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
Start using the macro.
|
Start using the macro.
|
||||||
</li>
|
</li>
|
||||||
</ul></div>
|
</ul></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding
|
<a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding
|
||||||
New Feature Test Macros</a>
|
New Feature Test Macros</a>
|
||||||
@@ -307,7 +309,7 @@
|
|||||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>).
|
<code class="computeroutput"><span class="special"><</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>).
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying
|
<a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying
|
||||||
the Boost Configuration Headers</a>
|
the Boost Configuration Headers</a>
|
||||||
@@ -368,7 +370,7 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
<title>Rationale</title>
|
<title>Rationale</title>
|
||||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||||
<link rel="home" href="../index.html" title="Boost.Config">
|
<link rel="home" href="../index.html" title="Boost.Config">
|
||||||
<link rel="up" href="../index.html" title="Boost.Config">
|
<link rel="up" href="../index.html" title="Boost.Config">
|
||||||
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
|
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
|
||||||
@@ -20,9 +20,9 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
|
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
|
||||||
</h2></div></div></div>
|
</h2></div></div></div>
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following
|
principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following
|
||||||
article</a>.
|
article</a>.
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
|
<a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
@@ -56,16 +56,10 @@
|
|||||||
have nothing to do with each other. Essentially, the traditional solution
|
have nothing to do with each other. Essentially, the traditional solution
|
||||||
employed by configuration headers does not conform to the Open-Closed Principle:
|
employed by configuration headers does not conform to the Open-Closed Principle:
|
||||||
</p>
|
</p>
|
||||||
<div class="blockquote"><blockquote class="blockquote">
|
<div class="blockquote"><blockquote class="blockquote"><p>
|
||||||
<p>
|
<span class="bold"><strong>"A module should be open for extension but closed
|
||||||
</p>
|
for modification."</strong></span>
|
||||||
<p>
|
</p></blockquote></div>
|
||||||
<span class="bold"><strong>"A module should be open for extension but
|
|
||||||
closed for modification."</strong></span>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
</blockquote></div>
|
|
||||||
<p>
|
<p>
|
||||||
Extending a traditional configuration header implies modifying existing code.
|
Extending a traditional configuration header implies modifying existing code.
|
||||||
</p>
|
</p>
|
||||||
@@ -78,15 +72,9 @@
|
|||||||
of the entire library, and more stable elements of Boost would depend on
|
of the entire library, and more stable elements of Boost would depend on
|
||||||
it. This violates the Stable Dependencies Principle:
|
it. This violates the Stable Dependencies Principle:
|
||||||
</p>
|
</p>
|
||||||
<div class="blockquote"><blockquote class="blockquote">
|
<div class="blockquote"><blockquote class="blockquote"><p>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span class="bold"><strong>"Depend in the direction of stability."</strong></span>
|
<span class="bold"><strong>"Depend in the direction of stability."</strong></span>
|
||||||
</p>
|
</p></blockquote></div>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
</blockquote></div>
|
|
||||||
<p>
|
<p>
|
||||||
After even a minor change to a traditional configuration header on one minor
|
After even a minor change to a traditional configuration header on one minor
|
||||||
platform, almost everything on every platform should be tested if we follow
|
platform, almost everything on every platform should be tested if we follow
|
||||||
@@ -102,7 +90,7 @@
|
|||||||
code must be provided.
|
code must be provided.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
|
<a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
@@ -129,7 +117,7 @@
|
|||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav">
|
<div class="spirit-nav">
|
||||||
<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
<title>Boost.Config</title>
|
<title>Boost.Config</title>
|
||||||
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
|
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||||
<link rel="home" href="index.html" title="Boost.Config">
|
<link rel="home" href="index.html" title="Boost.Config">
|
||||||
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
|
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
|
||||||
</head>
|
</head>
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
|
||||||
<div class="article" lang="en">
|
<div class="article">
|
||||||
<div class="titlepage">
|
<div class="titlepage">
|
||||||
<div>
|
<div>
|
||||||
<div><h2 class="title">
|
<div><h2 class="title">
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
|
<div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
|
||||||
<div><div class="legalnotice">
|
<div><div class="legalnotice">
|
||||||
<a name="id873629"></a><p>
|
<a name="id759700"></a><p>
|
||||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||||
</p>
|
</p>
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
<dt><span class="section"><a href="boost_config/acknowledgements.html">Acknowledgements</a></span></dt>
|
<dt><span class="section"><a href="boost_config/acknowledgements.html">Acknowledgements</a></span></dt>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
|
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
|
||||||
Boost for Your Platform</a>
|
Boost for Your Platform</a>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
|
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
|
||||||
the boost configuration</a></span></dt>
|
the boost configuration</a></span></dt>
|
||||||
</dl></div>
|
</dl></div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using
|
<a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using
|
||||||
the default boost configuration</a>
|
the default boost configuration</a>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
and submitting a support request.
|
and submitting a support request.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The <boost/config.hpp> header">The
|
<a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The <boost/config.hpp> header">The
|
||||||
<boost/config.hpp> header</a>
|
<boost/config.hpp> header</a>
|
||||||
@@ -168,14 +168,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<a name="config_config_script"></a><p>
|
<a name="config_config_script"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
|
<a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
|
||||||
the configure script</a>
|
the configure script</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
<div class="important"><table border="0" summary="Important">
|
<div class="important"><table border="0" summary="Important">
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../doc/html/images/important.png"></td>
|
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../doc/src/images/important.png"></td>
|
||||||
<th align="left">Important</th>
|
<th align="left">Important</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td align="left" valign="top"><p>
|
<tr><td align="left" valign="top"><p>
|
||||||
@@ -190,15 +190,9 @@
|
|||||||
you will need to cd into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>
|
you will need to cd into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>
|
||||||
and type:
|
and type:
|
||||||
</p>
|
</p>
|
||||||
<div class="blockquote"><blockquote class="blockquote">
|
<div class="blockquote"><blockquote class="blockquote"><p>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<code class="computeroutput"><span class="identifier">sh</span> <span class="special">./</span><span class="identifier">configure</span></code>
|
<code class="computeroutput"><span class="identifier">sh</span> <span class="special">./</span><span class="identifier">configure</span></code>
|
||||||
</p>
|
</p></blockquote></div>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
</blockquote></div>
|
|
||||||
<p>
|
<p>
|
||||||
you will see a list of the items being checked as the script works its way
|
you will see a list of the items being checked as the script works its way
|
||||||
through the regression tests. Note that the configure script only really
|
through the regression tests. Note that the configure script only really
|
||||||
@@ -295,15 +289,15 @@
|
|||||||
(located under <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>).
|
(located under <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>).
|
||||||
There are two ways you can use this header:
|
There are two ways you can use this header:
|
||||||
</p>
|
</p>
|
||||||
<div class="itemizedlist"><ul type="disc">
|
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||||
<li>
|
<li class="listitem">
|
||||||
<span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp
|
<span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp
|
||||||
provided by boost. This option allows only one configure-generated setup;
|
provided by boost. This option allows only one configure-generated setup;
|
||||||
boost developers should avoid this option, as it incurs the danger of accidentally
|
boost developers should avoid this option, as it incurs the danger of
|
||||||
committing a configure-modified <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
|
accidentally committing a configure-modified <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
|
||||||
to the cvs repository (something you will not be thanked for!).
|
to the cvs repository (something you will not be thanked for!).
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li class="listitem">
|
||||||
<span class="bold"><strong>Option 2:</strong></span> give the header a more memorable
|
<span class="bold"><strong>Option 2:</strong></span> give the header a more memorable
|
||||||
name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For
|
name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For
|
||||||
example create a new sub-directory <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> <code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example
|
example create a new sub-directory <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> <code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example
|
||||||
@@ -318,7 +312,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a name="config_user_settable"></a><p>
|
<a name="config_user_settable"></a><p>
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
|
<a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
|
||||||
settable options</a>
|
settable options</a>
|
||||||
@@ -387,10 +381,10 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When defined, it should point to the name of the standard library
|
When defined, it should point to the name of the standard library
|
||||||
configuration file to use. Defining this cuts out the standard library
|
configuration file to use. Defining this cuts out the standard
|
||||||
selection logic, and eliminates the dependency on the header containing
|
library selection logic, and eliminates the dependency on the header
|
||||||
that logic. For example if you are using STLport, then you could
|
containing that logic. For example if you are using STLport, then
|
||||||
define <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
|
you could define <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
|
||||||
to <a href="../../../../boost/config/stdlib/stlport.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">stdlib</span><span class="special">/</span><span class="identifier">stlport</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>.
|
to <a href="../../../../boost/config/stdlib/stlport.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">stdlib</span><span class="special">/</span><span class="identifier">stlport</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
@@ -421,8 +415,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When defined, no compiler configuration file is selected or included,
|
When defined, no compiler configuration file is selected or included,
|
||||||
define when the compiler is fully conformant with the standard, or
|
define when the compiler is fully conformant with the standard,
|
||||||
where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
|
or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
|
||||||
has had any options necessary added to it, for example by an autoconf
|
has had any options necessary added to it, for example by an autoconf
|
||||||
generated configure script.
|
generated configure script.
|
||||||
</p>
|
</p>
|
||||||
@@ -438,9 +432,9 @@
|
|||||||
<p>
|
<p>
|
||||||
When defined, no standard library configuration file is selected
|
When defined, no standard library configuration file is selected
|
||||||
or included, define when the standard library is fully conformant
|
or included, define when the standard library is fully conformant
|
||||||
with the standard, or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
|
with the standard, or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), has had any
|
||||||
has had any options necessary added to it, for example by an autoconf
|
options necessary added to it, for example by an autoconf generated
|
||||||
generated configure script.
|
configure script.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -453,10 +447,11 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When defined, no platform configuration file is selected or included,
|
When defined, no platform configuration file is selected or included,
|
||||||
define when the platform is fully conformant with the standard (and
|
define when the platform is fully conformant with the standard
|
||||||
has no useful extra features), or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), has had any
|
(and has no useful extra features), or where the user header (see
|
||||||
options necessary added to it, for example by an autoconf generated
|
<code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
|
||||||
configure script.
|
has had any options necessary added to it, for example by an autoconf
|
||||||
|
generated configure script.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -485,10 +480,10 @@
|
|||||||
The normal behavior for compiler versions that are newer than the
|
The normal behavior for compiler versions that are newer than the
|
||||||
last known version, is to assume that they have all the same defects
|
last known version, is to assume that they have all the same defects
|
||||||
as the last known version. By setting this define, then compiler
|
as the last known version. By setting this define, then compiler
|
||||||
versions that are newer than the last known version are assumed to
|
versions that are newer than the last known version are assumed
|
||||||
be fully conforming with the standard. This is probably most useful
|
to be fully conforming with the standard. This is probably most
|
||||||
for boost developers or testers, and for those who want to use boost
|
useful for boost developers or testers, and for those who want
|
||||||
to test beta compiler versions.
|
to use boost to test beta compiler versions.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -515,8 +510,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When defined, disables threading support, even if the compiler in
|
When defined, disables threading support, even if the compiler
|
||||||
its current translation mode supports multiple threads.
|
in its current translation mode supports multiple threads.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -529,9 +524,10 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
When defined, disables the use of Win32 specific API's, even when
|
When defined, disables the use of Win32 specific API's, even when
|
||||||
these are available. Also has the effect of setting <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> unless <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code> is set. This
|
these are available. Also has the effect of setting <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> unless
|
||||||
option may be set automatically by the config system when it detects
|
<code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code>
|
||||||
that the compiler is in "strict mode".
|
is set. This option may be set automatically by the config system
|
||||||
|
when it detects that the compiler is in "strict mode".
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -571,8 +567,8 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
A suffix header to include in place of whatever boost.config would
|
A suffix header to include in place of whatever boost.config would
|
||||||
normally select, any replacement should undo the effects of the prefix
|
normally select, any replacement should undo the effects of the
|
||||||
header.
|
prefix header.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -584,14 +580,14 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Forces all libraries that have separate source, to be linked as dll's
|
Forces all libraries that have separate source, to be linked as
|
||||||
rather than static libraries on Microsoft Windows (this macro is
|
dll's rather than static libraries on Microsoft Windows (this macro
|
||||||
used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
|
is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
|
||||||
knows which symbols to look for in a dll rather than in a static
|
knows which symbols to look for in a dll rather than in a static
|
||||||
library). Note that there may be some libraries that can only be
|
library). Note that there may be some libraries that can only be
|
||||||
statically linked (Boost.Test for example) and others which may only
|
statically linked (Boost.Test for example) and others which may
|
||||||
be dynamically linked (Boost.Threads for example), in these cases
|
only be dynamically linked (Boost.Threads for example), in these
|
||||||
this macro has no effect.
|
cases this macro has no effect.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -611,9 +607,9 @@
|
|||||||
etc (this macro is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
|
etc (this macro is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
|
||||||
knows which symbols to look for in a dll rather than in a static
|
knows which symbols to look for in a dll rather than in a static
|
||||||
library). Note that there may be some libraries that can only be
|
library). Note that there may be some libraries that can only be
|
||||||
statically linked (Boost.Test for example) and others which may only
|
statically linked (Boost.Test for example) and others which may
|
||||||
be dynamically linked (Boost.Threads for example), in these cases
|
only be dynamically linked (Boost.Threads for example), in these
|
||||||
this macro is unsupported.
|
cases this macro is unsupported.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -628,8 +624,8 @@
|
|||||||
Tells the config system not to automatically select which libraries
|
Tells the config system not to automatically select which libraries
|
||||||
to link against. Normally if a compiler supports #pragma lib, then
|
to link against. Normally if a compiler supports #pragma lib, then
|
||||||
the correct library build variant will be automatically selected
|
the correct library build variant will be automatically selected
|
||||||
and linked against, simply by the act of including one of that library's
|
and linked against, simply by the act of including one of that
|
||||||
headers. This macro turns that feature off.
|
library's headers. This macro turns that feature off.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -643,12 +639,12 @@
|
|||||||
<p>
|
<p>
|
||||||
Tells the config system not to automatically select which library
|
Tells the config system not to automatically select which library
|
||||||
to link against for library "whatever", replace <span class="emphasis"><em>WHATEVER</em></span>
|
to link against for library "whatever", replace <span class="emphasis"><em>WHATEVER</em></span>
|
||||||
in the macro name with the name of the library; for example <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_NO_LIB</span></code>. Normally if
|
in the macro name with the name of the library; for example <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_NO_LIB</span></code>. Normally
|
||||||
a compiler supports <code class="computeroutput"><span class="preprocessor">#pragma</span>
|
if a compiler supports <code class="computeroutput"><span class="preprocessor">#pragma</span>
|
||||||
<span class="identifier">lib</span></code>, then the correct library
|
<span class="identifier">lib</span></code>, then the correct
|
||||||
build variant will be automatically selected and linked against,
|
library build variant will be automatically selected and linked
|
||||||
simply by the act of including one of that library's headers. This
|
against, simply by the act of including one of that library's headers.
|
||||||
macro turns that feature off.
|
This macro turns that feature off.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -682,7 +678,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table></div>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
|
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
|
||||||
configuration usage</a>
|
configuration usage</a>
|
||||||
@@ -726,7 +722,7 @@
|
|||||||
<p>
|
<p>
|
||||||
The following usage examples represent just a few of the possibilities:
|
The following usage examples represent just a few of the possibilities:
|
||||||
</p>
|
</p>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example
|
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example
|
||||||
1, creating our own frozen configuration</a>
|
1, creating our own frozen configuration</a>
|
||||||
@@ -758,7 +754,7 @@
|
|||||||
yet supported by boost.
|
yet supported by boost.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example
|
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example
|
||||||
2: skipping files that you don't need</a>
|
2: skipping files that you don't need</a>
|
||||||
@@ -777,7 +773,7 @@
|
|||||||
a dependency on two boost headers.
|
a dependency on two boost headers.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h4 class="title">
|
<div class="titlepage"><div><div><h4 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example
|
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example
|
||||||
3: using configure script to freeze the boost configuration</a>
|
3: using configure script to freeze the boost configuration</a>
|
||||||
@@ -790,7 +786,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" lang="en">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
<a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing
|
<a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing
|
||||||
the boost configuration</a>
|
the boost configuration</a>
|
||||||
@@ -831,8 +827,8 @@
|
|||||||
setup, plus your current boost configuration. The information provided
|
setup, plus your current boost configuration. The information provided
|
||||||
by this program useful in setting up the boost configuration files.
|
by this program useful in setting up the boost configuration files.
|
||||||
If you report that boost is incorrectly configured for your compiler/library/platform
|
If you report that boost is incorrectly configured for your compiler/library/platform
|
||||||
then please include the output from this program when reporting the
|
then please include the output from this program when reporting
|
||||||
changes required.
|
the changes required.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -844,9 +840,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
A monolithic test program that includes most of the individual test
|
A monolithic test program that includes most of the individual
|
||||||
cases. This provides a quick check to see if boost is correctly configured
|
test cases. This provides a quick check to see if boost is correctly
|
||||||
for your compiler/library/platform.
|
configured for your compiler/library/platform.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -859,9 +855,9 @@
|
|||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Tests your standard library's <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
|
Tests your standard library's <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
|
||||||
implementation (or its boost provided replacement if <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code> is defined). This
|
implementation (or its boost provided replacement if <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code> is defined).
|
||||||
test file fails with most versions of numeric_limits, mainly due
|
This test file fails with most versions of numeric_limits, mainly
|
||||||
to the way that some compilers treat NAN's and infinity.
|
due to the way that some compilers treat NAN's and infinity.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -887,8 +883,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Individual compiler defect test files. Each of these should not compile,
|
Individual compiler defect test files. Each of these should not
|
||||||
if one does then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
|
compile, if one does then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
|
||||||
macro is defined when it need not be - see each test file for specific
|
macro is defined when it need not be - see each test file for specific
|
||||||
details.
|
details.
|
||||||
</p>
|
</p>
|
||||||
@@ -902,10 +898,10 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
Individual feature test files. If one of these does not compile then
|
Individual feature test files. If one of these does not compile
|
||||||
the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
|
then the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
|
||||||
macro is defined when it should not be - see each test file for specific
|
macro is defined when it should not be - see each test file for
|
||||||
details.
|
specific details.
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -938,16 +934,10 @@
|
|||||||
<p>
|
<p>
|
||||||
Alternatively you can run the configure script like this:
|
Alternatively you can run the configure script like this:
|
||||||
</p>
|
</p>
|
||||||
<div class="blockquote"><blockquote class="blockquote">
|
<div class="blockquote"><blockquote class="blockquote"><p>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<code class="computeroutput"><span class="special">./</span><span class="identifier">configure</span>
|
<code class="computeroutput"><span class="special">./</span><span class="identifier">configure</span>
|
||||||
<span class="special">--</span><span class="identifier">enable</span><span class="special">-</span><span class="identifier">test</span></code>
|
<span class="special">--</span><span class="identifier">enable</span><span class="special">-</span><span class="identifier">test</span></code>
|
||||||
</p>
|
</p></blockquote></div>
|
||||||
<p>
|
|
||||||
</p>
|
|
||||||
</blockquote></div>
|
|
||||||
<p>
|
<p>
|
||||||
in which case the script will test the current configuration rather than
|
in which case the script will test the current configuration rather than
|
||||||
creating a new one from scratch.
|
creating a new one from scratch.
|
||||||
@@ -960,10 +950,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: June 11, 2010 at 11:20:15 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: June 30, 2010 at 23:58:03 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Reference in New Issue
Block a user