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

lower_bound

Boost , Chapter 1. Range 2.0 , Non-mutating algorithms

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext
Prototype

template<
    class ForwardRange,
    class Value
    >
typename range_iterator<ForwardRange>::type
lower_bound(ForwardRange& rng, Value val);
template<
    range_return_value re,
    class ForwardRange,
    class Value
    >
typename range_return<ForwardRange, re>::type
lower_bound(ForwardRange& rng, Value val);
template<
    class ForwardRange,
    class Value,
    class SortPredicate
    >
typename range_iterator<ForwardRange>::type
lower_bound(ForwardRange& rng, Value val, SortPredicate pred);
template<
    range_return_value re,
    class ForwardRange,
    class Value,
    class SortPredicate
    >
typename range_return<ForwardRange,re>::type
lower_bound(ForwardRange& rng, Value val, SortPredicate pred);

Description

Версии lower_bound, возвращающие итератор, возвращают первый итератор в диапазоне rng таким образом, что: без предиката - *i < значение является ложным с предикатом - pred(*i, значение) является ложным.

end(rng) возвращается, если такой итератор не существует.

Версии lower_bound, возвращающие range_return, определяют found таким же образом, как и возвращенный итератор, описанный выше.

Definition

Defined in the header file boost/range/algorithm/lower_bound.hpp

Requirements

For the non-predicate versions:

  • ForwardRange является моделью Forward Range Концепция.
  • Ценность является моделью LessThanComparableConcept.
  • Упорядочение объектов типа Ценность представляет собой строгое слабое упорядочение, как определено в требованиях LessThanComparableConcept.
  • ForwardRange - это тот же тип, что и Value.

For the predicate versions:

  • ForwardRange является моделью Forward Range Концепция.
  • BinaryPredicate является моделью StrictWeakOrderingConcept.
  • ForwardRange - это тот же тип, что и Value.
  • ForwardRange можно преобразовать в оба типа аргументов BinaryPredicate.
Precondition:

For the non-predicate versions:

rng сортируется в порядке возрастания по оператору<.

For the predicate versions:

rng сортируется в порядке возрастания согласно pred.

Complexity

Для диапазонов, которые моделируют диапазон доступа Random Понятие сложности O(log N), где N distance(rng).

Для всех других типов диапазона сложность составляет O(N).


PrevUpHomeNext

Статья lower_bound раздела Chapter 1. Range 2.0 Non-mutating algorithms может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Non-mutating algorithms ::


реклама


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

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