Size: a a a

Конференция C++ Russia

2021 April 11

V

Vlad in Конференция C++ Russia
(похоже прямой поддержки моей хотелки  в boost::multi_index нет)
источник

D

Danya in Конференция C++ Russia
Это был сарказм, не надо в этот чат идти
источник

VF

Vitaly Farmov in Конференция C++ Russia
boost::flat_set / map
источник

V

Vlad in Конференция C++ Russia
Я таки туда заглянул, но понял, что что-то не то :)
источник

V

Vlad in Конференция C++ Russia
Судя по описанию это что-то типа std::vector + std::upper_bound/std::lower_bound для вставки/удаления и поиска. Не?
источник

V

Vlad in Конференция C++ Russia
Т.е. порядок вставки он не хранит.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Какая то комбинация set и list нужна?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Или даже deq и set
источник

V

Vlad in Конференция C++ Russia
На самом деле мне даже и порядок вставки не нужен. Нужен просто детерминированный порядок, который не зависит от значения элементов, а зависит только от последовательности вставок.
источник

VF

Vitaly Farmov in Конференция C++ Russia
Да, верно. Вряд ли есть такое стандартное. Можно вот это попробовать https://github.com/Tessil/ordered-map
источник

V

Vlad in Конференция C++ Russia
Да, комбинацию я уже сделал на коленке, она работает. Просто чувство прекрасного чешется :)
источник

V

Vlad in Конференция C++ Russia
Да, по описанию оно. Хотя не хотелось тащить еще что-то кроме буста...
источник

DV

Denis Vorkozhokov in Конференция C++ Russia
источник

АР

Андрей Руссков... in Конференция C++ Russia
оберни map<size_t, val> где ключ - порядковый номер вставленного элемента
источник

АР

Андрей Руссков... in Конференция C++ Russia
ну это самый простой вариант наверно
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Там же дубли тогда будут
источник

АР

Андрей Руссков... in Конференция C++ Russia
так ты на каждую вставку инкремент делаешь
источник

V

Vlad in Конференция C++ Russia
Одного map недостаточно, нужен же еще и поиск + удаление.
источник

V

Vlad in Конференция C++ Russia
Сейчас у меня std::unordered_map<T,std::list<T>::iterator> + std::list<T>. Итерация идет по листу, поиск/удалене по мэпу.
источник

V

Vlad in Конференция C++ Russia
Поскольку реализация std::map использует некое дерево, то добавить туда в существующие ноды пару указателей для поддержания двусвязного списка было бы намного эффективнее, чем содержать отдельный список (с отдельными нодами).
источник