__distance
__distance(__first, __last, __n, iterator_category(__first));
return __distance(__first, __last, _Category());