mirror of
https://github.com/boostorg/config.git
synced 2025-07-31 21:04:28 +02:00
Update libstdcpp3.hpp to use has_include to check for has_set/hash_map presence.
Correct doc typo. Update tests to use BOOST_HASH_SET_HEADER. Fixes https://github.com/boostorg/config/issues/349.
This commit is contained in:
@@ -1539,7 +1539,7 @@
|
|||||||
<p>
|
<p>
|
||||||
The C++ implementation provides the (SGI) hash_set and hash_map
|
The C++ implementation provides the (SGI) hash_set and hash_map
|
||||||
classes. When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
|
classes. When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
|
||||||
and <code class="computeroutput"><span class="identifier">BOOST_HASH_LIST_HEADER</span></code>
|
and <code class="computeroutput"><span class="identifier">BOOST_HASH_MAP_HEADER</span></code>
|
||||||
will contain the names of the header needed to access hash_set
|
will contain the names of the header needed to access hash_set
|
||||||
and hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
|
and hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
|
||||||
will provide the namespace in which the two class templates reside.
|
will provide the namespace in which the two class templates reside.
|
||||||
|
@@ -990,7 +990,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: July 27, 2020 at 17:18:39 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: December 18, 2020 at 10:47:00 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>
|
||||||
|
@@ -367,7 +367,7 @@ The platform has the POSIX API `gettimeofday`.
|
|||||||
]]
|
]]
|
||||||
[[`BOOST_HAS_HASH`][Standard library][
|
[[`BOOST_HAS_HASH`][Standard library][
|
||||||
The C++ implementation provides the (SGI) hash_set and hash_map classes.
|
The C++ implementation provides the (SGI) hash_set and hash_map classes.
|
||||||
When defined, `BOOST_HASH_SET_HEADER` and `BOOST_HASH_LIST_HEADER` will contain
|
When defined, `BOOST_HASH_SET_HEADER` and `BOOST_HASH_MAP_HEADER` will contain
|
||||||
the names of the header needed to access hash_set and hash_map;
|
the names of the header needed to access hash_set and hash_map;
|
||||||
`BOOST_STD_EXTENSION_NAMESPACE` will provide the namespace in which the two
|
`BOOST_STD_EXTENSION_NAMESPACE` will provide the namespace in which the two
|
||||||
class templates reside.
|
class templates reside.
|
||||||
|
@@ -94,6 +94,20 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__has_include)
|
||||||
|
#if defined(BOOST_HAS_HASH)
|
||||||
|
#if !__has_include(BOOST_HASH_SET_HEADER)
|
||||||
|
#undef BOOST_HAS_HAS
|
||||||
|
#undef BOOST_HAS_SET_HEADER
|
||||||
|
#undef BOOST_HAS_MAP_HEADER
|
||||||
|
#endif
|
||||||
|
#if !__has_include(BOOST_SLIST_HEADER)
|
||||||
|
#undef BOOST_HAS_SLIST
|
||||||
|
#undef BOOST_HAS_SLIST_HEADER
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Decide whether we have C++11 support turned on:
|
// Decide whether we have C++11 support turned on:
|
||||||
//
|
//
|
||||||
|
@@ -10,23 +10,8 @@
|
|||||||
// DESCRIPTION: The C++ implementation provides the (SGI) hash_set
|
// DESCRIPTION: The C++ implementation provides the (SGI) hash_set
|
||||||
// or hash_map classes.
|
// or hash_map classes.
|
||||||
|
|
||||||
#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
|
#include BOOST_HASH_SET_HEADER
|
||||||
# ifdef BOOST_NO_CXX11_STD_UNORDERED
|
#include BOOST_HASH_MAP_HEADER
|
||||||
# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
|
|
||||||
# define _BACKWARD_BACKWARD_WARNING_H 1 /* turn off warnings from the headers below */
|
|
||||||
# include <ext/hash_set>
|
|
||||||
# include <ext/hash_map>
|
|
||||||
# else
|
|
||||||
// If we have BOOST_NO_CXX11_STD_UNORDERED *not* defined, then we must
|
|
||||||
// not include the <ext/*> headers as they clash with the C++0x
|
|
||||||
// headers. ie in any given translation unit we can include one
|
|
||||||
// or the other, but not both.
|
|
||||||
# define DISABLE_BOOST_HAS_HASH_TEST
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
#include <hash_set>
|
|
||||||
#include <hash_map>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef BOOST_STD_EXTENSION_NAMESPACE
|
#ifndef BOOST_STD_EXTENSION_NAMESPACE
|
||||||
#define BOOST_STD_EXTENSION_NAMESPACE std
|
#define BOOST_STD_EXTENSION_NAMESPACE std
|
||||||
|
Reference in New Issue
Block a user