On 01/05/15 16:37 +0300, Ville Voutilainen wrote:
Tested on Linux-x64.
Implement observer_ptr.
Thanks! Committed with some minor formatting changes.
I've also committed this to add feature-test macros and update the
docs. Tested powerpc64le-linux, committed to trunk.
commit 2606fe20721608c2d6f6c95f1748e53640796745
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Fri May 1 21:51:48 2015 +0100
* include/experimental/memory: Add feature-test macro.
* include/experimental/vector: Likewise.
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/manual/status.html: Regenerate.
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
index b08e1b1..80dd050 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
@@ -233,14 +233,13 @@ not in any particular release.
</row>
<row>
- <?dbhtml bgcolor="#C8B0B0" ?>
<entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf">
N4282
</link>
</entry>
<entry>The World's Dumbest Smart Pointer</entry>
- <entry>N</entry>
+ <entry>Y</entry>
<entry>Library Fundamentals 2 TS</entry>
</row>
diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory
index d3c9509..f43621f 100644
--- a/libstdc++-v3/include/experimental/memory
+++ b/libstdc++-v3/include/experimental/memory
@@ -52,6 +52,8 @@ inline namespace fundamentals_v2
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+#define __cpp_lib_experimental_not_fn 201411
+
template <typename _Tp>
class observer_ptr
{
diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector
index 245e034..37645a1 100644
--- a/libstdc++-v3/include/experimental/vector
+++ b/libstdc++-v3/include/experimental/vector
@@ -46,6 +46,8 @@ inline namespace fundamentals_v2
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+#define __cpp_lib_experimental_erase_if 201411
+
template<typename _Tp, typename _Alloc, typename _Predicate>
inline void
erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred)