diff --git a/include/map b/include/map index d675bc56..cf9cbcf1 100644 --- a/include/map +++ b/include/map @@ -869,7 +869,7 @@ public: emplace() {return __tree_.__emplace_unique();} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY pair emplace(_A0&& __a0) @@ -878,7 +878,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> pair emplace(_A0&& __a0, _Args&& ...__args); @@ -890,7 +890,7 @@ public: {return __tree_.__emplace_hint_unique(__p.__i_);} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator __p, _A0&& __a0) @@ -899,20 +899,20 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> iterator emplace_hint(const_iterator __p, _A0&& __a0, _Args&& ...__args); #endif // _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY pair insert(_P&& __p) {return __tree_.__insert_unique(_STD::forward<_P>(__p));} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __pos, _P&& __p) {return __tree_.__insert_unique(__pos.__i_, _STD::forward<_P>(__p));} @@ -995,11 +995,11 @@ private: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES __node_holder __construct_node(); template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0); #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0, _Args&& ...__args); #endif // _LIBCPP_HAS_NO_VARIADICS #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -1309,7 +1309,7 @@ map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k) const template template ::value>::type + class //= typename enable_if::value>::type > pair::iterator, bool> map<_Key, _Tp, _Compare, _Allocator>::emplace(_A0&& __a0, _Args&& ...__args) @@ -1324,7 +1324,7 @@ map<_Key, _Tp, _Compare, _Allocator>::emplace(_A0&& __a0, _Args&& ...__args) template template ::value>::type + class //= typename enable_if::value>::type > typename map<_Key, _Tp, _Compare, _Allocator>::iterator map<_Key, _Tp, _Compare, _Allocator>::emplace_hint(const_iterator __p, @@ -1601,7 +1601,7 @@ public: iterator emplace() {return __tree_.__emplace_multi();} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace(_A0&& __a0) @@ -1610,7 +1610,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> iterator emplace(_A0&& __a0, _Args&& ...__args); @@ -1621,7 +1621,7 @@ public: {return __tree_.__emplace_hint_multi(__p.__i_);} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator __p, _A0&& __a0) @@ -1630,20 +1630,20 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> iterator emplace_hint(const_iterator __p, _A0&& __a0, _Args&& ...__args); #endif // _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(_P&& __p) {return __tree_.__insert_multi(_STD::forward<_P>(__p));} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __pos, _P&& __p) {return __tree_.__insert_multi(__pos.__i_, _STD::forward<_P>(__p));} @@ -1721,11 +1721,11 @@ private: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES __node_holder __construct_node(); template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0); #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0, _Args&& ...__args); #endif // _LIBCPP_HAS_NO_VARIADICS #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -1761,7 +1761,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node() template template ::value>::type + class // = typename enable_if::value>::type > typename multimap<_Key, _Tp, _Compare, _Allocator>::__node_holder multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0) @@ -1778,7 +1778,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0) template template ::value>::type + class // = typename enable_if::value>::type > typename multimap<_Key, _Tp, _Compare, _Allocator>::__node_holder multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0, _Args&& ...__args) @@ -1799,7 +1799,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0, _Args&& template template ::value>::type + class //= typename enable_if::value>::type > typename multimap<_Key, _Tp, _Compare, _Allocator>::iterator multimap<_Key, _Tp, _Compare, _Allocator>::emplace(_A0&& __a0, _Args&& ...__args) @@ -1813,7 +1813,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::emplace(_A0&& __a0, _Args&& ...__args template template ::value>::type + class //= typename enable_if::value>::type > typename multimap<_Key, _Tp, _Compare, _Allocator>::iterator multimap<_Key, _Tp, _Compare, _Allocator>::emplace_hint(const_iterator __p, diff --git a/include/type_traits b/include/type_traits index 46857cc5..672ec15f 100644 --- a/include/type_traits +++ b/include/type_traits @@ -2939,7 +2939,7 @@ struct __check_complete<_R _Class::*> template auto __invoke(__any, _Args&& ...__args) - -> __nat = delete; + -> __nat; // bullets 1 and 2 diff --git a/include/unordered_map b/include/unordered_map index 2a22a56d..a75ff184 100644 --- a/include/unordered_map +++ b/include/unordered_map @@ -728,7 +728,7 @@ public: {return __table_.__emplace_unique();} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY pair emplace(_A0&& __a0) {return __table_.__emplace_unique(_STD::forward<_A0>(__a0));} @@ -736,7 +736,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> pair emplace(_A0&& __a0, _Args&&... __args); #endif // _LIBCPP_HAS_NO_VARIADICS @@ -746,7 +746,7 @@ public: {return __table_.__emplace_unique().first;} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator, _A0&& __a0) {return __table_.__emplace_unique(_STD::forward<_A0>(__a0)).first;} @@ -754,7 +754,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator, _A0&& __a0, _Args&&... __args) {return emplace(_STD::forward<_A0>(__a0), @@ -766,7 +766,7 @@ public: {return __table_.__insert_unique(__x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY pair insert(_P&& __x) {return __table_.__insert_unique(_STD::forward<_P>(__x));} @@ -776,7 +776,7 @@ public: {return insert(__x).first;} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator, _P&& __x) {return insert(_STD::forward<_P>(__x)).first;} @@ -869,11 +869,11 @@ private: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0, _Args&&... __args); #endif // _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0); #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES __node_holder __construct_node(const key_type& __k); @@ -1037,7 +1037,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=( template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0, @@ -1058,7 +1058,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0, template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0) @@ -1076,7 +1076,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0) template template ::value>::type + class // = typename enable_if::value>::type > pair::iterator, bool> unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_A0&& __a0, _Args&&... __args) @@ -1332,7 +1332,7 @@ public: {return __table_.__emplace_multi();} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace(_A0&& __a0) {return __table_.__emplace_multi(_STD::forward<_A0>(__a0));} @@ -1340,7 +1340,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> iterator emplace(_A0&& __a0, _Args&&... __args); #endif // _LIBCPP_HAS_NO_VARIADICS @@ -1350,7 +1350,7 @@ public: {return __table_.__emplace_hint_multi(__p.__i_);} template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator __p, _A0&& __a0) {return __table_.__emplace_hint_multi(__p.__i_, _STD::forward<_A0>(__a0));} @@ -1358,7 +1358,7 @@ public: #ifndef _LIBCPP_HAS_NO_VARIADICS template ::value>::type> + class = typename enable_if::value>::type> iterator emplace_hint(const_iterator __p, _A0&& __a0, _Args&&... __args); #endif // _LIBCPP_HAS_NO_VARIADICS #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -1366,7 +1366,7 @@ public: iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(_P&& __x) {return __table_.__insert_multi(_STD::forward<_P>(__x));} @@ -1376,7 +1376,7 @@ public: {return __table_.__insert_multi(__p.__i_, __x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template ::value>::type> + class = typename enable_if::value>::type> _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __p, _P&& __x) {return __table_.__insert_multi(__p.__i_, _STD::forward<_P>(__x));} @@ -1461,10 +1461,10 @@ public: private: #if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0, _Args&&... __args); template ::value>::type> + class = typename enable_if::value>::type> __node_holder __construct_node(_A0&& __a0); #endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) }; @@ -1628,7 +1628,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=( template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node( @@ -1649,7 +1649,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node( template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0) @@ -1667,7 +1667,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0 template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_A0&& __a0, _Args&&... __args) @@ -1681,7 +1681,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_A0&& __a0, _Args&& template template ::value>::type + class // = typename enable_if::value>::type > typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace_hint(