Описание тега equal-range

1 ответ

Как должен работать equal_range?

#include <boost/property_tree/ptree.hpp> #include <string> #include <iostream> int main() { boost::property_tree::ptree ptree; const std::string entry = "server.url"; ptree.add( entry, "foo.com" ); auto range = ptree.equal_range( e…
17 апр '15 в 08:16
3 ответа

Перегрузки equal_range и 2 не имеют законного преобразования для указателя this

Вот этот простой код #include <map> class MyMap : public std::multimap<int*, int*> { public: void foo(const int* bar) const { equal_range(bar); } }; int main() { MyMap myMap; int number; myMap.foo(&number); return 0; } Он не компилир…
27 мар '14 в 11:45
3 ответа

Как реализовать равный диапазон "итератор"

Как можно реализовать универсальный (он же работает для мультикарты, отсортированный вектор...) итератор с одинаковым диапазоном? Под этим я подразумеваю, что это итератор, представляющий собой пару итераторов (начало и конец определенного равного_р…
27 июн '13 в 09:37
0 ответов

Сравнение std::pair<> first и last из equal_range

В контексте карты (шаблона), для следующего использования auto begin = m_map.find(keyBegin); auto end = m_map.find(keyEnd); auto p = equal_range(begin,end,val); if( ! ( p.first == p.second == m_map.end() ) ) { //do something } Тип keyBegin а также k…
20 фев '18 в 04:50
2 ответа

Операции C++ над значениями, заданными multiset::equal_range

Я пытаюсь написать программу, которая берет 1000 случайных чисел от 0 до 9, а затем подсчитывает, сколько раз появилось каждое число: srand(time(NULL)); multiset&lt;int&gt; M;//multiset that contains 1000 random numbers from 0 to 9 for (int i = 0; i…
18 дек '17 в 21:01
3 ответа

std::equal_range не работает с Strucutre с оператором <определено

Я пытаюсь использовать std::equal_range со структурой ниже у меня есть ошибка компиляции, говорящая, что error: no match for ‘operator&lt;’ , struct MyFoo { int v_; string n_; bool operator&lt;(int v) const { return v_ &lt; v;} }; vector&lt;MyFoo&gt…
19 июн '14 в 14:24
1 ответ

Найти против равных и производительности

Я провожу некоторые тесты с помощью find, equal_range и моих собственных функций двоичного поиска, и у меня возникают проблемы с пониманием того, почему equal_range занимает так много времени по сравнению с find. У меня есть отсортированный вектор, …
06 авг '13 в 13:45
1 ответ

Rcpp: сумма значений мультикарты по ключу с использованием равного диапазона

Ниже у меня есть фрагмент кода, который содержит проблему, с которой я столкнулся. То, что я пытаюсь сделать, было бы тривиально в R, но гораздо сложнее в Rcpp. Я просто пытаюсь агрегировать значения в соответствии с их ключами. В этом примере я про…
24 июн '18 в 02:55
1 ответ

boost::multi_index_container - равные значения

Я пробовал несколько решений, используя библиотеку boost interprocess с картой и теперь multi_index_container в разделяемой памяти. С multi_index_container, есть ли другой способ, кроме как перебирать значения, возвращаемые равным. Я надеялся получи…
22 ноя '13 в 04:49
1 ответ

C++ мультикарта с диапазоном для цикла, повторяющегося по equal_range: сообщение об ошибке

Я пытаюсь перебрать равный-ряд мультикарты, используя основанный на диапазоне для цикла. Я имитирую код, который я видел опубликованным, но получаю ошибку. #include &lt;iostream&gt; #include &lt;map&gt; int main() { std::multimap&lt;const unsigned l…
07 сен '18 в 14:25
2 ответа

Как я могу напечатать значения ключа в отсортированном порядке в мультикарте

Мне нужно спроектировать структуру данных, которая в основном хранит пары ключ-значение, где ключ является целым числом, а его значение - строкой Условие 1: может быть несколько значений, связанных с ключом. Условие 2: мне нужно распечатать все ключ…
24 июн '15 в 21:16
0 ответов

Стирание итератора equal_range

У меня есть пара итераторов: pair &lt;multimap&lt;CFile,Filetype&gt;::iterator, multimap&lt;CFile,Filetype&gt;::iterator&gt; range; range = m_DirectoryMap.equal_range(obj); Эта пара содержит дублированные элементы в MultiMap - например, есть 1 объек…
17 мар '16 в 18:07
0 ответов

std::equal_range() возвращаемое значение

По данным cppreference.com Возвращаемое значение std::pair, содержащий пару итераторов, определяющих требуемый диапазон, первый указывает на первый элемент, который не меньше значения, а второй указывает на первый элемент, который больше значения. Е…
20 фев '18 в 00:18
1 ответ

Улучшить поиск по частичному индексу multi_index_container на основе результатов part_index_search

Чтобы проиллюстрировать мой вопрос, я скопировал приведенный ниже код из примера "Телефонная книга" справочного документа Boost. struct phonebook_entry { std::string family_name; std::string given_name; std::string ssn; std::string phone_number; } И…
19 июл '13 в 09:54
3 ответа

Найти равный диапазон для контейнера со строкой с префиксом

У меня есть 2 итератора range_begin,range_end, которые являются моим контейнером. Мне нужно найти все строки, которые начинаются с префикса char. Вот мой код: template &lt;typename RandomIt&gt; pair&lt;RandomIt, RandomIt&gt; FindStartsWith( RandomIt…
14 апр '19 в 00:38
2 ответа

Почему unordered_map::equal_range upper_bound возвращает end, если ключ меньше первого элемента карты

Я заметил, что unordered_map::equal_range upper_bound (first) возвращает end, если переданный ключ меньше первого ключа карты #include &lt;iostream&gt; #include &lt;map&gt; #include &lt;tr1/unordered_map&gt; using namespace std; int main () { { std:…
25 апр '19 в 10:39
2 ответа

NoneStd ::distance медленно и как его улучшить?

std::distance кажется очень медленным У меня есть большая мультикарта и я пытаюсь использовать equal_range найти элемент с общим ключом: auto range = in_map.equal_range(neuron_with_spikes[i]); int count = std::distance(range.first, range.second); st…
29 июл '19 в 19:52
1 ответ

могу ли я использовать equal_range для получения диапазона значений или конца контейнера?

Я знаю, что equal_range(k) дает мне диапазон значений:начиная с k или элемента больше k или end изаканчивая элементом больше k или end.Я хочу изменить это поведение, чтобы дать мне только диапазон значений:начиная с k илизаканчивая элементом, больши…
17 дек '19 в 15:24
1 ответ

C++ primer 5ed equal_range для ассоциативных контейнеров

В C++ prime 5 Ред. Глава 11. Ассоциативные контейнеры. "Таблица 11.7. Операции по поиску элементов в ассоциативном контейнере": Говорят: "c.equal_range(k)возвращает пару итераторов, обозначающих элементы с ключом k. если k отсутствует, оба члена явл…
07 окт '19 в 03:19
1 ответ

Я не могу найти равный диапазон

Итак, у меня есть этот код, в котором я печатаю нижний, верхний и равный диапазон, но IDK, как печатать равный диапазон, если кто-то знает, как мне будет отправлено закодированное решение, спасибо #include &lt;bits/stdc++.h&gt; using namespace std; …
18 апр '20 в 00:40