boostorg / boostorg/unordered

[Feature request] boost::unordered_flat_map variant with key and value stored separately

Open
#209 5 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
92
Forks
88
PR merge metrics
No merged PRs in 30d

Description

Hello!

It would be great if we could have another variant of `boost::unordered_flat_map` where the keys and values are stored in separate arrays - "split" storage.
The main motivation for this is to minimise memory wastage due to padding.

eg: key=`uint64_t`, value=`float` would mean 4 bytes of padding per key-value pair.

Obviously this will be a further divergence from `std::unordered_map`'s interface.
The main difference being that iterators will return `std::pair` instead of `std::pair&`.

However, we believe this will provide a tonne of value to fans of `boost::unordered_flat_map`.

Thanks!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.