cpp/iterator/sized sentinel for

@1@ The concept specifies that an object of the iterator type  and an object of the sentinel type  can be subtracted to compute the distance between them in constant time. @2@ The variable template can be used to prevent iterators and sentinels that can be subtracted but do not actually model  from satisfying the concept. The variable template is allowed to be specialized for cv-unqualified non-array object type and, as long as at least one of which is a program-defined type. Such specializations shall be usable in constant expressions and have type.

Semantic requirements
Let be an iterator of type, and  a sentinel of type  such that  denotes a range. Let be the smallest number of applications of  necessary to make  be. and model  only if:


 * If is representable by, then  is well-defined and equals ; and
 * If is representable by, then  is well-defined and equals.
 * Subtraction between and  has constant time complexity.