Effects: Constructs a counted_iterator, value-initializing current and cnt. Iterator operations applied to the resulting iterator have defined behavior if and only if the corresponding operations are defined on a value-initialized iterator of type I.
constexpr counted_iterator(I i, difference_type_t<I> n);
Requires: n >= 0
Effects: Constructs a counted_iterator, initializing current with i and cnt with n.
constexpr counted_iterator(const counted_iterator<ConvertibleTo<I>>& i);
Effects: Constructs a counted_iterator, initializing current with i.current and cnt with i.cnt.