![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: lower_boundBoost , ,
|
Front Page / Algorithms / Querying Algorithms / lower_bound |
template< typename Sequence , typename T , typename Pred = less<_1,_2> > struct lower_bound { typedef unspecified type; };
Возвращает первую позицию в сортировкеПоследовательность, гдеTможет быть вставлена без нарушения порядка.
#include <boost/mpl/lower_bound.hpp>
Parameter | Requirement | Description |
---|---|---|
Последовательность | Последовательность | Сортированная последовательность для поиска. |
Т | Любой тип | Тип для поиска позиции. |
Пред | БинарноеЛамбда-выражение | Критерии поиска. |
Для любой сортированнойпередней последовательностиs, двоичнойлямбда-выраженияпреди произвольного типаx:
typedef lower_bound< s,x,pred >::type i;
Return type: | |
---|---|
Semantics: | i is the furthermost iterator in [begin<s>::type, end<s>::type) such that, for every iterator j in [begin<s>::type, i), apply< pred, deref<j>::type, x >::type::value == true |
Количество сравнений логарифмическое: самое большее log2размер:: значение+ 1.Еслиsявляетсяпоследовательностью случайного доступа, то число шагов в диапазоне также логарифмическое; в противном случае число шагов пропорциональноразмер:: значение.
typedef vector_c<int,1,2,3,3,3,5,8> numbers; typedef lower_bound< numbers, int_<3> >::type iter; BOOST_MPL_ASSERT_RELATION( (distance< begin<numbers>::type,iter >::value), ==, 2 ); BOOST_MPL_ASSERT_RELATION( deref<iter>::type::value, ==, 3 );
Статья The MPL Reference Manual: lower_bound раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |