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

Open
#116 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

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.

Description

Boost.Container allocators support extra interfaces than the standard allocator requirements.

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 as managed_shared_memory has plenty of features not found in Boost.Container allocators and we cannot use Boost.Container extended allocators to manage preallocated memory regions.

Dominant language
C++
Stars
185
Forks
131
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from boostorg/interprocess

All issues in boostorg/interprocess

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.