Opened 6 years ago

Last modified 5 years ago

#12768 new Feature Requests

Provide intrusive unordered_set with automatic bucket management

Reported by: fdegros@… 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.

Change History (2)

comment:1 by fdegros@…, 6 years ago

Ping? Any idea or progress on this topic?

comment:2 by fdegros@…, 5 years ago

Ping? Any idea or progress on this topic?

Note: See TracTickets for help on using tickets.