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

upper_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
upper_bound(ForwardRange& rng, Value val);
template<
    range_return_value re,
    class ForwardRange,
    class Value
    >
typename range_return<ForwardRange, re>::type
upper_bound(ForwardRange& rng, Value val);
template<
    class ForwardRange,
    class Value,
    class SortPredicate
    >
typename range_iterator<ForwardRange>::type
upper_bound(ForwardRange& rng, Value val, SortPredicate pred);
template<
    range_return_value re,
    class ForwardRange,
    class Value,
    class SortPredicate
    >
typename range_return<ForwardRange,re>::type
upper_bound(ForwardRange& rng, Value val, SortPredicate pred);

Description

Версии<upper_bound>, возвращающие итератор, возвращают первый итератор в диапазоне<rng>таким образом, что: без предиката —<val< *i>это<true>, с предикатом —<pred(val,*i)>это<true>.

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

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

Definition

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

Requirements

For the non-predicate versions:

  • <ForwardRange>является модельюпередового диапазонаКонцепт.
  • <Value>является образцом<LessThanComparableConcept>.
  • Упорядочение объектов типа<Value>являетсястрогим слабым упорядочением, как определено в<LessThanComparableConcept>требованиях.
  • <ForwardRange>Тип значения — тот же тип, что и<Value>.

For the predicate versions:

  • <ForwardRange>является модельюпередового диапазонаКонцепт.
  • <BinaryPredicate>является образцом<StrictWeakOrderingConcept>.
  • <ForwardRange>Тип значения — тот же тип, что и<Value>.
  • <ForwardRange>Тип значения конвертируется в оба типа аргументов<BinaryPredicate>.
Precondition:

For the non-predicate versions:

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

For the predicate versions:

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

Complexity

Для диапазонов, которые моделируют диапазон случайного доступаПонятие сложности<O(logN)>, где<N><distance(rng)>. Для всех остальных типов диапазона сложность составляет<O(N)>.


PrevUpHomeNext

Статья upper_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-07-04 20:21:55/0.0060751438140869/0