Files
2025-10-25 03:02:53 +03:00

2.2 KiB

[range.utility.helpers]

25 Ranges library [ranges]

25.5 Range utilities [range.utility]

25.5.2 Helper concepts [range.utility.helpers]

1

#

Many of the types in [range.utility] are specified in terms of the following exposition-only concepts:templateconcept simple-view = // exposition onlyview && range &&same_as<iterator_t, iterator_t> &&same_as<sentinel_t, sentinel_t>;

templateconcept has-arrow = // exposition onlyinput_iterator && (is_pointer_v || requires(const I i) { i.operator->(); });

template<class T, class U>concept different-from = // exposition onlysame_as<remove_cvref_t, remove_cvref_t>;

templateconcept range-with-movable-references = // exposition onlyinput_range && move_constructible<range_reference_t> &&move_constructible<range_rvalue_reference_t>;