aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Edwards <pme@gcc.gnu.org>2001-06-04 17:50:18 +0000
committerPhil Edwards <pme@gcc.gnu.org>2001-06-04 17:50:18 +0000
commit5c626f5260d6e2f48bdbd5461b74d11fdd02afe0 (patch)
treeb3c5662662e3592113b56894d8eb0722dfc09dbb
parent84b9f762bba065535f93a034820ab348e63eee49 (diff)
downloadgcc-5c626f5260d6e2f48bdbd5461b74d11fdd02afe0.zip
gcc-5c626f5260d6e2f48bdbd5461b74d11fdd02afe0.tar.gz
gcc-5c626f5260d6e2f48bdbd5461b74d11fdd02afe0.tar.bz2
re PR libstdc++/3034 (DR 214)
2001-06-04 Phil Edwards <pme@sources.redhat.com> PR libstdc++/3034 * include/bits/stl_multiset.h (find, lower_bound, upper_bound, equal_range): Add const overloads as per LWG DR 214. * include/bits/stl_set.h: Likewise. From-SVN: r42862
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/stl_multiset.h27
-rw-r--r--libstdc++-v3/include/bits/stl_set.h27
3 files changed, 60 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 361884c..8203b2e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,6 +1,14 @@
+2001-06-04 Phil Edwards <pme@sources.redhat.com>
+
+ PR libstdc++/3034
+ * include/bits/stl_multiset.h (find, lower_bound, upper_bound,
+ equal_range): Add const overloads as per LWG DR 214.
+ * include/bits/stl_set.h: Likewise.
+
2001-06-04 Brendan Kehoe <brendan@zen.org>
Phil Edwards <pme@sources.redhat.com>
+ PR libstdc++/3018
* include/bits/std_bitset.h (bitset::test): Fix __pos >= _Nb
comparison; all positions must be < _Nb.
* testsuite/23_containers/bitset_members.cc: New file.
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index bb4e5a9..2d16985 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -151,8 +151,32 @@ public:
// multiset operations:
- iterator find(const key_type& __x) const { return _M_t.find(__x); }
size_type count(const key_type& __x) const { return _M_t.count(__x); }
+
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+//214. set::find() missing const overload
+ iterator find(const key_type& __x) { return _M_t.find(__x); }
+ const_iterator find(const key_type& __x) const { return _M_t.find(__x); }
+ iterator lower_bound(const key_type& __x) {
+ return _M_t.lower_bound(__x);
+ }
+ const_iterator lower_bound(const key_type& __x) const {
+ return _M_t.lower_bound(__x);
+ }
+ iterator upper_bound(const key_type& __x) {
+ return _M_t.upper_bound(__x);
+ }
+ const_iterator upper_bound(const key_type& __x) const {
+ return _M_t.upper_bound(__x);
+ }
+ pair<iterator,iterator> equal_range(const key_type& __x) {
+ return _M_t.equal_range(__x);
+ }
+ pair<const_iterator,const_iterator> equal_range(const key_type& __x) const {
+ return _M_t.equal_range(__x);
+ }
+#else
+ iterator find(const key_type& __x) const { return _M_t.find(__x); }
iterator lower_bound(const key_type& __x) const {
return _M_t.lower_bound(__x);
}
@@ -162,6 +186,7 @@ public:
pair<iterator,iterator> equal_range(const key_type& __x) const {
return _M_t.equal_range(__x);
}
+#endif
template <class _K1, class _C1, class _A1>
friend bool operator== (const multiset<_K1,_C1,_A1>&,
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index 3cfffb4..13dca9f 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -148,10 +148,34 @@ public:
// set operations:
- iterator find(const key_type& __x) const { return _M_t.find(__x); }
size_type count(const key_type& __x) const {
return _M_t.find(__x) == _M_t.end() ? 0 : 1;
}
+
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+//214. set::find() missing const overload
+ iterator find(const key_type& __x) { return _M_t.find(__x); }
+ const_iterator find(const key_type& __x) const { return _M_t.find(__x); }
+ iterator lower_bound(const key_type& __x) {
+ return _M_t.lower_bound(__x);
+ }
+ const_iterator lower_bound(const key_type& __x) const {
+ return _M_t.lower_bound(__x);
+ }
+ iterator upper_bound(const key_type& __x) {
+ return _M_t.upper_bound(__x);
+ }
+ const_iterator upper_bound(const key_type& __x) const {
+ return _M_t.upper_bound(__x);
+ }
+ pair<iterator,iterator> equal_range(const key_type& __x) {
+ return _M_t.equal_range(__x);
+ }
+ pair<const_iterator,const_iterator> equal_range(const key_type& __x) const {
+ return _M_t.equal_range(__x);
+ }
+#else
+ iterator find(const key_type& __x) const { return _M_t.find(__x); }
iterator lower_bound(const key_type& __x) const {
return _M_t.lower_bound(__x);
}
@@ -161,6 +185,7 @@ public:
pair<iterator,iterator> equal_range(const key_type& __x) const {
return _M_t.equal_range(__x);
}
+#endif
template <class _K1, class _C1, class _A1>
friend bool operator== (const set<_K1,_C1,_A1>&, const set<_K1,_C1,_A1>&);