Helper class to compress data blocks in the ROOT compression frame format.
Definition at line 40 of file RNTupleZip.hxx.
Public Types | |
using | Writer_t = std::function<void(const void *buffer, size_t nbytes, size_t offset)> |
Data might be overwritten, if a zipped block in the middle of a large input data stream turns out to be uncompressible. | |
Public Member Functions | |
RNTupleCompressor () | |
RNTupleCompressor (const RNTupleCompressor &other)=delete | |
RNTupleCompressor (RNTupleCompressor &&other)=default | |
void * | GetZipBuffer () |
RNTupleCompressor & | operator= (const RNTupleCompressor &other)=delete |
RNTupleCompressor & | operator= (RNTupleCompressor &&other)=default |
size_t | Zip (const void *from, size_t nbytes, int compression) |
Returns the size of the compressed data block. | |
size_t | Zip (const void *from, size_t nbytes, int compression, Writer_t fnWriter) |
Returns the size of the compressed data. | |
Static Public Member Functions | |
static Writer_t | MakeMemCopyWriter (unsigned char *dest) |
static std::size_t | Zip (const void *from, std::size_t nbytes, int compression, void *to) |
Returns the size of the compressed data, written into the provided output buffer. | |
Static Public Attributes | |
static constexpr size_t | kMaxSingleBlock = kMAXZIPBUF |
Private Types | |
using | Buffer_t = std::array<unsigned char, kMAXZIPBUF> |
Private Attributes | |
std::unique_ptr< Buffer_t > | fZipBuffer |
#include <ROOT/RNTupleZip.hxx>
|
private |
Definition at line 42 of file RNTupleZip.hxx.
using ROOT::Experimental::Internal::RNTupleCompressor::Writer_t = std::function<void(const void *buffer, size_t nbytes, size_t offset)> |
Data might be overwritten, if a zipped block in the middle of a large input data stream turns out to be uncompressible.
Definition at line 48 of file RNTupleZip.hxx.
|
inline |
Definition at line 55 of file RNTupleZip.hxx.
|
delete |
|
default |
|
inline |
Definition at line 168 of file RNTupleZip.hxx.
|
inlinestatic |
Definition at line 49 of file RNTupleZip.hxx.
|
delete |
|
default |
|
inline |
Returns the size of the compressed data block.
The data is written into the zip buffer. This works only for small input buffer up to 16MB (kMAXZIPBUF)
Definition at line 103 of file RNTupleZip.hxx.
|
inline |
Returns the size of the compressed data.
Data is compressed in 16MB (kMAXZIPBUF) blocks and written piecewise using the provided writer
Definition at line 63 of file RNTupleZip.hxx.
|
inlinestatic |
Returns the size of the compressed data, written into the provided output buffer.
Definition at line 130 of file RNTupleZip.hxx.
|
private |
Definition at line 43 of file RNTupleZip.hxx.
|
staticconstexpr |
Definition at line 53 of file RNTupleZip.hxx.