|
| BitMasked () |
| Creates a new BitMasked layout builder by allocating a new mask buffer, using AWKWARD_LAYOUTBUILDER_DEFAULT_OPTIONS for initializing the buffer.
|
|
| BitMasked (const awkward::BuilderOptions &options) |
| Creates a new BitMasked layout builder by allocating a new mask buffer, taking options from BuilderOptions for initializing the buffer.
|
|
BUILDER & | content () noexcept |
| Returns the reference to the builder content.
|
|
bool | valid_when () const noexcept |
| Determines when the builder content are valid.
|
|
bool | lsb_order () const noexcept |
| Determines whether the position of each bit is in Least-Significant Bit order (LSB) or not.
|
|
BUILDER & | append_valid () noexcept |
| Sets a bit in the mask. If current_byte_ and cast_: 0 indicates null , 1 indicates valid and vice versa.
|
|
BUILDER & | extend_valid (size_t size) noexcept |
| Sets size number of bits in the mask. If current_byte_ and cast_: 0 indicates null , 1 indicates valid and vice versa.
|
|
BUILDER & | append_invalid () noexcept |
| Sets current_byte_ and cast_ default to null, no change in current_byte_.
|
|
BUILDER & | extend_invalid (size_t size) noexcept |
| Sets current_byte_ and cast_ default to null, no change in current_byte_.
|
|
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 mask and clears the content of the builder.
|
|
size_t | length () const noexcept |
| Current length of the mask 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_buffer (void *buffer, const char *name) const noexcept |
| Copies and concatenates the accumulated data in the builder buffer to a user-defined pointer if the given node name matches with the node associated with the builder; otherwise, it searches the builder contents to locate a matching node.
|
|
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.
|
|
template<bool VALID_WHEN, bool LSB_ORDER, typename BUILDER>
class awkward::LayoutBuilder::BitMasked< VALID_WHEN, LSB_ORDER, BUILDER >
Builds a BitMaskedArray in which mask values are packed into a bitmap.
It has an additional parameter, lsb_order; If true
, the position of each bit is in Least-Significant Bit order (LSB)
and if it is false
, then in Most-Significant Bit / order (MSB)
.
This is similar to NumPy's
[unpackbits](https://numpy.org/doc/stable/reference/generated/numpy.unpackbits.html)
with `bitorder="little"` for LSB, `bitorder="big"` for MSB.
@tparam VALID_WHEN A boolean value which determines when the builder content are valid.
@tparam LSB_ORDER A boolean value which determines whether the position of each bit is
in LSB order or not.
@tparam BUILDER The type of builder content.
template<bool VALID_WHEN, bool LSB_ORDER, typename BUILDER >
BUILDER & append_invalid |
( |
| ) |
|
|
inlinenoexcept |
Sets current_byte_ and cast_ default to null, no change in current_byte_.
After this, a dummy (invalid) value is inserted in the builder content.
template<bool VALID_WHEN, bool LSB_ORDER, typename BUILDER >
BUILDER & append_valid |
( |
| ) |
|
|
inlinenoexcept |
Sets a bit in the mask. If current_byte_ and cast_: 0
indicates null
, 1
indicates valid
and vice versa.
After this, a valid element is inserted in the builder content.
template<bool VALID_WHEN, bool LSB_ORDER, typename BUILDER >
BUILDER & extend_invalid |
( |
size_t | size | ) |
|
|
inlinenoexcept |
Sets current_byte_ and cast_ default to null, no change in current_byte_.
After this, size
number of dummy (invalid) values are inserted in the builder content.
Just an interface; not actually faster than calling append many times.
template<bool VALID_WHEN, bool LSB_ORDER, typename BUILDER >
BUILDER & extend_valid |
( |
size_t | size | ) |
|
|
inlinenoexcept |
Sets size
number of bits in the mask. If current_byte_ and cast_: 0
indicates null
, 1
indicates valid
and vice versa.
After this, size
number of valid elements are inserted in the builder content.
Just an interface; not actually faster than calling append many times.