Builds a ListOffsetArray which describes unequal-length lists (often called a "jagged" or "ragged" array). The underlying data for all lists are in a BUILDER content. It is subdivided into lists according to an offsets array, which specifies the starting and stopping index of each list. More...
#include <LayoutBuilder.h>
Public Member Functions | |
ListOffset () | |
Creates a new ListOffset layout builder by allocating a new offset buffer, using default_options for initializing the buffer. | |
ListOffset (const awkward::BuilderOptions &options) | |
Creates a new ListOffset layout builder by allocating a new offset buffer, taking options from BuilderOptions for initializing the buffer. | |
BUILDER & | content () noexcept |
Returns the reference to the builder content. | |
BUILDER & | begin_list () noexcept |
Begins a list and returns the reference to the builder content. | |
void | end_list () noexcept |
Ends a list and appends the current length of the list contents in the offsets buffer. | |
const std::string & | parameters () const noexcept |
Parameters for the builder form. | |
void | set_parameters (std::string parameter) noexcept |
Sets the form parameters. | |
void | set_id (size_t &id) noexcept |
Assigns a unique ID to each node. | |
void | clear () noexcept |
Discards the accumulated offsets and clears the builder content. | |
size_t | length () const noexcept |
Current length of the content. | |
bool | is_valid (std::string &error) const noexcept |
Checks for validity and consistency. | |
void | buffer_nbytes (std::map< std::string, size_t > &names_nbytes) const noexcept |
Retrieves the names and sizes (in bytes) of the buffers used in the builder and its contents. | |
void | to_buffers (std::map< std::string, void * > &buffers) const noexcept |
Copies and concatenates all the accumulated data in each of the buffers of the builder and its contents to user-defined pointers. | |
void | to_char_buffers (std::map< std::string, uint8_t * > &buffers) const noexcept |
Copies and concatenates all the accumulated data in the builder to a map of user-allocated buffers. | |
std::string | form () const noexcept |
Generates a unique description of the builder and its contents in the form of a JSON-like string. | |
Builds a ListOffsetArray which describes unequal-length lists (often called a "jagged" or "ragged" array). The underlying data for all lists are in a BUILDER content. It is subdivided into lists according to an offsets array, which specifies the starting and stopping index of each list.
The offsets must have at least length 1
(corresponding to an empty array).
The offsets values can be 64-bit signed integers int64
, 32-bit signed integers int32
or 32-bit unsigned integers uint32
.
PRIMITIVE | The type of offsets buffer. |
BUILDER | The type of builder content. |
|
inline |
Creates a new ListOffset layout builder by allocating a new offset
buffer, using default_options
for initializing the buffer.
|
inline |
Creates a new ListOffset layout builder by allocating a new offset
buffer, taking options
from BuilderOptions
for initializing the buffer.
options | Initial size configuration of a buffer. |
Begins a list and returns the reference to the builder content.
Retrieves the names and sizes (in bytes) of the buffers used in the builder and its contents.
Discards the accumulated offsets and clears the builder content.
Returns the reference to the builder content.
Ends a list and appends the current length of the list contents in the offsets
buffer.
Generates a unique description of the builder and its contents in the form of a JSON-like string.
|
inlinenoexcept |
Checks for validity and consistency.
Current length of the content.
|
inlinenoexcept |
Parameters for the builder form.
Assigns a unique ID to each node.
|
inlinenoexcept |
Sets the form parameters.
Copies and concatenates all the accumulated data in each of the buffers of the builder and its contents to user-defined pointers.
Used to fill the buffers map by allocating it with user-defined pointers using the same names and sizes (in bytes) obtained from buffer_nbytes.
Copies and concatenates all the accumulated data in the builder to a map of user-allocated buffers.
The map keys and the buffer sizes are obtained from buffer_nbytes