Pushed

On Fri, 15 Nov 2024 at 15:28, Jonathan Wakely <jwak...@redhat.com> wrote:
>
> We can just use the injected-class-name instead of defining a new name.
> That seems simpler.
>
> libstdc++-v3/ChangeLog:
>
>         * include/bits/stl_list.h (_List_iterator): Remove _Self typedef
>         and just use injected-class-name instead.
>         (_List_const_iterator): Likewise.
> ---
>
> Tested x86_64-linux.
>
> Pull request at https://forge.sourceware.org/gcc/gcc-TEST/pulls/25
>
>  libstdc++-v3/include/bits/stl_list.h | 40 +++++++++++++++-------------
>  1 file changed, 21 insertions(+), 19 deletions(-)
>
> diff --git a/libstdc++-v3/include/bits/stl_list.h 
> b/libstdc++-v3/include/bits/stl_list.h
> index d51fde90e2b..b1ab335ba4c 100644
> --- a/libstdc++-v3/include/bits/stl_list.h
> +++ b/libstdc++-v3/include/bits/stl_list.h
> @@ -254,7 +254,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
>    template<typename _Tp>
>      struct _List_iterator
>      {
> -      typedef _List_iterator<_Tp>              _Self;
>        typedef _List_node<_Tp>                  _Node;
>
>        typedef ptrdiff_t                                difference_type;
> @@ -270,7 +269,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
>        _List_iterator(__detail::_List_node_base* __x) _GLIBCXX_NOEXCEPT
>        : _M_node(__x) { }
>
> -      _Self
> +      _List_iterator
>        _M_const_cast() const _GLIBCXX_NOEXCEPT
>        { return *this; }
>
> @@ -285,45 +284,47 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
>        operator->() const _GLIBCXX_NOEXCEPT
>        { return static_cast<_Node*>(_M_node)->_M_valptr(); }
>
> -      _Self&
> +      _List_iterator&
>        operator++() _GLIBCXX_NOEXCEPT
>        {
>         _M_node = _M_node->_M_next;
>         return *this;
>        }
>
> -      _Self
> +      _List_iterator
>        operator++(int) _GLIBCXX_NOEXCEPT
>        {
> -       _Self __tmp = *this;
> +       _List_iterator __tmp = *this;
>         _M_node = _M_node->_M_next;
>         return __tmp;
>        }
>
> -      _Self&
> +      _List_iterator&
>        operator--() _GLIBCXX_NOEXCEPT
>        {
>         _M_node = _M_node->_M_prev;
>         return *this;
>        }
>
> -      _Self
> +      _List_iterator
>        operator--(int) _GLIBCXX_NOEXCEPT
>        {
> -       _Self __tmp = *this;
> +       _List_iterator __tmp = *this;
>         _M_node = _M_node->_M_prev;
>         return __tmp;
>        }
>
>        _GLIBCXX_NODISCARD
>        friend bool
> -      operator==(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
> +      operator==(const _List_iterator& __x,
> +                const _List_iterator& __y) _GLIBCXX_NOEXCEPT
>        { return __x._M_node == __y._M_node; }
>
>  #if __cpp_impl_three_way_comparison < 201907L
>        _GLIBCXX_NODISCARD
>        friend bool
> -      operator!=(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
> +      operator!=(const _List_iterator& __x,
> +                const _List_iterator& __y) _GLIBCXX_NOEXCEPT
>        { return __x._M_node != __y._M_node; }
>  #endif
>
> @@ -339,7 +340,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
>    template<typename _Tp>
>      struct _List_const_iterator
>      {
> -      typedef _List_const_iterator<_Tp>                _Self;
>        typedef const _List_node<_Tp>            _Node;
>        typedef _List_iterator<_Tp>              iterator;
>
> @@ -375,45 +375,47 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
>        operator->() const _GLIBCXX_NOEXCEPT
>        { return static_cast<_Node*>(_M_node)->_M_valptr(); }
>
> -      _Self&
> +      _List_const_iterator&
>        operator++() _GLIBCXX_NOEXCEPT
>        {
>         _M_node = _M_node->_M_next;
>         return *this;
>        }
>
> -      _Self
> +      _List_const_iterator
>        operator++(int) _GLIBCXX_NOEXCEPT
>        {
> -       _Self __tmp = *this;
> +       _List_const_iterator __tmp = *this;
>         _M_node = _M_node->_M_next;
>         return __tmp;
>        }
>
> -      _Self&
> +      _List_const_iterator&
>        operator--() _GLIBCXX_NOEXCEPT
>        {
>         _M_node = _M_node->_M_prev;
>         return *this;
>        }
>
> -      _Self
> +      _List_const_iterator
>        operator--(int) _GLIBCXX_NOEXCEPT
>        {
> -       _Self __tmp = *this;
> +       _List_const_iterator __tmp = *this;
>         _M_node = _M_node->_M_prev;
>         return __tmp;
>        }
>
>        _GLIBCXX_NODISCARD
>        friend bool
> -      operator==(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
> +      operator==(const _List_const_iterator& __x,
> +                const _List_const_iterator& __y) _GLIBCXX_NOEXCEPT
>        { return __x._M_node == __y._M_node; }
>
>  #if __cpp_impl_three_way_comparison < 201907L
>        _GLIBCXX_NODISCARD
>        friend bool
> -      operator!=(const _Self& __x, const _Self& __y) _GLIBCXX_NOEXCEPT
> +      operator!=(const _List_const_iterator& __x,
> +                const _List_const_iterator& __y) _GLIBCXX_NOEXCEPT
>        { return __x._M_node != __y._M_node; }
>  #endif
>
> --
> 2.47.0
>

Reply via email to