24 Ranges library [ranges]

24.5 Range utilities [range.utility]

24.5.2 View interface [view.interface]

24.5.2.1 Members [view.interface.members]

constexpr decltype(auto) front() requires forward_­range<D>; constexpr decltype(auto) front() const requires forward_­range<const D>;
Preconditions: !empty().
Effects: Equivalent to: return *ranges​::​begin(derived());
constexpr decltype(auto) back() requires bidirectional_­range<D> && common_range<D>; constexpr decltype(auto) back() const requires bidirectional_­range<const D> && common_range<const D>;
Preconditions: !empty().
Effects: Equivalent to: return *ranges​::​prev(ranges​::​end(derived()));