2015-10-15 3 views
1

Я ищу пример итератора, который удовлетворяет ограниченным качествам, которые будут считаться ForwardIterator, но не является чем-то еще в иерархии итераторов.Что такое пример C++ forwarditerator?

Я написал программу, которая печатает, какая из пяти категорий итераторов соответствует итератору. Я проверил его для остальных четырех категорий итераторов.

+0

Переднее итератор будет итератор из односвязный список – NathanOliver

ответ

4

Типичный пример: std::forward_list<T>::iterator. Тестирование сниппет:

#include <iostream> 
#include <iterator> 
#include <forward_list> 
#include <vector> 

template<typename T> 
bool test = std::is_same < 
       typename std::iterator_traits < 
        typename T::iterator 
       >::iterator_category, 
       std::forward_iterator_tag 
      >::value ; 

int main() 
{ 
    // test wheter std::forward_list's iterator is a forward_iterator 
    std::cout << std::boolalpha << test<std::forward_list<int>> << std::endl; 
    // what about std::vector? 
    std::cout << std::boolalpha << test<std::vector<int>>; 
} 

Live on Coliru

Смежные вопросы