24 Ranges library [ranges]

24.3 Range access [range.access]

24.3.11 ranges​::​ssize [range.prim.ssize]

The name ranges​::​ssize denotes a customization point object ([customization.point.object]).
The expression ranges​::​ssize(​E) for a subexpression E of type T is expression-equivalent to:
  • If range_­difference_­t<T> has width less than ptrdiff_­t, static_­cast<ptrdiff_­t>(ranges​::​
    size(E))
    .
  • Otherwise, static_­cast<range_­difference_­t<T>>(ranges​::​size(E)).