Title
Post-increment/decrement operators of `reverse_iterator` and `simd-iterator` should be defaulted
Status
new
Section
[reverse.iterator][simd.iterator]
Submitter
Jiang An

Created on 2026-10-26.00:00:00 last changed 1 week ago

Messages

Date: 2026-10-26.12:54:10

Proposed resolution:

This wording is relative to N5054.

  1. Modify [reverse.iterator] as indicated:

    […]
        constexpr reverse_iterator& operator++();
        constexpr reverse_iterator  operator++(int) = default;
        constexpr reverse_iterator& operator--();
        constexpr reverse_iterator  operator--(int) = default;
    […]
    
  2. Modify [reverse.iter.nav] as indicated:

    […]

    constexpr reverse_iterator operator++(int);
    

    -5- Effects: As if by:

    reverse_iterator tmp = *this;
    --current;
    return tmp;
    

    […]

    constexpr reverse_iterator operator--(int);
    

    -8- Effects: As if by:

    reverse_iterator tmp = *this;
    ++current;
    return tmp;
    

    […]

  3. Modify [simd.iterator] as indicated:

    […]
        constexpr simd-iterator& operator++();
        constexpr simd-iterator operator++(int) = default;
        constexpr simd-iterator& operator--();
        constexpr simd-iterator operator--(int) = default;
        constexpr reverse_iterator& operator++();
    […]
    

    […]

    constexpr simd-iterator operator++(int);
    

    -5- Effects: Equivalent to:

    simd-iterator tmp = *this;
    *this += 1;
    return tmp;
    

    […]

    constexpr simd-iterator operator--(int);
    

    -7- Effects: Equivalent to:

    simd-iterator tmp = *this;
    *this -= 1;
    return tmp;
    

    […]

Date: 2026-10-26.00:00:00

Due to P3668R4, postfix forms of `operator++` and `operator--` can be defaulted since C++29. And P3785R1 made most of such default-able operators defaulted.

However, there're currently still a few default-able operators that are not defaulted, namely those of `reverse_iterator` and `simd-iterator`.

History
Date User Action Args
2026-10-26 12:54:10adminsetmessages: + msg16633
2026-10-26 00:00:00admincreate