В шаблоне C ++ я изо всех сил пытаюсь определить переменную с правильным size_type
.По сути, это будет тип индекса в контейнере.Я знаю, что int
работает, но хотел бы иметь его в чистом виде.
template<typename ForwardIt>
void test(ForwardIt it) {
// this yields the underlying type
decltype(typename std::iterator_traits<ForwardIt>::value_type()) T;
// what I would like is something like above, but yielding the
// correct size_type for the container.
// Something like this but with the type extracted from ForwardIt:
std::vector<int>::size_type i;
...
}