23 Ranges library [ranges]

23.6 Range utilities [range.utility]

23.6.2 View interface [view.interface]

23.6.2.1 Members [view.interface.members]

constexpr decltype(auto) front() requires ForwardRange<D>; constexpr decltype(auto) front() const requires ForwardRange<const D>;
Expects: !empty().
Effects: Equivalent to: return *ranges::begin(derived());
constexpr decltype(auto) back() requires BidirectionalRange<D> && CommonRange<D>; constexpr decltype(auto) back() const requires BidirectionalRange<const D> && CommonRange<const D>;
Expects: !empty().
Effects: Equivalent to: return *ranges::prev(ranges::end(derived()));