summaryrefslogtreecommitdiffstats
path: root/libcxx/include
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2015-05-10 13:35:00 +0000
committerMarshall Clow <mclow.lists@gmail.com>2015-05-10 13:35:00 +0000
commitec39296875b0723de6eeee1d5669617256bf2e7d (patch)
tree137b1f70bf66768817dd0cf7e7c15cc69bec4467 /libcxx/include
parentcd26846fc54c18128f992b9ee7a9771410255f41 (diff)
downloadbcm5719-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/map6
-rw-r--r--libcxx/include/set2
-rw-r--r--libcxx/include/unordered_map6
-rw-r--r--libcxx/include/unordered_set2
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;
OpenPOWER on IntegriCloud