Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: iterator_category

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Iterators / Iterator Metafunctions / iterator_category

iterator_category

Synopsis

template<
      typename Iterator
    >
struct iterator_category
{
    typedef typename Iterator::category type;
};

Description

Возвращает один из следующих тегов категории итератора:

  • forward_iterator_tag
  • bidirectional_iterator_tag
  • random_access_iterator_tag

Parameters

Parameter Requirement Description
Итератор Передний итератор Итератор для получения категории.

Expression semantics

Для любого Forward Iterator iter:

typedef iterator_category<iter>::type tag;
Return type:

Integral Constant.

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:
forward_iterator_tag::value < bidirectional_iterator_tag::value,

bidirectional_iterator_tag::value < random_access_iterator_tag::value.

Complexity

Амортизированное постоянное время.

Example

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.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:57:34/0.0079398155212402/1