[PR #8787] Give til::bitmap custom allocator support and add til::pmr::bitmap #27293

Open
opened 2026-01-31 09:21:10 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/8787

State: closed
Merged: Yes


til::details::bitmap<Allocator> will use Allocator for its
dynamic_bitset, and it will use a rebound allocator for its run storage.

Allocator should be an allocator type storing unsigned long long, the
backing store type for dynamic_bitset.

I've introduced a type alias, til::bitmap, which papers over the
allocator choice for all existing code. I've also introduced a second
type alias, til::pmr::bitmap, which lets a consumer use the C++
polymorphic allocator system.

I chatted with @miniksa about whether to keep the "full" allocator
version in details or not. We decided that for the simplicity of the
til namespace, we would. If anybody has a compelling reason to use
til::details::bitmap<Allocator> directly, we can re-evaluate this
decision.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/8787 **State:** closed **Merged:** Yes --- `til::details::bitmap<Allocator>` will use `Allocator` for its `dynamic_bitset`, and it will use a rebound allocator for its run storage. Allocator should be an allocator type storing `unsigned long long`, the backing store type for `dynamic_bitset`. I've introduced a type alias, `til::bitmap`, which papers over the allocator choice for all existing code. I've also introduced a second type alias, `til::pmr::bitmap`, which lets a consumer use the C++ polymorphic allocator system. I chatted with @miniksa about whether to keep the "full" allocator version in `details` or not. We decided that for the simplicity of the `til` namespace, we would. If anybody has a compelling reason to use `til::details::bitmap<Allocator>` directly, we can re-evaluate this decision.
claunia added the pull-request label 2026-01-31 09:21:10 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27293