summaryrefslogtreecommitdiffstats
path: root/libcxx/include/functional
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2016-10-13 21:06:03 +0000
committerMarshall Clow <mclow.lists@gmail.com>2016-10-13 21:06:03 +0000
commit6ecac730193dd55ab76b2ea1b42471749e942d0d (patch)
tree2d5fef44145689dcd9fb7738ceebca1754aa74a8 /libcxx/include/functional
parentf80c1875a3b18ed668542daa5375c459f7bf9a03 (diff)
downloadbcm5719-llvm-6ecac730193dd55ab76b2ea1b42471749e942d0d.tar.gz
bcm5719-llvm-6ecac730193dd55ab76b2ea1b42471749e942d0d.zip
Implement http://wg21.link/p0302r1: Removing Allocator Support in std::function. These functions never worked, and as far as I know, no one ever called them.
llvm-svn: 284164
Diffstat (limited to 'libcxx/include/functional')
-rw-r--r--libcxx/include/functional18
1 files changed, 13 insertions, 5 deletions
diff --git a/libcxx/include/functional b/libcxx/include/functional
index 1461270d4b3..4adb8c92aa3 100644
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -393,15 +393,15 @@ public:
template<class F>
function(F);
template<Allocator Alloc>
- function(allocator_arg_t, const Alloc&) noexcept;
+ function(allocator_arg_t, const Alloc&) noexcept; // removed in C++17
template<Allocator Alloc>
- function(allocator_arg_t, const Alloc&, nullptr_t) noexcept;
+ function(allocator_arg_t, const Alloc&, nullptr_t) noexcept; // removed in C++17
template<Allocator Alloc>
- function(allocator_arg_t, const Alloc&, const function&);
+ function(allocator_arg_t, const Alloc&, const function&); // removed in C++17
template<Allocator Alloc>
- function(allocator_arg_t, const Alloc&, function&&);
+ function(allocator_arg_t, const Alloc&, function&&); // removed in C++17
template<class F, Allocator Alloc>
- function(allocator_arg_t, const Alloc&, F);
+ function(allocator_arg_t, const Alloc&, F); // removed in C++17
function& operator=(const function&);
function& operator=(function&&) noexcept;
@@ -1617,6 +1617,7 @@ public:
>::type>
function(_Fp);
+#if _LIBCPP_STD_VER <= 14
template<class _Alloc>
_LIBCPP_INLINE_VISIBILITY
function(allocator_arg_t, const _Alloc&) _NOEXCEPT : __f_(0) {}
@@ -1629,6 +1630,7 @@ public:
function(allocator_arg_t, const _Alloc&, function&&);
template<class _Fp, class _Alloc, class = typename enable_if<__callable<_Fp>::value>::type>
function(allocator_arg_t, const _Alloc& __a, _Fp __f);
+#endif
function& operator=(const function&);
function& operator=(function&&) _NOEXCEPT;
@@ -1689,6 +1691,7 @@ function<_Rp(_ArgTypes...)>::function(const function& __f)
__f_ = __f.__f_->__clone();
}
+#if _LIBCPP_STD_VER <= 14
template<class _Rp, class ..._ArgTypes>
template <class _Alloc>
function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
@@ -1704,6 +1707,7 @@ function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
else
__f_ = __f.__f_->__clone();
}
+#endif
template<class _Rp, class ..._ArgTypes>
function<_Rp(_ArgTypes...)>::function(function&& __f) _NOEXCEPT
@@ -1722,6 +1726,7 @@ function<_Rp(_ArgTypes...)>::function(function&& __f) _NOEXCEPT
}
}
+#if _LIBCPP_STD_VER <= 14
template<class _Rp, class ..._ArgTypes>
template <class _Alloc>
function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
@@ -1740,6 +1745,7 @@ function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
__f.__f_ = 0;
}
}
+#endif
template<class _Rp, class ..._ArgTypes>
template <class _Fp, class>
@@ -1765,6 +1771,7 @@ function<_Rp(_ArgTypes...)>::function(_Fp __f)
}
}
+#if _LIBCPP_STD_VER <= 14
template<class _Rp, class ..._ArgTypes>
template <class _Fp, class _Alloc, class>
function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f)
@@ -1790,6 +1797,7 @@ function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc& __a0, _Fp _
}
}
}
+#endif
template<class _Rp, class ..._ArgTypes>
function<_Rp(_ArgTypes...)>&
OpenPOWER on IntegriCloud