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

The MPL Reference Manual: distance

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 / distance

distance

Synopsis

template<
      typename First
    , typename Last
    >
struct distance
{
    typedef unspecified type;
};

Description

Возвращает расстояние междуПервыйиПоследнийитераторы, то естьинтегральная постояннаяnтак что<Во-первых, n>::typeидентиченПоследний.

Parameters

Parameter Requirement Description
Первый,Последний Передний итератор Итераторы вычисляют расстояние между

Expression semantics

Для любогопередового итератораспервымипоследним:

typedef distance<first,last>::type n;
Return type:

Integral Constant.

Precondition:

[first, last) is a valid range.

Semantics:

Equivalent to

typedef iter_fold<
      iterator_range<first,last>
    , long_<0>
    , next<_1>
    >::type n;
Postcondition:

is_same< advance<first,n>::type, last >::value == true.

Complexity

Амортизированное постоянное время, еслипервоеипоследнееявляютсяИтератором случайного доступас, иначе линейное время.

Example

typedef range_c<int,0,10>::type range;
typedef begin<range>::type first;
typedef end<range>::type last;
BOOST_MPL_ASSERT_RELATION( (distance<first,last>::value), ==, 10);

Статья The MPL Reference Manual: distance раздела может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:30:15/0.0082559585571289/1