Merge branch 'boost_no_cxx11_sfinae_expr' of https://github.com/glenfe/config into pr114

# Fixed Conflicts:
#	checks/Jamfile.v2
#	checks/test_case.cpp
#	test/all/Jamfile.v2
#	test/config_test.cpp

Also added some more documentation to tie together the various SFINAE macros.  Regenerated the docs.
This commit is contained in:
jzmaddock committed 2017-02-05 19:38:35 +00:00
commit 79ac4bdbeb
27 files changed
+197 -10

No files matched your search

@@ -517,7 +517,7 @@
is covered by <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337" target="_top">Core
Language DR337</a>, but is not part of the current standard.
Fortunately most compilers that support SFINAE also support this
DR.
DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
</p>
</td>
</tr>
@@ -864,7 +864,8 @@
<td>
<p>
The compiler does not support the "Substitution Failure Is
Not An Error" meta-programming idiom.
Not An Error" meta-programming idiom. This is the lightweight
pre-C++11 version of SFINAE.
</p>
</td>
</tr>
@@ -882,6 +883,8 @@
<td>
<p>
The compiler does not support usage of SFINAE with arbitrary expressions.
This is the post-C++11 SFINAE, but excludes a few specific corner
cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
</p>
</td>
</tr>
@@ -3073,6 +3076,22 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support usage of C++11 SFINAE with arbitrary
expressions. Use this macro only if you are using all of the features
of SFINAE including substitution-failure-on-private-member-access.
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get
defined for fewer compilers.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
+1 -1
View File
@@ -990,7 +990,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: February 05, 2017 at 19:01:00 GMT</small></p></td>
<td align="left"><p><small>Last revised: February 05, 2017 at 19:27:06 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
+9 -3
View File
@@ -138,7 +138,7 @@ The standard library lacks `<iostream>`, `<istream>` or `<ostream>`.
[[`BOOST_NO_IS_ABSTRACT`][Compiler][
The C++ compiler does not support SFINAE with abstract types, this is covered
by __CORE_LANGUAGE_DR337__, but is not part of the current standard. Fortunately
most compilers that support SFINAE also support this DR.
most compilers that support SFINAE also support this DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
]]
[[`BOOST_NO_LIMITS`][Standard library][
The C++ implementation does not provide the `<limits>` header. Never check for
@@ -218,10 +218,11 @@ of an object is not supported.
]]
[[`BOOST_NO_SFINAE`][Compiler][
The compiler does not support the "Substitution Failure Is Not An Error"
meta-programming idiom.
meta-programming idiom. This is the lightweight pre-C++11 version of SFINAE.
]]
[[`BOOST_NO_SFINAE_EXPR`][Compiler][
The compiler does not support usage of SFINAE with arbitrary expressions.
The compiler does not support usage of SFINAE with arbitrary expressions. This is the
post-C++11 SFINAE, but excludes a few specific corner cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
]]
[[`BOOST_NO_STD_ALLOCATOR`][Standard library][
The C++ standard library does not provide a standards conforming
@@ -695,6 +696,11 @@ r-value references.
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
scoped enumerations (`enum class`).
]]
[[`BOOST_NO_CXX11_SFINAE_EXPR`][The compiler does not support
usage of C++11 SFINAE with arbitrary expressions. Use this macro only if you
are using all of the features of SFINAE including substitution-failure-on-private-member-access.
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get defined for fewer compilers.
]]
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
[[`BOOST_NO_CXX11_STATIC_ASSERT`][The compiler does not support
`static_assert`.