boostorg / boostorg/multi_array

Feature request: constructor and resize from values

Open
#26 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
32
Forks
39
PR merge metrics
No merged PRs in 30d

Description

Hello, this is a copy of my email I sent to the boost-users mailing list, as it might improve visibility.

I'd love to be able to use multi_array with classes that do not have a default constructor. At the moment, this is impossible, as both the constructor and resize functions only take extents as arguments (and possibly some other options), but no value_type, as for example std::vector does. Thus, trying to store objects without a default constructor in a multi_array results in hard compiler errors, with no workaround that I know of.

This happens to me fairly often, as I use multi_array to organize sets of complex objects. If there is a technical reason why this is not possible, I would also be happy to learn it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the multi_array constructor and resize APIs described in the issue, then inspect how they currently initialize elements and how std::vector accepts a value. Determine the supported design for supplying a value_type when creating or resizing an array. Done means non-default-constructible classes can be stored without hard compiler errors and existing extent-based behavior remains supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.