Описание тега boost-multi-index

Библиотека C++, которая позволяет создавать контейнеры, поддерживающие один или несколько индексов с различной семантикой сортировки и доступа.
0 ответов

Имитация функциональности sql (или других rdbms) с использованием алгоритмов и контейнеров stl/boost

Я использую STL некоторое время, но я только знакомлюсь с SQL. Можно ли смоделировать функциональность sql с использованием контейнеров и алгоритмов stl/boost? если нет, то где начинаются ограничения? например, я мог бы создать базу данных, просто и…
04 дек '13 в 23:07
1 ответ

Использование boost multi_index внутри шаблонной структуры

Я получаю error: expected unqualified-id before 'typename' в строке 59, когда я пытаюсь скомпилировать это: #include <cstdlib> #include <boost/multi_index_container.hpp> #include <boost/multi_index/ordered_index.hpp> #include <b…
12 июл '15 в 17:45
2 ответа

Получить ранг элемента контейнера boost::multi_index

Код ниже показывает контейнер multi_index, который индексируется по последовательности и порядку. В моем сценарии использования элементы будут в основном искать по индексу, и, если он существует, будет получен следующий элемент (по порядку). У меня …
23 ноя '15 в 15:19
1 ответ

BOOST Multi-Index

Я пытаюсь использовать многоиндексный контейнер Boost для быстрого поиска, но мне трудно найти. Я нахожу некоторые документы немного запутанными. Вот что у меня есть: struct reports_entry { reports_entry( const std::string& category, const std::…
15 ноя '11 в 13:51
4 ответа

Увеличить multi_index_container и медленный оператор ++

Это дополнительный вопрос для этого вопроса MIC. При добавлении элементов в вектор ссылочных упаковщиков я трачу около 80% времени внутри оператора ++ независимо от того, какой вариант итерации я выберу.Запрос работает следующим образом VersionView …
21 дек '14 в 09:03
2 ответа

Повысить multi_index обратный итератор стереть проблему

У меня есть следующий (упрощенный) код: #include <boost/multi_index_container.hpp> #include <boost/multi_index/ordered_index.hpp> namespace bmi = boost::multi_index; #include <string> #include <iostream> #include <cassert&…
14 окт '16 в 16:39
3 ответа

Как использовать boost::object_pool в качестве распределителя boost::multi_index?

Я пытаюсь реализовать приложение boost::multi_index, и производительность очень плохая: вставка 10000 объектов занимает почти 0,1 секунды, что недопустимо. Поэтому, когда я заглядываю в документацию и обнаруживаю, что boost::multi_index может принят…
08 май '16 в 02:36
2 ответа

Как освободить память, используемую boost::multi_index::multi_index_container?

Как освободить память, используемую "person_map_t multi_indexed_persons_map"? Я не могу найти что-то об этом в Google. Это мой тестовый код: #include <sstream> #include <ostream> #include <stdio.h> #include <iostream> #includ…
20 июн '12 в 16:08
1 ответ

Почему эта функция-член дублируется?

У меня есть код, который работает на VS10 и работает на нескольких других платформах, но вызывает странную ошибку на VS2015. Ошибка (в расширении шаблона внутри Boost) очень странная, потому что она указывает на форму без const и говорит мне, что он…
1 ответ

Ошибка: 'boost::Q_FOREACH' не был объявлен

Я использую Boost 1.54 и Qt версии 5.2.1. Я получаю следующую ошибку при попытке собрать пакет /usr/include/boost/multi_index/sequenced_index.hpp:927:10: error: 'boost::Q_FOREACH’ has not been declared boost::foreach::tag ^ /usr/include/boost/multi_…
10 июл '15 в 16:58
1 ответ

Частичная_сортировка для повышения индекса произвольного доступа multi_index

Мне было интересно, если есть способ использовать std::partial_sort или же boost::partial_sort на multi_indexИндекс произвольного доступа. Если я попытаюсь использовать std::patial_sort Я получаю ошибки компилятора, подразумевающие, что разыменовани…
14 сен '15 в 14:36
1 ответ

Агрегация больших данных: C++, boost или RDBMS?

Я хочу прочитать файл с 600M записями в C++ и выполнить агрегирование на основе заданных критериев для полей (например, empl.loacation='FL' and empl.dept=3). Является ли использование C++ жизнеспособным вариантом? Я могу пойти по пути базы данных, н…
19 сен '12 в 13:24
1 ответ

boost::multi_index:: композитный_ключ_результат, как получить символ *, составляющий составной ключ?

Для кода ниже: struct MyStruct { char* firstName; char* secondName; int age; }; typedef composite_key <MyStruct*, BOOST_MULTI_INDEX_MEMBER(MyStruct, char*, firstName), BOOST_MULTI_INDEX_MEMBER(MyStruct, char*, secondName) > comp_key; typedef m…
16 июл '13 в 02:23
1 ответ

Где я могу найти пример удаления диапазона boost::multi_index

Я ищу пример кода для удаления элементов в контейнере multi_index, используя диапазон order_non_unique. На сайте буста я нашел один пример, который я не могу скопировать с моим кодом. Я надеюсь на примеры, не написанные автором библиотеки, которые п…
08 янв '19 в 14:16
1 ответ

Получение значений, не равных х в boost's multi_index_container

Я пытаюсь получить итератор для всех значений, которые не равны определенному значению в boost::multi_index_container, Индекс, к которому я хочу получить доступ, hashed_non_unique целое число. С помощью equal_range(0) в моем контейнере, который служ…
27 фев '19 в 14:02
1 ответ

Как выполнить equal_range для одного ключа и lower_bound для второго ключа многоиндексного контейнера с комбинированным усилением?

Допустим, у меня есть класс для хранения измерений датчика, и я создал многоиндексный контейнер с комбинированным ключом времени и идентификатором каждого измерения: namespace { struct ValueUpdateMsg { double value; uint64_t time; int id; }; struct …
24 янв '19 в 02:53
2 ответа

Срок действия индекса Java LinkedHashSet

Я портировал большой кусок Java-кода на C++, и мне пришлось реализовать такие вещи, как LinkedHashSet, как я уже говорил. Я сделал разумное факсимиле LinkedHashSet/Map, используя многоиндексные контейнеры Boost. Поскольку я портирую код, я сталкиваю…
28 май '12 в 03:14
1 ответ

Как boost::multi_index работает с функциями-членами?

Если у меня есть повышение::multi_index следующим образом, typedef multi_index_container< employee, indexed_by< hashed_unique<mem_fun<employee, std::string, &employee::getname> >, hashed_unique<mem_fun<employee, int, &amp…
18 окт '16 в 12:37
1 ответ

Сохраняется ли boost::multi_index_container последовательно в памяти?

Я ищу последовательную структуру данных для быстрого времени итерации в сочетании с быстрым произвольным доступом через ключ. Более того, мне нужно эффективно вернуть ключ из индекса. В настоящее время я использую комбинацию разных коллекций из стан…
16 сен '14 в 12:27
2 ответа

Множественный поиск

Мне нужна структура данных, и я не уверен, что выбрать. По сути, моя потребность похожа на std::set за исключением того, что мне нужно искать по нескольким различным компараторам по одним и тем же данным одновременно. Прямо сейчас я решил пойти на н…
28 апр '12 в 21:35