aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Dumont <fdumont@gcc.gnu.org>2018-10-09 20:38:06 +0000
committerFrançois Dumont <fdumont@gcc.gnu.org>2018-10-09 20:38:06 +0000
commit2f039722d079d4f6cc060e3b9da0e9ba39d65478 (patch)
tree70b18b580091a2b5d3b6d57fb247304e5b330f5e
parent6cb877be49d68f2d626681f033e9dc7af3628f96 (diff)
downloadgcc-2f039722d079d4f6cc060e3b9da0e9ba39d65478.zip
gcc-2f039722d079d4f6cc060e3b9da0e9ba39d65478.tar.gz
gcc-2f039722d079d4f6cc060e3b9da0e9ba39d65478.tar.bz2
2018-10-09 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_list.h (_List_operator<>::operator==): Replace member function with inline friend. (_List_operator<>::operator!=): Likewise. (_List_const_operator<>::operator==): Likewise. (_List_const_operator<>::operator!=): Likewise. (operator==(const _List_iterator<>&, const _List_const_iterator<>&)): Remove. (operator!=(const _List_iterator<>&, const _List_const_iterator<>&)): Remove. From-SVN: r264993
-rw-r--r--libstdc++-v3/ChangeLog13
-rw-r--r--libstdc++-v3/include/bits/stl_list.h36
2 files changed, 25 insertions, 24 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 114a2ff..5b0880f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,16 @@
+2018-10-09 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_list.h
+ (_List_operator<>::operator==): Replace member function with inline
+ friend.
+ (_List_operator<>::operator!=): Likewise.
+ (_List_const_operator<>::operator==): Likewise.
+ (_List_const_operator<>::operator!=): Likewise.
+ (operator==(const _List_iterator<>&, const _List_const_iterator<>&)):
+ Remove.
+ (operator!=(const _List_iterator<>&, const _List_const_iterator<>&)):
+ Remove.
+
2018-10-09 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stringfwd.h (string, wstring, u16string, u32string):
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index 4774914..3544981 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -243,13 +243,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return __tmp;
}
- bool
- operator==(const _Self& __x) const _GLIBCXX_NOEXCEPT
- { return _M_node == __x._M_node; }
+ friend bool
+ operator==(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
+ { return __x._M_node == __y._M_node; }
- bool
- operator!=(const _Self& __x) const _GLIBCXX_NOEXCEPT
- { return _M_node != __x._M_node; }
+ friend bool
+ operator!=(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
+ { return __x._M_node != __y._M_node; }
// The only member points to the %list element.
__detail::_List_node_base* _M_node;
@@ -327,30 +327,18 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return __tmp;
}
- bool
- operator==(const _Self& __x) const _GLIBCXX_NOEXCEPT
- { return _M_node == __x._M_node; }
+ friend bool
+ operator==(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
+ { return __x._M_node == __y._M_node; }
- bool
- operator!=(const _Self& __x) const _GLIBCXX_NOEXCEPT
- { return _M_node != __x._M_node; }
+ friend bool
+ operator!=(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
+ { return __x._M_node != __y._M_node; }
// The only member points to the %list element.
const __detail::_List_node_base* _M_node;
};
- template<typename _Val>
- inline bool
- operator==(const _List_iterator<_Val>& __x,
- const _List_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT
- { return __x._M_node == __y._M_node; }
-
- template<typename _Val>
- inline bool
- operator!=(const _List_iterator<_Val>& __x,
- const _List_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT
- { return __x._M_node != __y._M_node; }
-
_GLIBCXX_BEGIN_NAMESPACE_CXX11
/// See bits/stl_deque.h's _Deque_base for an explanation.
template<typename _Tp, typename _Alloc>