boostorg / boostorg/interprocess

Provide extended allocators interface (e.g. grow/realloc) like Boost.Container

Open
#116 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
185
Forks
131
PR merge metrics
No merged PRs in 30d

Description

[Boost.Container allocators support extra interfaces than the standard allocator requirements](https://www.boost.org/doc/libs/1_73_0/doc/html/container/extended_allocators.html).

Some of these functions are useful even to C libraries that used to enjoy `realloc()` like features. So this extra interface is useful even if we're not planning to use it with standard containers.

It'd be nice if Boost.Interprocess could provide a few of these features for its [allocators](https://www.boost.org/doc/libs/1_73_0/doc/html/interprocess/allocators_containers.html) as [`managed_shared_memory`](https://www.boost.org/doc/libs/1_73_0/doc/html/interprocess/managed_memory_segments.html#interprocess.managed_memory_segments.managed_memory_segment_features.allocate_deallocate) has plenty of features not found in Boost.Container allocators and we cannot use Boost.Container extended allocators to manage preallocated memory regions.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked Boost.Container extended allocators documentation, then compare it with the Boost.Interprocess allocator and managed_shared_memory documentation. Identify which allocator operations can be supported for preallocated memory regions and define the required interface and tests. Done means the selected extended operations are available through Boost.Interprocess allocators without relying on standard container requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.