|
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 |