diff options
author | François Dumont <fdumont@gcc.gnu.org> | 2018-10-09 20:38:06 +0000 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2018-10-09 20:38:06 +0000 |
commit | 2f039722d079d4f6cc060e3b9da0e9ba39d65478 (patch) | |
tree | 70b18b580091a2b5d3b6d57fb247304e5b330f5e | |
parent | 6cb877be49d68f2d626681f033e9dc7af3628f96 (diff) | |
download | gcc-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/ChangeLog | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_list.h | 36 |
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> |