Struct template iterator
boost::type_erasure::iterator
 
Synopsis
template<typename Traversal, typename T = _self, 
         typename Reference = ::boost::use_default, 
         typename DifferenceType = ::std::ptrdiff_t, 
         typename ValueType = typename deduced<iterator_value_type<T> >::type> 
struct iterator {
  
  typedef unspecified    value_type;     
  typedef Reference      reference;      
  typedef DifferenceType difference_type;
};
Description
итераторможет быть использован для любой категории итераторов.
Выводится значение_тип итератора. Чтобы заставить его быть конкретным типом, используйте концепциютого же типа.
Пример:
mpl::vector<
  iterator<boost::forward_traversal_tag>,
  same_type<iterator<boost::forward_traversal_tag>::value_type, int> > int_it;
 
Template Parameters
- <typenameTraversal >должен быть одним из<boost::incrementable_traversal_tag>,<boost::single_pass_traversal_tag>,<boost::forward_traversal_tag>,<boost::bidirectional_traversal_tag>и<boost::random_access_traversal_tag>.
 
- <typenameT=_self >Заполнитель, представляющий итератор. 
- <typenameReference=::boost::use_default >Тип ссылки. Если это повышение::use_default, то ссылка будет value_type&. 
- <typenameDifferenceType=::std::ptrdiff_t >Различие типа итератора. 
- <typenameValueType=typenamededuced<iterator_value_type<T>>::type >