Builds an IndexedArray which consists of an index
buffer. It is a general-purpose tool for changing the order of and/or duplicating some content.
More...
#include <LayoutBuilder.h>
Public Member Functions | |
Indexed () | |
Creates a new Indexed layout builder by allocating a new index buffer, using default_options for initializing the buffer. | |
Indexed (const awkward::BuilderOptions &options) | |
Creates a new Indexed layout builder by allocating a new index buffer, taking options from BuilderOptions for initializing the buffer. | |
BUILDER & | content () noexcept |
Returns the reference to the builder content. | |
BUILDER & | append_index () noexcept |
Inserts the last valid index in the index buffer and returns the reference to the builder content. | |
BUILDER & | extend_index (size_t size) noexcept |
Inserts size number of valid index in the index buffer and returns the reference to the builder content. | |
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 index and clears the content of the builder. Also, last valid returns to -1 . | |
size_t | length () const noexcept |
Current length of the content and the index buffer. | |
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 an IndexedArray which consists of an index
buffer. It is a general-purpose tool for changing the order of and/or duplicating some content.
The index values can be 64-bit signed integers int64
, 32-bit signed integers int32
or 32-bit unsigned integers uint32
.
PRIMITIVE | The type of index buffer. |
BUILDER | The type of builder content. |
Creates a new Indexed layout builder by allocating a new index
buffer, using default_options
for initializing the buffer.
|
inline |
Creates a new Indexed layout builder by allocating a new index
buffer, taking options
from BuilderOptions
for initializing the buffer.
options | Initial size configuration of a buffer. |
Inserts the last valid index in the index
buffer 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 index and clears the content of the builder. Also, last valid returns to -1
.
Returns the reference to the builder content.
Inserts size
number of valid index in the index
buffer and returns the reference to the builder content.
Just an interface; not actually faster than calling append many times.
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 and the index
buffer.
|
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