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

equal_range

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

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext
Prototype

template<
    class ForwardRange,
    class Value
    >
std::pair<typename range_iterator<ForwardRange>::type,
          typename range_iterator<ForwardRange>::type>
equal_range(ForwardRange& rng, const Value& val);
template<
    class ForwardRange,
    class Value
    >
std::pair<typename range_iterator<const ForwardRange>::type,
          typename range_iterator<const ForwardRange>::type>
equal_range(const ForwardRange& rng, const Value& val);
template<
    class ForwardRange,
    class Value,
    class SortPredicate
    >
std::pair<typename range_iterator<ForwardRange>::type,
          typename range_iterator<ForwardRange>::type>
equal_range(ForwardRange& rng, const Value& val, SortPredicate pred);
template<
    class ForwardRange,
    class Value,
    class SortPredicate
    >
std::pair<typename range_iterator<const ForwardRange>::type,
          typename range_iterator<const ForwardRange>::type>
equal_range(const ForwardRange& rng, const Value& val, SortPredicate pred);

Description

<equal_range>возвращает диапазон в виде пары итераторов, где все элементы равны<val>. Если не найдено значений, равных<val>, то возвращается пустой диапазон, следовательно<result.first==result.second>. Для непредикатных версий<equal_range>равенство элементов определяется<operator<>. Для предикатов<equal_range>равенство элементов определяется<pred>.

Definition

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

Requirements

For the non-predicate versions:

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

For the predicate versions:

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

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

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

Complexity

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


PrevUpHomeNext

Статья equal_range раздела 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:18:34/0.0078458786010742/1