ritsuko
Helper utilities for ArtifactDB C++ code
|
Stream a 1-dimensional VLS array into memory. More...
#include <Stream1dArray.hpp>
Public Member Functions | |
Stream1dArray (const H5::DataSet *pointers, const H5::DataSet *heap, hsize_t length, hsize_t buffer_size) | |
Stream1dArray (const H5::DataSet *pointers, const H5::DataSet *heap, hsize_t buffer_size) | |
std::string | get () |
std::string | steal () |
void | next (size_t jump=1) |
hsize_t | length () const |
hsize_t | position () const |
Stream a 1-dimensional VLS array into memory.
Offset_ | Unsigned integer type for the starting offset on the heap. |
Length_ | Unsigned integer type for the length of the string. |
This streams in a 1-dimensional VLS array in contiguous blocks, using block sizes defined by pick_1d_block_size()
. Callers can then iterate over the individual strings.
|
inline |
pointers | Pointer to a HDF5 dataset handle containing the VLS pointers, see open_pointers() . |
heap | Pointer to a HDF5 dataset handle containing the VLS heap, see open_heap() . |
length | Length of the pointers dataset as a 1-dimensional vector. |
buffer_size | Size of the buffer for holding streamed blocks of strings. Larger buffers improve speed at the cost of some memory efficiency. |
|
inline |
Overloaded constructor where the length is automatically determined.
pointers | Pointer to a HDF5 dataset handle containing the VLS pointers, see open_pointers() . |
heap | Pointer to a HDF5 dataset handle containing the VLS heap, see open_heap() . |
buffer_size | Size of the buffer for holding streamed blocks of strings. Larger buffers improve speed at the cost of some memory efficiency. |
|
inline |
|
inline |
|
inline |
Advance to the next position of the stream.
jump | Number of positions by which to advance the stream. |
|
inline |
|
inline |