![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: iterator_categoryBoost , ,
|
Front Page / Iterators / Iterator Metafunctions / iterator_category |
template< typename Iterator > struct iterator_category { typedef typename Iterator::category type; };
Возвращает один из следующих тегов категории итератора:
#include <boost/mpl/iterator_category.hpp> #include <boost/mpl/iterator_tags.hpp>
Parameter | Requirement | Description |
---|---|---|
Итератор | Передний итератор | Итератор для получения категории. |
Для любого Forward Iterator iter:
typedef iterator_category<iter>::type tag;
Return type: | |
---|---|
Semantics: | tag is forward_iterator_tag if iter is a model of Forward Iterator, bidirectional_iterator_tag if iter is a model of Bidirectional Iterator, or random_access_iterator_tag if iter is a model of Random Access Iterator; |
Postcondition: |
|
Амортизированное постоянное время.
template< typename Tag, typename Iterator > struct algorithm_impl { // O(n) implementation }; template< typename Iterator > struct algorithm_impl<random_access_iterator_tag,Iterator> { // O(1) implementation }; template< typename Iterator > struct algorithm : algorithm_impl< iterator_category<Iterator>::type , Iterator > { };
) |
Статья The MPL Reference Manual: iterator_category раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |