Skip to content

Many view iterators do not contain an _Unwrapped() member function #2997

@strega-nil-ms

Description

@strega-nil-ms

While implementing tests for #2991, I noticed that view iterators are always _Is_nothrow_unwrappable_v; this is because _Get_unwrap() does no work on them, as they don't have _Unwrapped() member functions.

It would be good to add _Unwrapped() member functions which return the same iterator, but use the unwrapped base -- for example, filter_view<_It, _Pr>::_Unwrapped() would return filter_view<_Unwrapped_t<_It>, _Pr>. You can see existing uses of this in reverse_iterator and move_iterator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions