20 #ifndef TPIE_COMPRESSED_SCHEME_H
21 #define TPIE_COMPRESSED_SCHEME_H
70 virtual void compress(
char * dest,
const char * src,
size_t srcSize,
size_t * destSize)
const = 0;
80 virtual void uncompress(
char * dest,
const char * src,
size_t srcSize)
const = 0;
91 case compression_scheme::none:
92 return get_compression_scheme_none();
93 case compression_scheme::snappy:
94 return get_compression_scheme_snappy();
96 return get_compression_scheme_none();
101 #endif // TPIE_COMPRESSED_SCHEME_H
No written blocks should be compressed.
virtual void compress(char *dest, const char *src, size_t srcSize, size_t *destSize) const =0
Compress data from src into dest, returning its size in destSize.
Abstract virtual base class for each compression scheme.
virtual size_t max_compressed_length(size_t srcSize) const =0
An upper bound on the size of a compressed block corresponding to an uncompressed input of size srcSi...
compression_flags
Possible values for the compressionFlags parameter to stream::open.
Compress some blocks according to available resources (time, memory).
virtual void uncompress(char *dest, const char *src, size_t srcSize) const =0
Uncompress a compressed block at src into dest.
virtual size_t uncompressed_length(const char *src, size_t srcSize) const =0
Get the uncompressed size of the compressed block at src.
Compress all blocks according to the preferred compression scheme which can be set using tpie::the_co...