cpp/ranges/subrange

The class template combines together an iterator and a sentinel into a single.

Additionally, the subrange is a whenever the final template parameter is  (which happens when  is satisfied or when size is passed explicitly as a constructor argument). The size record is needed to be stored if and only if is  and  is.

Helper templates
This specialization of makes  satisfy.