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
>