Skip to content

DPL: Allow passing labeled arrays through command line - #15926

Open
aalkin wants to merge 3 commits into
AliceO2Group:devfrom
aalkin:add-labeled-array-command-line-pass
Open

aalkin wants to merge 3 commits into
AliceO2Group:devfrom
aalkin:add-labeled-array-command-line-pass

Conversation

@aalkin

@aalkin aalkin commented Oct 11, 2026

Copy link
Copy Markdown
Member

Based on required #15880.

Labeled array can already be serialized, put into and retrieved from a ptree. As JSON it thus can be passed through command line. The only caveat is to make sure that the command line option help text does not contain full, for which there is an option in boost.

The copy and move assignment operators overwrote the data pointer
without releasing the previous buffer, leaking it on every assignment
to a non-empty array

Copy self-assignment also allocated the new buffer before reading from
the source, so the array was filled from its own uninitialised memory.

Now guards against self-assignment and releases the old buffer.
Copy and move of Variants holding Array2D, LabeledArray or string array
values copied the storage byte by byte, so copies shared the same heap
buffers, and the destructor never destroyed these objects, leaking them.
Assignments never released the previous content, move assignment of
strings and arrays duplicated the buffer and dropped the original one,
and move assignment of string arrays corrupted the source vector.
* Protect from long default values in `--help` output by adding a size
  limit and manually adding reduced string representation
* Use pre-existing to/from JSON conversions to dump and retrieve
  labeled arrays in command line
* Allow passing only values if the labels do not change from defaults
* Test options retrieval for the driver and devices

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant