Merge Boost.Config changes to release.

[SVN r71480]
This commit is contained in:
John Maddock
2011-04-25 12:10:48 +00:00
parent 98d2f9fc1d
commit dd3ebc8776
84 changed files with 445 additions and 968 deletions

View File

@@ -42,14 +42,12 @@
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
for libraries with separate source code</a></span></dt> for libraries with separate source code</a></span></dt>
</dl></div> </dl></div>
<a name="config_defects"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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>
</h3></div></div></div> </h3></div></div></div>
<p> <a name="config_defects"></a><p>
The following macros all describe features that are required by the C++ standard, The following macros all describe features that are required by the C++ standard,
if one of the following macros is defined, then it represents a defect in if one of the following macros is defined, then it represents a defect in
the compiler's conformance with the standard. the compiler's conformance with the standard.
@@ -282,6 +280,26 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_FENV_H</span></code>
</p>
</td>
<td>
<p>
Platform, Standard library
</p>
</td>
<td>
<p>
The C standard library doesn't provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
<a href="../../../../../boost/detail/fenv.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
should be included instead of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
for maximum portability on platforms which do provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_NESTED_DERIVATIONS</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_NESTED_DERIVATIONS</span></code>
@@ -1306,14 +1324,12 @@
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<a name="config_features"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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>
</h3></div></div></div> </h3></div></div></div>
<p> <a name="config_features"></a><p>
The following macros describe features that are not required by the C++ standard. The following macros describe features that are not required by the C++ standard.
The macro is only defined if the feature is present. The macro is only defined if the feature is present.
</p> </p>
@@ -1695,26 +1711,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_FENV_H</span></code>
</p>
</td>
<td>
<p>
Platform, Standard library
</p>
</td>
<td>
<p>
The platform has a <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
<a href="../../../../../boost/detail/fenv.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
should be included instead of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
for maximum portability.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code> <code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
@@ -2325,18 +2321,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;concepts&gt;.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code>
@@ -2349,18 +2333,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONTAINER_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;container_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code>
@@ -2397,30 +2369,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ITERATOR_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;iterator_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MEMORY_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;memory_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code>
@@ -2609,18 +2557,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support Concepts.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
@@ -2883,14 +2819,12 @@
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<a name="config_helpers"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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>
</h3></div></div></div> </h3></div></div></div>
<p> <a name="config_helpers"></a><p>
The following macros are either simple helpers, or macros that provide workarounds The following macros are either simple helpers, or macros that provide workarounds
for compiler/standard library defects. for compiler/standard library defects.
</p> </p>
@@ -2960,6 +2894,30 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span></code>
</p>
</td>
<td>
<p>
Sometimes you have a function name with the same name as a C macro,
for example "min" and "max" member functions,
in which case one can prevent the function being expanded as a
macro using:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">min</span> <span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
</pre>
<p>
The following also works in most, but not all, contexts:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">(</span><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">max</span><span class="special">)(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
</pre>
<p>
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_DEDUCED_TYPENAME</span></code> <code class="computeroutput"><span class="identifier">BOOST_DEDUCED_TYPENAME</span></code>
@@ -3294,14 +3252,12 @@
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<a name="config_info_macros"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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>
</h3></div></div></div> </h3></div></div></div>
<p> <a name="config_info_macros"></a><p>
The following macros describe boost features; these are, generally speaking The following macros describe boost features; these are, generally speaking
the only boost macros that should be tested in user code. the only boost macros that should be tested in user code.
</p> </p>

View File

@@ -28,8 +28,8 @@
Boost Authors</a> Boost Authors</a>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings"> <dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
Disabling Compiler Warnings</a></span></dt> Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding <dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt> New Defect Macros</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding <dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@@ -105,8 +105,8 @@
</ul></div> </ul></div>
<div class="section" lang="en"> <div class="section" lang="en">
<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
Disabling Compiler Warnings</a> Compiler Warnings</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">warning_disable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">warning_disable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>

View File

@@ -28,7 +28,7 @@
</h3></div></div></div> </h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div> <div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id663915"></a><p> <a name="id1006373"></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>
@@ -75,8 +75,8 @@
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
Boost Authors</a></span></dt> Boost Authors</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings"> <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
Disabling Compiler Warnings</a></span></dt> Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt> New Defect Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@@ -166,14 +166,12 @@
developers list. developers list.
</p> </p>
</div> </div>
<a name="config_config_script"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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"> <a name="config_config_script"></a><div class="important"><table border="0" summary="Important">
<tr> <tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../doc/src/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>
@@ -310,14 +308,12 @@
</li> </li>
</ul></div> </ul></div>
</div> </div>
<a name="config_user_settable"></a><p>
</p>
<div class="section" lang="en"> <div class="section" lang="en">
<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>
</h3></div></div></div> </h3></div></div></div>
<p> <a name="config_user_settable"></a><p>
There are some configuration-options that represent user choices, rather There are some configuration-options that represent user choices, rather
than compiler defects or platform specific options. These are listed in than compiler defects or platform specific options. These are listed in
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
@@ -950,7 +946,7 @@
</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: November 23, 2010 at 03:21:20 GMT</small></p></td> <td align="left"><p><small>Last revised: April 06, 2011 at 10:49:30 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>

View File

@@ -539,14 +539,10 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_0X_HDR_ARRAY`][The standard library does not provide header <array>.]] [[`BOOST_NO_0X_HDR_ARRAY`][The standard library does not provide header <array>.]]
[[`BOOST_NO_0X_HDR_CHRONO`][The standard library does not provide header <chrono>.]] [[`BOOST_NO_0X_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
[[`BOOST_NO_0X_HDR_CODECVT`][The standard library does not provide header <codecvt>.]] [[`BOOST_NO_0X_HDR_CODECVT`][The standard library does not provide header <codecvt>.]]
[[`BOOST_NO_0X_HDR_CONCEPTS`][The standard library does not provide header <concepts>.]]
[[`BOOST_NO_0X_HDR_CONDITION_VARIABLE`][The standard library does not provide header <condition_variable>.]] [[`BOOST_NO_0X_HDR_CONDITION_VARIABLE`][The standard library does not provide header <condition_variable>.]]
[[`BOOST_NO_0X_HDR_CONTAINER_CONCEPTS`][The standard library does not provide header <container_concepts>.]]
[[`BOOST_NO_0X_HDR_FORWARD_LIST`][The standard library does not provide header <forward_list>.]] [[`BOOST_NO_0X_HDR_FORWARD_LIST`][The standard library does not provide header <forward_list>.]]
[[`BOOST_NO_0X_HDR_FUTURE`][The standard library does not provide header <future>.]] [[`BOOST_NO_0X_HDR_FUTURE`][The standard library does not provide header <future>.]]
[[`BOOST_NO_0X_HDR_INITIALIZER_LIST`][The standard library does not provide header <initializer_list>.]] [[`BOOST_NO_0X_HDR_INITIALIZER_LIST`][The standard library does not provide header <initializer_list>.]]
[[`BOOST_NO_0X_HDR_ITERATOR_CONCEPTS`][The standard library does not provide header <iterator_concepts>.]]
[[`BOOST_NO_0X_HDR_MEMORY_CONCEPTS`][The standard library does not provide header <memory_concepts>.]]
[[`BOOST_NO_0X_HDR_MUTEX`][The standard library does not provide header <mutex>.]] [[`BOOST_NO_0X_HDR_MUTEX`][The standard library does not provide header <mutex>.]]
[[`BOOST_NO_0X_HDR_RANDOM`][The standard library does not provide header <random>.]] [[`BOOST_NO_0X_HDR_RANDOM`][The standard library does not provide header <random>.]]
[[`BOOST_NO_0X_HDR_RATIO`][The standard library does not provide header <ratio>.]] [[`BOOST_NO_0X_HDR_RATIO`][The standard library does not provide header <ratio>.]]
@@ -571,8 +567,6 @@ type `char16_t`.
[[`BOOST_NO_CHAR32_T`][The compiler does not support [[`BOOST_NO_CHAR32_T`][The compiler does not support
type `char32_t`. type `char32_t`.
]] ]]
[[`BOOST_NO_CONCEPTS`][The compiler does not support Concepts.
]]
[[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases. [[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases.
]] ]]
[[`BOOST_NO_CONSTEXPR`][The compiler does not support [[`BOOST_NO_CONSTEXPR`][The compiler does not support
@@ -674,6 +668,17 @@ of `__BORLANDC__` /unless/ the macro `BOOST_DETECT_OUTDATED_WORKAROUNDS` is defi
[*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/detail/workaround.hpp boost/detail/workaround.hpp]. [*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/detail/workaround.hpp boost/detail/workaround.hpp].
]] ]]
[[`BOOST_PREVENT_MACRO_SUBSTITUTION`][
Sometimes you have a function name with the same name as a C macro, for example "min" and "max"
member functions, in which case one can prevent the function being expanded as a macro using:
``
someclass.min BOOST_PREVENT_MACRO_SUBSTITUTION(arg1, arg2);
``
The following also works in most, but not all, contexts:
``
(someclass.max)(arg1, arg2);
``
]]
[[`BOOST_DEDUCED_TYPENAME`][ [[`BOOST_DEDUCED_TYPENAME`][
Some compilers don't support the use of typename for dependent types in deduced Some compilers don't support the use of typename for dependent types in deduced
contexts. This macro expands to nothing on those compilers, and typename contexts. This macro expands to nothing on those compilers, and typename

View File

@@ -56,8 +56,13 @@
# define BOOST_NO_CV_VOID_SPECIALIZATIONS # define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_DEDUCED_TYPENAME # define BOOST_NO_DEDUCED_TYPENAME
// workaround for missing WCHAR_MAX/WCHAR_MIN: // workaround for missing WCHAR_MAX/WCHAR_MIN:
#ifdef __cplusplus
#include <climits> #include <climits>
#include <cwchar> #include <cwchar>
#else
#include <limits.h>
#include <wchar.h>
#endif // __cplusplus
#ifndef WCHAR_MAX #ifndef WCHAR_MAX
# define WCHAR_MAX 0xffff # define WCHAR_MAX 0xffff
#endif #endif
@@ -69,7 +74,7 @@
// Borland C++ Builder 6 and below: // Borland C++ Builder 6 and below:
#if (__BORLANDC__ <= 0x564) #if (__BORLANDC__ <= 0x564)
# ifdef NDEBUG # if defined(NDEBUG) && defined(__cplusplus)
// fix broken <cstring> so that Boost.test works: // fix broken <cstring> so that Boost.test works:
# include <cstring> # include <cstring>
# undef strcmp # undef strcmp
@@ -166,7 +171,6 @@
#define BOOST_NO_AUTO_DECLARATIONS #define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS #define BOOST_NO_DELETED_FUNCTIONS

View File

@@ -29,7 +29,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#if !__has_feature(cxx_decltype) #if !__has_feature(cxx_decltype)

View File

@@ -60,7 +60,7 @@
// (Niels Dekker, LKEB, April 2010) // (Niels Dekker, LKEB, April 2010)
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
# ifdef NDEBUG # if defined(NDEBUG) && defined(__cplusplus)
// fix broken <cstring> so that Boost.test works: // fix broken <cstring> so that Boost.test works:
# include <cstring> # include <cstring>
# undef strcmp # undef strcmp
@@ -93,7 +93,6 @@
#define BOOST_NO_AUTO_DECLARATIONS #define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS #define BOOST_NO_DELETED_FUNCTIONS

View File

@@ -74,7 +74,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -44,7 +44,9 @@
// //
// Is this really the best way to detect whether the std lib is in namespace std? // Is this really the best way to detect whether the std lib is in namespace std?
// //
#ifdef __cplusplus
#include <cstddef> #include <cstddef>
#endif
#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
# define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_STDC_NAMESPACE
#endif #endif
@@ -62,7 +64,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -168,7 +168,7 @@
// Variadic templates compiler: // Variadic templates compiler:
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
# ifdef __VARIADIC_TEMPLATES # if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
# define BOOST_HAS_VARIADIC_TMPL # define BOOST_HAS_VARIADIC_TMPL
# else # else
# define BOOST_NO_VARIADIC_TEMPLATES # define BOOST_NO_VARIADIC_TEMPLATES
@@ -182,25 +182,16 @@
# define BOOST_NO_AUTO_MULTIDECLARATIONS # define BOOST_NO_AUTO_MULTIDECLARATIONS
# define BOOST_NO_CHAR16_T # define BOOST_NO_CHAR16_T
# define BOOST_NO_CHAR32_T # define BOOST_NO_CHAR32_T
# define BOOST_NO_INITIALIZER_LISTS
# define BOOST_NO_DEFAULTED_FUNCTIONS # define BOOST_NO_DEFAULTED_FUNCTIONS
# define BOOST_NO_DELETED_FUNCTIONS # define BOOST_NO_DELETED_FUNCTIONS
# define BOOST_NO_INITIALIZER_LISTS
# define BOOST_NO_SCOPED_ENUMS
#endif #endif
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
# define BOOST_NO_SFINAE_EXPR # define BOOST_NO_SFINAE_EXPR
#endif #endif
// C++0x features in 4.4.1 and later // C++0x features in 4.5.0 and later
//
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
# define BOOST_NO_SCOPED_ENUMS
#endif
// C++0x features in 4.5.n and later
// //
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
@@ -209,27 +200,32 @@
# define BOOST_NO_UNICODE_LITERALS # define BOOST_NO_UNICODE_LITERALS
#endif #endif
// C++0x features in 4.5.n and later // C++0x features in 4.5.1 and later
//
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.5.1
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
# define BOOST_NO_SCOPED_ENUMS
#endif
// C++0x features in 4.6.n and later
// //
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_NULLPTR #define BOOST_NO_NULLPTR
#endif #endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "GNU C++ version " __VERSION__
#endif
// ConceptGCC compiler: // ConceptGCC compiler:
// http://www.generic-programming.org/software/ConceptGCC/ // http://www.generic-programming.org/software/ConceptGCC/
#ifdef __GXX_CONCEPTS__ #ifdef __GXX_CONCEPTS__
# define BOOST_HAS_CONCEPTS # define BOOST_HAS_CONCEPTS
# define BOOST_COMPILER "ConceptGCC version " __VERSION__ # define BOOST_COMPILER "ConceptGCC version " __VERSION__
#else
# define BOOST_NO_CONCEPTS
#endif #endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "GNU C++ version " __VERSION__
#endif
//
// versions check: // versions check:
// we don't know gcc prior to version 2.90: // we don't know gcc prior to version 2.90:
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)

View File

@@ -96,7 +96,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -121,6 +121,7 @@
// in type_traits code among other things, getting this correct // in type_traits code among other things, getting this correct
// for the Intel compiler is actually remarkably fragile and tricky: // for the Intel compiler is actually remarkably fragile and tricky:
// //
#ifdef __cplusplus
#if defined(BOOST_NO_INTRINSIC_WCHAR_T) #if defined(BOOST_NO_INTRINSIC_WCHAR_T)
#include <cwchar> #include <cwchar>
template< typename T > struct assert_no_intrinsic_wchar_t; template< typename T > struct assert_no_intrinsic_wchar_t;
@@ -134,8 +135,9 @@ template<> struct assert_intrinsic_wchar_t<wchar_t> {};
// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: // if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
template<> struct assert_intrinsic_wchar_t<unsigned short> {}; template<> struct assert_intrinsic_wchar_t<unsigned short> {};
#endif #endif
#endif
#if _MSC_VER+0 >= 1000 #if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
# if _MSC_VER >= 1200 # if _MSC_VER >= 1200
# define BOOST_HAS_MS_INT64 # define BOOST_HAS_MS_INT64
# endif # endif
@@ -209,7 +211,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200) #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
# undef BOOST_NO_RVALUE_REFERENCES # undef BOOST_NO_RVALUE_REFERENCES
# undef BOOST_NO_SCOPED_ENUMS //# undef BOOST_NO_SCOPED_ENUMS // doesn't really work!!
# undef BOOST_NO_DELETED_FUNCTIONS # undef BOOST_NO_DELETED_FUNCTIONS
# undef BOOST_NO_DEFAULTED_FUNCTIONS # undef BOOST_NO_DEFAULTED_FUNCTIONS
# undef BOOST_NO_LAMBDAS # undef BOOST_NO_LAMBDAS
@@ -218,9 +220,16 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# undef BOOST_NO_AUTO_MULTIDECLARATIONS # undef BOOST_NO_AUTO_MULTIDECLARATIONS
#endif #endif
#if (BOOST_INTEL_CXX_VERSION < 1200)
//
// fenv.h appears not to work with Intel prior to 12.0:
//
# define BOOST_NO_FENV_H
#endif
// //
// last known and checked version: // last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 1110) #if (BOOST_INTEL_CXX_VERSION > 1200)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER) # elif defined(_MSC_VER)

View File

@@ -96,7 +96,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -44,7 +44,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -52,7 +52,6 @@
# define BOOST_NO_DEFAULTED_FUNCTIONS # define BOOST_NO_DEFAULTED_FUNCTIONS
# define BOOST_NO_DECLTYPE # define BOOST_NO_DECLTYPE
# define BOOST_NO_CONSTEXPR # define BOOST_NO_CONSTEXPR
# define BOOST_NO_CONCEPTS
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
# define BOOST_NO_CHAR32_T # define BOOST_NO_CHAR32_T
# define BOOST_NO_CHAR16_T # define BOOST_NO_CHAR16_T
@@ -68,14 +67,10 @@
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
#endif #endif

View File

@@ -51,7 +51,6 @@
// //
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -103,7 +103,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE #define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS

View File

@@ -78,7 +78,6 @@
# define BOOST_NO_CHAR16_T # define BOOST_NO_CHAR16_T
# define BOOST_NO_CHAR32_T # define BOOST_NO_CHAR32_T
#endif #endif
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#if ! __IBMCPP_DECLTYPE #if ! __IBMCPP_DECLTYPE
# define BOOST_NO_DECLTYPE # define BOOST_NO_DECLTYPE

View File

@@ -179,6 +179,7 @@
#define BOOST_NO_RVALUE_REFERENCES #define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_STATIC_ASSERT #define BOOST_NO_STATIC_ASSERT
#define BOOST_NO_NULLPTR #define BOOST_NO_NULLPTR
#define BOOST_NO_DECLTYPE
#endif // _MSC_VER < 1600 #endif // _MSC_VER < 1600
#if _MSC_VER >= 1600 #if _MSC_VER >= 1600
@@ -188,10 +189,8 @@
// C++0x features not supported by any versions // C++0x features not supported by any versions
#define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T #define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR #define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DELETED_FUNCTIONS #define BOOST_NO_DELETED_FUNCTIONS
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS

View File

@@ -11,7 +11,11 @@
#define BOOST_PLATFORM "linux" #define BOOST_PLATFORM "linux"
// make sure we have __GLIBC_PREREQ if available at all // make sure we have __GLIBC_PREREQ if available at all
#ifdef __cplusplus
#include <cstdlib> #include <cstdlib>
#else
#include <stdlib.h>
#endif
// //
// <stdint.h> added to glibc 2.1.1 // <stdint.h> added to glibc 2.1.1
@@ -68,6 +72,7 @@
// boilerplate code: // boilerplate code:
#define BOOST_HAS_UNISTD_H #define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp> #include <boost/config/posix_features.hpp>
#define BOOST_HAS_PTHREAD_YIELD
#ifndef __GNUC__ #ifndef __GNUC__
// //

View File

@@ -64,16 +64,17 @@
# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) # if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
# if !defined(BOOST_HAS_PTHREADS) # if !defined(BOOST_HAS_PTHREADS)
# define BOOST_HAS_MPTASKS // MPTasks support is deprecated/removed from Boost:
//# define BOOST_HAS_MPTASKS
# elif ( __dest_os == __mac_os_x ) # elif ( __dest_os == __mac_os_x )
// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the // We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
// gettimeofday and no posix. // gettimeofday and no posix.
# define BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_GETTIMEOFDAY
# endif # endif
// The MP task implementation of Boost Threads aims to replace MP-unsafe #ifdef BOOST_HAS_PTHREADS
// parts of the MSL, so we turn on threads unconditionally.
# define BOOST_HAS_THREADS # define BOOST_HAS_THREADS
#endif
// The remote call manager depends on this. // The remote call manager depends on this.
# define BOOST_BIND_ENABLE_PASCAL # define BOOST_BIND_ENABLE_PASCAL

View File

@@ -18,8 +18,11 @@
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL // Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK # define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
// make sure we have __GLIBC_PREREQ if available at all // make sure we have __GLIBC_PREREQ if available at all
#ifdef __cplusplus
#include <cstdlib> #include <cstdlib>
// boilerplate code: #else
#include <stdlib.h>
#endif// boilerplate code:
# define BOOST_HAS_UNISTD_H # define BOOST_HAS_UNISTD_H
# include <boost/config/posix_features.hpp> # include <boost/config/posix_features.hpp>
// S60 SDK defines _POSIX_VERSION as POSIX.1 // S60 SDK defines _POSIX_VERSION as POSIX.1

View File

@@ -10,33 +10,6 @@
// See http://www.boost.org/ for most recent version. // See http://www.boost.org/ for most recent version.
// one identification macro for each of the
// compilers we support:
# define BOOST_CXX_GCCXML 0
# define BOOST_CXX_NVCC 0
# define BOOST_CXX_COMO 0
# define BOOST_CXX_PATHSCALE 0
# define BOOST_CXX_CLANG 0
# define BOOST_CXX_DMC 0
# define BOOST_CXX_INTEL 0
# define BOOST_CXX_GNUC 0
# define BOOST_CXX_KCC 0
# define BOOST_CXX_SGI 0
# define BOOST_CXX_TRU64 0
# define BOOST_CXX_GHS 0
# define BOOST_CXX_BORLAND 0
# define BOOST_CXX_CW 0
# define BOOST_CXX_SUNPRO 0
# define BOOST_CXX_HPACC 0
# define BOOST_CXX_MPW 0
# define BOOST_CXX_IBMCPP 0
# define BOOST_CXX_MSVC 0
# define BOOST_CXX_PGI 0
# define BOOST_CXX_NVCC 0
// locate which compiler we are using and define // locate which compiler we are using and define
// BOOST_COMPILER_CONFIG as needed: // BOOST_COMPILER_CONFIG as needed:

View File

@@ -14,7 +14,11 @@
// First include <cstddef> to determine if some version of STLport is in use as the std lib // First include <cstddef> to determine if some version of STLport is in use as the std lib
// (do not rely on this header being included since users can short-circuit this header // (do not rely on this header being included since users can short-circuit this header
// if they know whose std lib they are using.) // if they know whose std lib they are using.)
#ifdef __cplusplus
# include <cstddef> # include <cstddef>
#else
# include <stddef.h>
#endif
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) #if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
// STLPort library; this _must_ come first, otherwise since // STLPort library; this _must_ come first, otherwise since

View File

@@ -101,7 +101,6 @@
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_REGEX # define BOOST_NO_0X_HDR_REGEX
# define BOOST_NO_0X_HDR_SYSTEM_ERROR # define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_MAP
# define BOOST_NO_0X_HDR_UNORDERED_SET # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -113,16 +112,13 @@
#if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE) #if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE)
# define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TUPLE
#endif #endif
// C++0x headers not yet implemented
// //
// C++0x headers not yet (fully) implemented:
//
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_THREAD

View File

@@ -38,14 +38,10 @@
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -19,15 +19,17 @@
#define BOOST_HAS_THREADS #define BOOST_HAS_THREADS
#define BOOST_NO_0X_HDR_CONCEPTS
#define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#ifdef _LIBCPP_HAS_NO_VARIADICS #ifdef _LIBCPP_HAS_NO_VARIADICS
# define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TUPLE
#endif #endif
//
// These appear to be unusable/incomplete so far:
//
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_TYPE_TRAITS
// libc++ uses a non-standard messages_base // libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES #define BOOST_NO_STD_MESSAGES

View File

@@ -104,10 +104,8 @@
// //
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_REGEX # define BOOST_NO_0X_HDR_REGEX
# define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TUPLE
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_MAP
# define BOOST_NO_0X_HDR_UNORDERED_SET # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -123,23 +121,33 @@
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_SYSTEM_ERROR # define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_THREAD #else
# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
#endif
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_0X_HDR_MUTEX))
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_MUTEX
#endif #endif
// C++0x features in GCC 4.5.0 and later // C++0x features in GCC 4.5.0 and later
// //
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_NUMERIC_LIMITS_LOWEST # define BOOST_NO_NUMERIC_LIMITS_LOWEST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_RANDOM
#endif #endif
// C++0x headers not yet implemented // C++0x features in GCC 4.5.0 and later
// //
# define BOOST_NO_0X_HDR_CODECVT #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_0X_HDR_TYPEINDEX
#endif
// C++0x headers not yet (fully!) implemented
//
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_CODECVT
// --- end --- // --- end ---

