Для небольших наборов или карт обычно намного быстрее использовать отсортированный вектор вместо дерева set
/map
- особенно для чего-то вроде 5-10 элементов. LLVM имеет несколько классов в этом духе, но нет реального адаптера, который предоставил бы интерфейс std::map
, поддерживаемый с помощью std::vector
.
Любая (свободная) реализация этого там?
Изменить. Спасибо за все альтернативные идеи, но меня действительно интересует векторный набор/карта. У меня есть конкретные случаи, когда я, как правило, создаю огромное количество наборов/карт, которые содержат обычно менее 10 элементов, и я действительно хочу иметь меньшее давление памяти. Подумайте, например, о соседних краях для вершины в треугольной сетке, вы легко можете заполнить 100 тыс. Наборов по 3-4 элемента каждый.