diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2015-05-10 13:35:00 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2015-05-10 13:35:00 +0000 |
commit | ec39296875b0723de6eeee1d5669617256bf2e7d (patch) | |
tree | 137b1f70bf66768817dd0cf7e7c15cc69bec4467 /libcxx/include | |
parent | cd26846fc54c18128f992b9ee7a9771410255f41 (diff) | |
download | bcm5719-llvm-ec39296875b0723de6eeee1d5669617256bf2e7d.tar.gz bcm5719-llvm-ec39296875b0723de6eeee1d5669617256bf2e7d.zip |
Fix for LWG Issue 2059: C++0x ambiguity problem with map::erase
llvm-svn: 236950
Diffstat (limited to 'libcxx/include')
-rw-r--r-- | libcxx/include/map | 6 | ||||
-rw-r--r-- | libcxx/include/set | 2 | ||||
-rw-r--r-- | libcxx/include/unordered_map | 6 | ||||
-rw-r--r-- | libcxx/include/unordered_set | 2 |
4 files changed, 16 insertions, 0 deletions
diff --git a/libcxx/include/map b/libcxx/include/map index c8e8fd1f1df..4c79662e1ba 100644 --- a/libcxx/include/map +++ b/libcxx/include/map @@ -136,6 +136,7 @@ public: void insert(initializer_list<value_type> il); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -330,6 +331,7 @@ public: void insert(initializer_list<value_type> il); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -1079,6 +1081,8 @@ public: _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);} _LIBCPP_INLINE_VISIBILITY + iterator erase(iterator __p) {return __tree_.erase(__p.__i_);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __tree_.__erase_unique(__k);} _LIBCPP_INLINE_VISIBILITY @@ -1811,6 +1815,8 @@ public: _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);} _LIBCPP_INLINE_VISIBILITY + iterator erase(iterator __p) {return __tree_.erase(__p.__i_);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __tree_.__erase_multi(__k);} _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __f, const_iterator __l) diff --git a/libcxx/include/set b/libcxx/include/set index 22d794da547..9d64a521da1 100644 --- a/libcxx/include/set +++ b/libcxx/include/set @@ -116,6 +116,7 @@ public: void insert(initializer_list<value_type> il); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -297,6 +298,7 @@ public: void insert(initializer_list<value_type> il); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map index 51635def159..6cd82f5c9f5 100644 --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -123,6 +123,7 @@ public: void insert(initializer_list<value_type>); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -287,6 +288,7 @@ public: void insert(initializer_list<value_type>); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -944,6 +946,8 @@ public: _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);} _LIBCPP_INLINE_VISIBILITY + iterator erase(iterator __p) {return __table_.erase(__p.__i_);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);} _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __first, const_iterator __last) @@ -1644,6 +1648,8 @@ public: _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);} _LIBCPP_INLINE_VISIBILITY + iterator erase(iterator __p) {return __table_.erase(__p.__i_);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);} _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __first, const_iterator __last) diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set index d06629fdcd4..26ef6fd6af1 100644 --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -114,6 +114,7 @@ public: void insert(initializer_list<value_type>); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; @@ -263,6 +264,7 @@ public: void insert(initializer_list<value_type>); iterator erase(const_iterator position); + iterator erase(iterator position); // C++14 size_type erase(const key_type& k); iterator erase(const_iterator first, const_iterator last); void clear() noexcept; |