Как проверить, что прошел итератор является итератором случайного доступа?C++

Программы на C++. Форум разработчиков
Anonymous
Как проверить, что прошел итератор является итератором случайного доступа?

Сообщение Anonymous »

У меня есть следующий код, который выполняет арифметику итератора: < /p>

Код: Выделить всё

template
void Foo(Iterator first, Iterator last) {
typedef typename Iterator::value_type Value;
std::vector vec;
vec.resize(last - first);
// ...
}
(последнее - первое) выражение работает (AFAIK) только для итераторов случайного доступа (например, из векторов и deque ). Как я могу проверить код, который пройденный итератор отвечает этому требованию?

Подробнее здесь: https://stackoverflow.com/questions/430 ... s-iterator

Вернуться в «C++»