boostorg / boostorg/multi_array
Feature request: constructor and resize from values
- 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