G-Node / G-Node/nix

Create dimensions during DataArray creation

Open
#517 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
72
Forks
36
PR merge metrics
No merged PRs in 30d

Description

Pass information about dimensions to DataArray's create method. The goal is to have a similar behavior as in the prototype:

``` c++
DataArray da = block.createDataArray("da", "signal", nix::DataType::Double, {D("ms", "Time", 0.1)})
```

Further all methods to set or append dimensions should be removed and it should not be possible to change the unit of existing dimensions (or at least not to an incompatible unit).

This is a major API change and has a huge impact on the bindings and the documentation of the c++ API and the bindings.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the C++ DataArray creation API and the existing dimension-setting and appending methods. Compare the current API with the prototype call in the issue, then map the impact on bindings and C++ API documentation. Done means dimensions are supplied during creation and incompatible post-creation changes are no longer allowed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.