View File

@@ -27,14 +27,10 @@
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -51,14 +51,10 @@
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -154,22 +154,20 @@
# endif # endif
#endif #endif
// C++0x headers not yet implemented
//
#if _RWSTD_VER < 0x05000000 #if _RWSTD_VER < 0x05000000
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_TYPE_TRAITS
#endif #endif
// type_traits header is incomplete:
# define BOOST_NO_0X_HDR_TYPE_TRAITS
//
// C++0x headers not yet implemented
//
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -121,14 +121,10 @@
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -215,14 +215,10 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -27,14 +27,10 @@
# define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE # define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RATIO

View File

@@ -341,6 +341,9 @@
#if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) #if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
# define BOOST_NO_INITIALIZER_LISTS # define BOOST_NO_INITIALIZER_LISTS
#endif #endif
#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
#endif
// //
// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined // Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined
@@ -376,7 +379,7 @@
// works as expected with standard conforming compilers. The resulting // works as expected with standard conforming compilers. The resulting
// double inclusion of <cstddef> is harmless. // double inclusion of <cstddef> is harmless.
# ifdef BOOST_NO_STDC_NAMESPACE # if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
# include <cstddef> # include <cstddef>
namespace std { using ::ptrdiff_t; using ::size_t; } namespace std { using ::ptrdiff_t; using ::size_t; }
# endif # endif
@@ -395,7 +398,7 @@
// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// // BOOST_NO_STD_MIN_MAX workaround -----------------------------------------//
# ifdef BOOST_NO_STD_MIN_MAX # if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
namespace std { namespace std {
template <class _Tp> template <class _Tp>
@@ -506,7 +509,7 @@ namespace std {
// but it's use may generate either warnings (with -ansi), or errors // but it's use may generate either warnings (with -ansi), or errors
// (with -pedantic -ansi) unless it's use is prefixed by __extension__ // (with -pedantic -ansi) unless it's use is prefixed by __extension__
// //
#if defined(BOOST_HAS_LONG_LONG) #if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)
namespace boost{ namespace boost{
# ifdef __GNUC__ # ifdef __GNUC__
__extension__ typedef long long long_long_type; __extension__ typedef long long long_long_type;
@@ -560,7 +563,7 @@ namespace boost{
// //
#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS #if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
# include "boost/type.hpp" # include "boost/type.hpp"
# include "boost/non_type.hpp" # include "boost/non_type.hpp"
@@ -598,7 +601,7 @@ namespace boost{
// When BOOST_NO_STD_TYPEINFO is defined, we can just import // When BOOST_NO_STD_TYPEINFO is defined, we can just import
// the global definition into std namespace: // the global definition into std namespace:
#ifdef BOOST_NO_STD_TYPEINFO #if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
#include <typeinfo> #include <typeinfo>
namespace std{ using ::type_info; } namespace std{ using ::type_info; }
#endif #endif

View File

@@ -23,7 +23,7 @@
// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: // Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
// not even std library ones! Doing so may turn the warning // not even std library ones! Doing so may turn the warning
// off too late to be of any use. For example the VC++ C4996 // off too late to be of any use. For example the VC++ C4996
// warning can be omitted from <iosfwd> if that header is included // warning can be emitted from <iosfwd> if that header is included
// before or by this one :-( // before or by this one :-(
// //

View File

@@ -25,6 +25,7 @@ if $(is_unix)
test-suite config test-suite config
: :
[ compile config_test_c.c ]
[ run config_test.cpp [ run config_test.cpp
: #args : #args
: #input-files : #input-files

View File

@@ -1,7 +1,7 @@
# #
# Regression test Jamfile for boost configuration setup. # Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND *** # *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Sep 25 16:53:42 2010 # This file was automatically generated on Tue Mar 15 12:25:21 2011
# by libs/config/tools/generate.cpp # by libs/config/tools/generate.cpp
# Copyright John Maddock. # Copyright John Maddock.
# Use, modification and distribution are subject to the # Use, modification and distribution are subject to the
@@ -31,9 +31,6 @@ test-suite "BOOST_HAS_BETHREADS" :
test-suite "BOOST_HAS_CLOCK_GETTIME" : test-suite "BOOST_HAS_CLOCK_GETTIME" :
[ run ../has_clock_gettime_pass.cpp ] [ run ../has_clock_gettime_pass.cpp ]
[ compile-fail ../has_clock_gettime_fail.cpp ] ; [ compile-fail ../has_clock_gettime_fail.cpp ] ;
test-suite "BOOST_HAS_CONCEPTS" :
[ run ../has_concepts_pass.cpp ]
[ compile-fail ../has_concepts_fail.cpp ] ;
test-suite "BOOST_HAS_DIRENT_H" : test-suite "BOOST_HAS_DIRENT_H" :
[ run ../has_dirent_h_pass.cpp ] [ run ../has_dirent_h_pass.cpp ]
[ compile-fail ../has_dirent_h_fail.cpp ] ; [ compile-fail ../has_dirent_h_fail.cpp ] ;
@@ -184,15 +181,9 @@ test-suite "BOOST_NO_0X_HDR_CHRONO" :
test-suite "BOOST_NO_0X_HDR_CODECVT" : test-suite "BOOST_NO_0X_HDR_CODECVT" :
[ run ../no_0x_hdr_codecvt_pass.cpp ] [ run ../no_0x_hdr_codecvt_pass.cpp ]
[ compile-fail ../no_0x_hdr_codecvt_fail.cpp ] ; [ compile-fail ../no_0x_hdr_codecvt_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONCEPTS" :
[ run ../no_0x_hdr_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONDITION_VARIABLE" : test-suite "BOOST_NO_0X_HDR_CONDITION_VARIABLE" :
[ run ../no_0x_hdr_condition_variable_pass.cpp ] [ run ../no_0x_hdr_condition_variable_pass.cpp ]
[ compile-fail ../no_0x_hdr_condition_variable_fail.cpp ] ; [ compile-fail ../no_0x_hdr_condition_variable_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONTAINER_CONCEPTS" :
[ run ../no_0x_hdr_container_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_container_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_FORWARD_LIST" : test-suite "BOOST_NO_0X_HDR_FORWARD_LIST" :
[ run ../no_0x_hdr_forward_list_pass.cpp ] [ run ../no_0x_hdr_forward_list_pass.cpp ]
[ compile-fail ../no_0x_hdr_forward_list_fail.cpp ] ; [ compile-fail ../no_0x_hdr_forward_list_fail.cpp ] ;
@@ -202,12 +193,6 @@ test-suite "BOOST_NO_0X_HDR_FUTURE" :
test-suite "BOOST_NO_0X_HDR_INITIALIZER_LIST" : test-suite "BOOST_NO_0X_HDR_INITIALIZER_LIST" :
[ run ../no_0x_hdr_initializer_list_pass.cpp ] [ run ../no_0x_hdr_initializer_list_pass.cpp ]
[ compile-fail ../no_0x_hdr_initializer_list_fail.cpp ] ; [ compile-fail ../no_0x_hdr_initializer_list_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_ITERATOR_CONCEPTS" :
[ run ../no_0x_hdr_iterator_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_iterator_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_MEMORY_CONCEPTS" :
[ run ../no_0x_hdr_memory_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_memory_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_MUTEX" : test-suite "BOOST_NO_0X_HDR_MUTEX" :
[ run ../no_0x_hdr_mutex_pass.cpp ] [ run ../no_0x_hdr_mutex_pass.cpp ]
[ compile-fail ../no_0x_hdr_mutex_fail.cpp ] ; [ compile-fail ../no_0x_hdr_mutex_fail.cpp ] ;
@@ -271,9 +256,6 @@ test-suite "BOOST_NO_CHAR32_T" :
test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" : test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" :
[ run ../no_com_value_init_pass.cpp ] [ run ../no_com_value_init_pass.cpp ]
[ compile-fail ../no_com_value_init_fail.cpp ] ; [ compile-fail ../no_com_value_init_fail.cpp ] ;
test-suite "BOOST_NO_CONCEPTS" :
[ run ../no_concepts_pass.cpp ]
[ compile-fail ../no_concepts_fail.cpp ] ;
test-suite "BOOST_NO_CONSTEXPR" : test-suite "BOOST_NO_CONSTEXPR" :
[ run ../no_constexpr_pass.cpp ] [ run ../no_constexpr_pass.cpp ]
[ compile-fail ../no_constexpr_fail.cpp ] ; [ compile-fail ../no_constexpr_fail.cpp ] ;
@@ -325,6 +307,9 @@ test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
test-suite "BOOST_NO_EXTERN_TEMPLATE" : test-suite "BOOST_NO_EXTERN_TEMPLATE" :
[ run ../no_extern_template_pass.cpp ] [ run ../no_extern_template_pass.cpp ]
[ compile-fail ../no_extern_template_fail.cpp ] ; [ compile-fail ../no_extern_template_fail.cpp ] ;
test-suite "BOOST_NO_FENV_H" :
[ run ../no_fenv_h_pass.cpp ]
[ compile-fail ../no_fenv_h_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" : test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" :
[ run ../no_function_template_default_args_pass.cpp ] [ run ../no_function_template_default_args_pass.cpp ]
[ compile-fail ../no_function_template_default_args_fail.cpp ] ; [ compile-fail ../no_function_template_default_args_fail.cpp ] ;

View File

@@ -1,23 +0,0 @@
// Copyright (C) 2007 Douglas Gregor
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_CONCEPTS
// TITLE: concepts
// DESCRIPTION: The compiler supports C++0x concepts
namespace boost_has_concepts {
concept C<typename T> { }
concept_map C<int> { }
int test()
{
return 0;
}
}

View File

@@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_array {
int test() int test()
{ {
return 0; std::array<int, 3> a = { 1, 2, 3 };
return a.size() == 3 ? 0 : 1;
} }
} }

View File

@@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_chrono {
int test() int test()
{ {
using std::chrono::nanoseconds;
using std::chrono::microseconds;
using std::chrono::milliseconds;
using std::chrono::seconds;
using std::chrono::minutes;
using std::chrono::hours;
using std::chrono::system_clock;
using std::chrono::monotonic_clock;
using std::chrono::high_resolution_clock;
return 0; return 0;
} }

View File

@@ -16,6 +16,9 @@ namespace boost_no_0x_hdr_codecvt {
int test() int test()
{ {
using std::codecvt_utf8;
using std::codecvt_utf16;
using std::codecvt_utf8_utf16;
return 0; return 0;
} }

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_CONCEPTS
// TITLE: C++0x header <concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <concepts>
#include <concepts>
namespace boost_no_0x_hdr_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_condition_variable {
int test() int test()
{ {
using std::condition_variable;
using std::condition_variable_any;
return 0; return 0;
} }

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// TITLE: C++0x header <container_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <container_concepts>
#include <container_concepts>
namespace boost_no_0x_hdr_container_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_forward_list {
int test() int test()
{ {
return 0; std::forward_list<int> l(2u, 2);
return *l.begin() == 2 ? 0 : 1;
} }
} }

View File

@@ -16,6 +16,19 @@ namespace boost_no_0x_hdr_future {
int test() int test()
{ {
using std::is_error_code_enum;
using std::make_error_code;
using std::make_error_condition;
using std::future_category;
using std::future_error;
using std::promise;
using std::promise;
using std::promise;
using std::future;
using std::shared_future;
using std::atomic_future;
using std::packaged_task; // undefined
using std::async;
return 0; return 0;
} }

View File

@@ -14,8 +14,13 @@
namespace boost_no_0x_hdr_initializer_list { namespace boost_no_0x_hdr_initializer_list {
void foo(const std::initializer_list<const char*>& l)
{
}
int test() int test()
{ {
foo( { "a", "b", "c" } );
return 0; return 0;
} }

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// TITLE: C++0x header <iterator_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <iterator_concepts>
#include <iterator_concepts>
namespace boost_no_0x_hdr_iterator_concepts {
int test()
{
return 0;
}
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// TITLE: C++0x header <memory_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <memory_concepts>
#include <memory_concepts>
namespace boost_no_0x_hdr_memory_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_mutex {
int test() int test()
{ {
using std::mutex;
using std::recursive_mutex;
using std::timed_mutex;
using std::recursive_timed_mutex;
return 0; return 0;
} }

View File

@@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_random {
int test() int test()
{ {
using std::minstd_rand0;
using std::mt19937;
using std::mt19937_64;
using std::ranlux24_base;
using std::ranlux48_base;
using std::ranlux24;
using std::ranlux48;
using std::knuth_b;
using std::default_random_engine;
return 0; return 0;
} }

View File

@@ -16,6 +16,21 @@ namespace boost_no_0x_hdr_ratio {
int test() int test()
{ {
using std::atto;
using std::femto;
using std::pico;
using std::nano;
using std::micro;
using std::milli;
using std::centi;
using std::deci;
using std::deca;
using std::hecto;
using std::kilo;
using std::mega;
using std::tera;
using std::peta;
using std::exa;
return 0; return 0;
} }

View File

@@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_regex {
int test() int test()
{ {
using std::regex;
using std::wregex;
return 0; return 0;
} }

View File

@@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_system_error {
int test() int test()
{ {
using std::error_category;
using std::error_code;
using std::error_condition;
using std::system_error;
return 0; return 0;
} }

View File

@@ -16,6 +16,11 @@ namespace boost_no_0x_hdr_thread {
int test() int test()
{ {
using std::thread;
using std::this_thread::get_id;
using std::this_thread::yield;
using std::this_thread::sleep_until;
using std::this_thread::sleep_for;
return 0; return 0;
} }

View File

@@ -16,6 +16,90 @@ namespace boost_no_0x_hdr_type_traits {
int test() int test()
{ {
using std::integral_constant;
using std::true_type;
using std::false_type;
using std::is_void;
using std::is_integral;
using std::is_floating_point;
using std::is_array;
using std::is_pointer;
using std::is_lvalue_reference;
using std::is_rvalue_reference;
using std::is_member_object_pointer;
using std::is_member_function_pointer;
using std::is_enum;
using std::is_union;
using std::is_class;
using std::is_function;
using std::is_reference;
using std::is_arithmetic;
using std::is_fundamental;
using std::is_object;
using std::is_scalar;
using std::is_compound;
using std::is_member_pointer;
using std::is_const;
using std::is_volatile;
using std::is_trivial;
using std::is_trivially_copyable;
using std::is_standard_layout;
using std::is_pod;
using std::is_literal_type;
using std::is_empty;
using std::is_polymorphic;
using std::is_abstract;
using std::is_constructible;
using std::is_nothrow_constructible;
using std::has_default_constructor;
using std::has_copy_constructor;
using std::has_copy_assign;
using std::has_move_constructor;
using std::has_move_assign;
using std::has_trivial_default_constructor;
using std::has_trivial_copy_constructor;
using std::has_trivial_move_constructor;
using std::has_trivial_copy_assign;
using std::has_trivial_move_assign;
using std::has_trivial_destructor;
using std::has_nothrow_default_constructor;
using std::has_nothrow_copy_constructor;
using std::has_nothrow_move_constructor;
using std::has_nothrow_copy_assign;
using std::has_nothrow_move_assign;
using std::has_virtual_destructor;
using std::is_signed;
using std::is_unsigned;
using std::alignment_of;
using std::rank;
using std::extent;
using std::is_same;
using std::is_base_of;
using std::is_convertible;
using std::is_explicitly_convertible;
using std::remove_const;
using std::remove_volatile;
using std::remove_cv;
using std::add_const;
using std::add_volatile;
using std::add_cv;
using std::remove_reference;
using std::add_lvalue_reference;
using std::add_rvalue_reference;
using std::make_signed;
using std::make_unsigned;
using std::remove_extent;
using std::remove_all_extents;
using std::remove_pointer;
using std::add_pointer;
using std::aligned_storage;
using std::aligned_union;
using std::decay;
using std::enable_if;
using std::conditional;
using std::common_type;
using std::underlying_type;
using std::result_of;
return 0; return 0;
} }

View File

@@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_map {
int test() int test()
{ {
return 0; std::unordered_map<int, long> s1;
std::unordered_multimap<int, long> s2;
return s1.empty() && s2.empty() ? 0 : 1;
} }
} }

View File

@@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_set {
int test() int test()
{ {
return 0; std::unordered_set<int> s1;
std::unordered_multiset<int> s2;
return s1.empty() && s2.empty() ? 0 : 1;
} }
} }

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_CONCEPTS
// TITLE: C++0x concepts feature unavailable
// DESCRIPTION: The compiler does not support the C++0x concepts feature
namespace boost_no_concepts {
concept Foo<typename T> { }
int test()
{
return 0;
}
}

View File

@@ -14,6 +14,26 @@ namespace boost_no_constexpr {
constexpr int square(int x) { return x * x; } // from N2235 constexpr int square(int x) { return x * x; } // from N2235
// from 5.19:
constexpr const int* addr(const int& ir) { return &ir; }
static const int x = 5;
constexpr const int* xp = addr(x);
struct A
{
constexpr A(int i) : val(i) { }
constexpr operator int() { return val; }
constexpr operator long() { return 43; }
private:
int val;
};
template<int> struct X { };
constexpr A a = 42;
X<a> xx; // OK: unique conversion to int
int test() int test()
{ {
int i = square(5); int i = square(5);

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x defaulted functions unavailable // TITLE: C++0x defaulted functions unavailable
// DESCRIPTION: The compiler does not support C++0x defaulted functions // DESCRIPTION: The compiler does not support C++0x defaulted functions
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
# error Defaulted functions aren't really supported in non-C++0x mode
#endif
namespace boost_no_defaulted_functions { namespace boost_no_defaulted_functions {
struct foo { struct foo {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x =delete functions unavailable // TITLE: C++0x =delete functions unavailable
// DESCRIPTION: The compiler does not support C++0x =delete functions // DESCRIPTION: The compiler does not support C++0x =delete functions
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
# error Deleted functions aren't really supported in non-C++0x mode
#endif
namespace boost_no_deleted_functions { namespace boost_no_deleted_functions {
struct foo { struct foo {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x explicit conversion operators unavailable // TITLE: C++0x explicit conversion operators unavailable
// DESCRIPTION: The compiler does not support C++0x explicit conversion operators // DESCRIPTION: The compiler does not support C++0x explicit conversion operators
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
# error This feature isn't really available in non-C++0x mode
#endif
namespace boost_no_explicit_conversion_operators { namespace boost_no_explicit_conversion_operators {
struct foo { struct foo {

View File

@@ -8,21 +8,21 @@
// MACRO: BOOST_NO_FENV_H // MACRO: BOOST_NO_FENV_H
// TITLE: fenv.h // TITLE: fenv.h
// DESCRIPTION: There is no POSIX <fenv.h> available. If <fenv.h> is // DESCRIPTION: There is no standard <fenv.h> available. If <fenv.h> is
// available, <boost/detail/fenv.hpp> should be included // available, <boost/detail/fenv.hpp> should be included
// instead of directly including <fenv.h>. // instead of directly including <fenv.h>.
#include <boost/detail/fenv.hpp> #include <fenv.h>
namespace boost_no_fenv_h { namespace boost_no_fenv_h {
int test() int test()
{ {
/// POSIX required typedefs /// C++0x required typedefs
typedef ::fenv_t has_fenv_t; typedef ::fenv_t has_fenv_t;
typedef ::fexcept_t has_fexcept_t; typedef ::fexcept_t has_fexcept_t;
/// POSIX required macros /// C++0x required macros
#if !defined(FE_DIVBYZERO) #if !defined(FE_DIVBYZERO)
#error platform does not define FE_DIVBYZERO #error platform does not define FE_DIVBYZERO
#endif #endif
@@ -31,47 +31,27 @@ int test()
#error platform does not define FE_INEXACT #error platform does not define FE_INEXACT
#endif #endif
#if !defined(FE_INVALID) #if !defined(FE_ALL_EXCEPT)
#error platform does not define FE_INVALID #error platform does not define FE_ALL_EXCEPT
#endif #endif
#if !defined(FE_OVERFLOW) int i;
#error platform does not define FE_OVERFLOW fexcept_t fe;
#endif fenv_t env;
#if !defined(FE_UNDERFLOW) i = feclearexcept(FE_ALL_EXCEPT);
#error platform does not define FE_UNDERFLOW i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
#endif i += fegetexceptflag(&fe, FE_ALL_EXCEPT);
i += fesetexceptflag(&fe, FE_ALL_EXCEPT);
i += feraiseexcept(0);
i += fesetround(fegetround());
i += fegetenv(&env);
i += fesetenv(&env);
i += feholdexcept(&env);
if(i)
i += feupdateenv(&env);
#if !defined(FE_DOWNWARD) return i;
#error platform does not define FE_DOWNWARD
#endif
#if !defined(FE_TONEAREST)
#error platform does not define FE_TONEAREST
#endif
#if !defined(FE_UPWARD)
#error platform does not define FE_UPWARD
#endif
#if !defined(FE_DFL_ENV)
#error platform does not define FE_DFL_ENV
#endif
int (*has_feclearexcept)(int) = ::feclearexcept;
int (*has_fegetenv)(fenv_t*) = ::fegetenv;
int (*has_fegetexcept)(fexcept_t*, int) = ::fegetexcept;
int (*has_fegetround)(void) = ::fegetround;
int (*has_feholdexcept)(fenv_t*) = ::feholdexcept;
int (*has_feraiseexcept)(int) = ::feraiseexcept;
int (*has_fesetenv)(const fenv_t*) = ::fesetenv;
int (*has_fesetexceptflag)(const fexcept_t*, int) = ::fesetexceptflag;
int (*has_fesetround)(int) = ::fesetround;
int (*has_fetestexcept)(int) = ::fetestexcept;
int (*has_feupdateenv)(const fenv_t*) = ::feupdateenv;
return 0;
} }
} }

View File

@@ -12,6 +12,7 @@
#include <initializer_list> #include <initializer_list>
#include <vector> #include <vector>
#include <string>
namespace boost_no_initializer_lists { namespace boost_no_initializer_lists {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x lambda feature unavailable // TITLE: C++0x lambda feature unavailable
// DESCRIPTION: The compiler does not support the C++0x lambda feature // DESCRIPTION: The compiler does not support the C++0x lambda feature
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
# error This feature isn't really available in non-C++0x mode
#endif
namespace boost_no_lambdas { namespace boost_no_lambdas {
int test() int test()

View File

@@ -15,7 +15,14 @@ namespace boost_no_scoped_enums {
int test() int test()
{ {
enum class scoped_enum { yes, no, maybe }; enum class scoped_enum { yes, no, maybe };
return 0; // This tests bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
bool b = (scoped_enum::yes == scoped_enum::yes)
&& (scoped_enum::yes != scoped_enum::no)
&& (scoped_enum::yes < scoped_enum::no)
&& (scoped_enum::yes <= scoped_enum::no)
&& (scoped_enum::no > scoped_enum::yes)
&& (scoped_enum::no >= scoped_enum::yes);
return b ? 0 : 1;
} }
} }

View File

@@ -914,7 +914,6 @@ void print_boost_macros()
PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
PRINT_MACRO(BOOST_HAS_BETHREADS); PRINT_MACRO(BOOST_HAS_BETHREADS);
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
PRINT_MACRO(BOOST_HAS_CONCEPTS);
PRINT_MACRO(BOOST_HAS_DIRENT_H); PRINT_MACRO(BOOST_HAS_DIRENT_H);
PRINT_MACRO(BOOST_HAS_EXPM1); PRINT_MACRO(BOOST_HAS_EXPM1);
PRINT_MACRO(BOOST_HAS_FTIME); PRINT_MACRO(BOOST_HAS_FTIME);
@@ -966,14 +965,10 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_0X_HDR_ARRAY); PRINT_MACRO(BOOST_NO_0X_HDR_ARRAY);
PRINT_MACRO(BOOST_NO_0X_HDR_CHRONO); PRINT_MACRO(BOOST_NO_0X_HDR_CHRONO);
PRINT_MACRO(BOOST_NO_0X_HDR_CODECVT); PRINT_MACRO(BOOST_NO_0X_HDR_CODECVT);
PRINT_MACRO(BOOST_NO_0X_HDR_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_CONDITION_VARIABLE); PRINT_MACRO(BOOST_NO_0X_HDR_CONDITION_VARIABLE);
PRINT_MACRO(BOOST_NO_0X_HDR_CONTAINER_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_FORWARD_LIST); PRINT_MACRO(BOOST_NO_0X_HDR_FORWARD_LIST);
PRINT_MACRO(BOOST_NO_0X_HDR_FUTURE); PRINT_MACRO(BOOST_NO_0X_HDR_FUTURE);
PRINT_MACRO(BOOST_NO_0X_HDR_INITIALIZER_LIST); PRINT_MACRO(BOOST_NO_0X_HDR_INITIALIZER_LIST);
PRINT_MACRO(BOOST_NO_0X_HDR_ITERATOR_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_MEMORY_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_MUTEX); PRINT_MACRO(BOOST_NO_0X_HDR_MUTEX);
PRINT_MACRO(BOOST_NO_0X_HDR_RANDOM); PRINT_MACRO(BOOST_NO_0X_HDR_RANDOM);
PRINT_MACRO(BOOST_NO_0X_HDR_RATIO); PRINT_MACRO(BOOST_NO_0X_HDR_RATIO);
@@ -994,7 +989,6 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CHAR16_T); PRINT_MACRO(BOOST_NO_CHAR16_T);
PRINT_MACRO(BOOST_NO_CHAR32_T); PRINT_MACRO(BOOST_NO_CHAR32_T);
PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION); PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
PRINT_MACRO(BOOST_NO_CONCEPTS);
PRINT_MACRO(BOOST_NO_CONSTEXPR); PRINT_MACRO(BOOST_NO_CONSTEXPR);
PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
@@ -1011,6 +1005,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS); PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS);
PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE); PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE);
PRINT_MACRO(BOOST_NO_FENV_H);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS); PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
@@ -1078,6 +1073,8 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES); PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
PRINT_MACRO(BOOST_NO_VOID_RETURNS); PRINT_MACRO(BOOST_NO_VOID_RETURNS);
// END GENERATED BLOCK // END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL); PRINT_MACRO(BOOST_INTEL);

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Sat Sep 25 16:53:42 2010 // This file was automatically generated on Tue Mar 15 12:25:21 2011
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@@ -37,21 +37,11 @@ namespace boost_no_0x_hdr_chrono = empty_boost;
#else #else
namespace boost_no_0x_hdr_codecvt = empty_boost; namespace boost_no_0x_hdr_codecvt = empty_boost;
#endif #endif
#ifndef BOOST_NO_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
namespace boost_no_0x_hdr_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE #ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE
#include "boost_no_0x_hdr_condition_variable.ipp" #include "boost_no_0x_hdr_condition_variable.ipp"
#else #else
namespace boost_no_0x_hdr_condition_variable = empty_boost; namespace boost_no_0x_hdr_condition_variable = empty_boost;
#endif #endif
#ifndef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#else
namespace boost_no_0x_hdr_container_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_FORWARD_LIST #ifndef BOOST_NO_0X_HDR_FORWARD_LIST
#include "boost_no_0x_hdr_forward_list.ipp" #include "boost_no_0x_hdr_forward_list.ipp"
#else #else
@@ -67,16 +57,6 @@ namespace boost_no_0x_hdr_future = empty_boost;
#else #else
namespace boost_no_0x_hdr_initializer_list = empty_boost; namespace boost_no_0x_hdr_initializer_list = empty_boost;
#endif #endif
#ifndef BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
namespace boost_no_0x_hdr_iterator_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#else
namespace boost_no_0x_hdr_memory_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_MUTEX #ifndef BOOST_NO_0X_HDR_MUTEX
#include "boost_no_0x_hdr_mutex.ipp" #include "boost_no_0x_hdr_mutex.ipp"
#else #else
@@ -182,11 +162,6 @@ namespace boost_no_char32_t = empty_boost;
#else #else
namespace boost_no_complete_value_initialization = empty_boost; namespace boost_no_complete_value_initialization = empty_boost;
#endif #endif
#ifndef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#else
namespace boost_no_concepts = empty_boost;
#endif
#ifndef BOOST_NO_CONSTEXPR #ifndef BOOST_NO_CONSTEXPR
#include "boost_no_constexpr.ipp" #include "boost_no_constexpr.ipp"
#else #else
@@ -272,6 +247,11 @@ namespace boost_no_explicit_function_template_arguments = empty_boost;
#else #else
namespace boost_no_extern_template = empty_boost; namespace boost_no_extern_template = empty_boost;
#endif #endif
#ifndef BOOST_NO_FENV_H
#include "boost_no_fenv_h.ipp"
#else
namespace boost_no_fenv_h = empty_boost;
#endif
#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#include "boost_no_function_template_default_args.ipp" #include "boost_no_function_template_default_args.ipp"
#else #else
@@ -623,11 +603,6 @@ namespace boost_has_bethreads = empty_boost;
#else #else
namespace boost_has_clock_gettime = empty_boost; namespace boost_has_clock_gettime = empty_boost;
#endif #endif
#ifdef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#else
namespace boost_has_concepts = empty_boost;
#endif
#ifdef BOOST_HAS_DIRENT_H #ifdef BOOST_HAS_DIRENT_H
#include "boost_has_dirent_h.ipp" #include "boost_has_dirent_h.ipp"
#else #else
@@ -881,11 +856,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_has_concepts::test())
{
std::cerr << "Failed test for BOOST_HAS_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_has_dirent_h::test()) if(0 != boost_has_dirent_h::test())
{ {
std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1136,21 +1106,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_0X_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_0X_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_0x_hdr_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_condition_variable::test()) if(0 != boost_no_0x_hdr_condition_variable::test())
{ {
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_0X_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_0x_hdr_container_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONTAINER_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_forward_list::test()) if(0 != boost_no_0x_hdr_forward_list::test())
{ {
std::cerr << "Failed test for BOOST_NO_0X_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_0X_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1166,16 +1126,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_0X_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_0X_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_0x_hdr_iterator_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_ITERATOR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_memory_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_MEMORY_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_mutex::test()) if(0 != boost_no_0x_hdr_mutex::test())
{ {
std::cerr << "Failed test for BOOST_NO_0X_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_0X_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1281,11 +1231,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_constexpr::test()) if(0 != boost_no_constexpr::test())
{ {
std::cerr << "Failed test for BOOST_NO_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1371,6 +1316,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_fenv_h::test())
{
std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_function_template_default_args::test()) if(0 != boost_no_function_template_default_args::test())
{ {
std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;

9
test/config_test_c.c Normal file
View File

@@ -0,0 +1,9 @@
#include <boost/config.hpp>
int main()
{
return 0;
}

View File

@@ -1,34 +0,0 @@
// This file was automatically generated on Sat Aug 25 12:32:20 2007
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_HAS_CONCEPTS
// This file should not compile, if it does then
// BOOST_HAS_CONCEPTS should be defined.
// See file boost_has_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_has_concepts::test();
}

View File

@@ -1,34 +0,0 @@
// This file was automatically generated on Sat Aug 25 12:32:20 2007
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_HAS_CONCEPTS
// This file should compile, if it does not then
// BOOST_HAS_CONCEPTS should not be defined.
// See file boost_has_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#else
namespace boost_has_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_has_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_CONCEPTS should be defined.
// See file boost_no_0x_hdr_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
namespace boost_no_0x_hdr_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_container_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_container_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should be defined.
// See file boost_no_0x_hdr_container_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#else
namespace boost_no_0x_hdr_container_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_container_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_iterator_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_iterator_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should be defined.
// See file boost_no_0x_hdr_iterator_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
namespace boost_no_0x_hdr_iterator_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_iterator_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_memory_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_memory_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should be defined.
// See file boost_no_0x_hdr_memory_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#else
namespace boost_no_0x_hdr_memory_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_memory_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_CONCEPTS should not be defined.
// See file boost_no_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_CONCEPTS should be defined.
// See file boost_no_concepts.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#else
namespace boost_no_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_concepts::test();
}

View File

@@ -124,7 +124,7 @@ void write_test_file(const fs::path& file,
{ {
if(!fs::exists(file)) if(!fs::exists(file))
{ {
std::cout << "Writing test file " << file.native_directory_string() << std::endl; std::cout << "Writing test file " << file.string() << std::endl;
fs::ofstream ofs(file); fs::ofstream ofs(file);
std::time_t t = std::time(0); std::time_t t = std::time(0);
@@ -180,13 +180,13 @@ void write_test_file(const fs::path& file,
} }
else else
{ {
std::cout << "Skipping existing test file " << file.native_directory_string() << std::endl; std::cout << "Skipping existing test file " << file.string() << std::endl;
} }
} }
void process_ipp_file(const fs::path& file, bool positive_test) void process_ipp_file(const fs::path& file, bool positive_test)
{ {
std::cout << "Info: Scanning file: " << file.native_directory_string() << std::endl; std::cout << "Info: Scanning file: " << file.string() << std::endl;
// our variables: // our variables:
std::string file_text; std::string file_text;
@@ -210,7 +210,7 @@ void process_ipp_file(const fs::path& file, bool positive_test)
} }
if(macro_name.empty()) if(macro_name.empty())
{ {
std::cout << "Error: no macro definition found in " << file.native_directory_string(); std::cout << "Error: no macro definition found in " << file.string();
} }
else else
{ {
@@ -219,10 +219,10 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// get the output filesnames: // get the output filesnames:
boost::regex file_regex("boost_([^.]+)\\.ipp"); boost::regex file_regex("boost_([^.]+)\\.ipp");
positive_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_pass.cpp"); positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp");
negative_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_fail.cpp"); negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp");
write_test_file(positive_file, macro_name, namespace_name, file.leaf(), positive_test, true); write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true);
write_test_file(negative_file, macro_name, namespace_name, file.leaf(), positive_test, false); write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false);
// always create config_test data, // always create config_test data,
// positive and negative tests go to separate streams, because for some // positive and negative tests go to separate streams, because for some
@@ -232,7 +232,7 @@ void process_ipp_file(const fs::path& file, bool positive_test)
if(!positive_test) if(!positive_test)
*pout << "n"; *pout << "n";
*pout << "def " << macro_name *pout << "def " << macro_name
<< "\n#include \"" << file.leaf() << "\"\n#else\nnamespace " << "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace "
<< namespace_name << " = empty_boost;\n#endif\n"; << namespace_name << " = empty_boost;\n#endif\n";
config_test2 << " if(0 != " << namespace_name << "::test())\n" config_test2 << " if(0 != " << namespace_name << "::test())\n"
@@ -243,12 +243,12 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// always generate the jamfile data: // always generate the jamfile data:
jamfile << "test-suite \"" << macro_name << "\" : \n" jamfile << "test-suite \"" << macro_name << "\" : \n"
"[ run " << positive_file.leaf() << " <template>config_options ]\n" "[ run " << positive_file.leaf().string() << " <template>config_options ]\n"
"[ compile-fail " << negative_file.leaf() << " <template>config_options ] ;\n"; "[ compile-fail " << negative_file.leaf().string() << " <template>config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n" jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
"[ run ../" << positive_file.leaf() << " ]\n" "[ run ../" << positive_file.leaf().string() << " ]\n"
"[ compile-fail ../" << negative_file.leaf() << " ] ;\n"; "[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
} }
@@ -268,7 +268,7 @@ int cpp_main(int argc, char* argv[])
fs::path p(__FILE__, fs::native); fs::path p(__FILE__, fs::native);
config_path = p.branch_path().branch_path() / "test"; config_path = p.branch_path().branch_path() / "test";
} }
std::cout << "Info: Boost.Config test path set as: " << config_path.native_directory_string() << std::endl; std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
// enumerate *.ipp files: // enumerate *.ipp files:
boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp"); boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp");
@@ -276,7 +276,7 @@ int cpp_main(int argc, char* argv[])
fs::directory_iterator i(config_path), j; fs::directory_iterator i(config_path), j;
while(i != j) while(i != j)
{ {
if(boost::regex_match(i->path().leaf(), ipp_match, ipp_mask)) if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
{ {
process_ipp_file(*i, ipp_match[1].matched); process_ipp_file(*i, ipp_match[1].matched);
} }