Opened 6 years ago
Last modified 5 years ago
#12768 new Feature Requests
Provide intrusive unordered_set with automatic bucket management
Reported by: | Owned by: | Ion Gaztañaga | |
---|---|---|---|
Milestone: | To Be Determined | Component: | intrusive |
Version: | Boost 1.63.0 | Severity: | Problem |
Keywords: | Cc: | fdegros@… |
Description
The current intrusive unordered_set and unordered_multiset containers require the user to manually take care of the bucket management.
I've written a wrapper class template that takes care of the bucket management, automatically allocating them and rehashing as the set is growing. However, writing this code is still cumbersome and tricky.
Boost intrusive would be more usable and useful if it was providing this kind of functionality out of the box.
Consider providing unordered intrusive containers with automatic bucket management. Maybe this can be done by extending the existing unordered_set and unordered_multiset through some template option, or maybe it will require an entirely new class template.
Some points to consider:
These containers should be default-constructible. A default-constructed container should be valid and empty. Ideally, the default constructor should not dynamically allocate memory. Move and swap operations should be constant-time and no-throw.
Ping? Any idea or progress on this topic?