Можно ли выделить элементы boost :: multi_index или boost :: intrusive по вектору?

Можно ли выделить элементы boost :: multi_index по вектору и использовать индексы в этом векторе (4 байта) вместо указателей (8 байт) везде (включая внутренние структуры boost :: multi_index) для экономии памяти?

0

Решение

Это может быть возможно: Boost.MultiIndex поддерживает специальные распределители, связанные с которыми Allocator::pointer Тип может отличаться от обычного указателя, если он моделирует итератор произвольного доступа, как объяснено Вот (это делается в основном поддерживать Boost.Interprocess распределителей.С некоторой работой вы могли бы создать распределитель, который использует вектор в качестве своей арены и использует 4-байтовый объект для его индексации. Хотя это не выглядит легкой задачей.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]