|
Rosetta
|
A stream decorator that takes raw input and zips it to a ostream. More...
#include <zipstream.hpp>

Public Types | |
| typedef std::basic_streambuf< Elem, Tr > | basic_streambuf_type |
| typedef std::basic_ostream< Elem, Tr > & | ostream_reference |
| typedef Elem | char_type |
| typedef ElemA | char_allocator_type |
| typedef ByteT | byte_type |
| typedef ByteAT | byte_allocator_type |
| typedef byte_type * | byte_buffer_type |
| typedef std::vector< byte_type, byte_allocator_type > | byte_vector_type |
| typedef std::vector< char_type, char_allocator_type > | char_vector_type |
| typedef Tr | traits_type |
| typedef Tr::int_type | int_type |
Public Member Functions | |
| basic_zip_streambuf (ostream_reference ostream_, size_t level_, EStrategy strategy_, size_t window_size_, size_t memory_level_, size_t buffer_size_) | |
| Construct a zip stream. More... | |
| ~basic_zip_streambuf () override | |
| int | sync () override |
| int_type | overflow (int_type c) override |
| std::streamsize | flush () |
| flushes the zip buffer and output buffer More... | |
| std::streamsize | flush_finalize () |
| flushes the zip buffer and output buffer and finalize the zip stream More... | |
| void | reset_state () |
| resets the zip stream and zeros the crc More... | |
| ostream_reference | get_ostream () const |
| returns a reference to the output stream More... | |
| int | get_zerr () const |
| returns the latest zlib error status More... | |
| uLong | get_crc () const |
| returns the crc of the input data compressed so far More... | |
| uLong | get_in_size () const |
| returns the size (bytes) of the input data compressed so far More... | |
| uLong | get_out_size () const |
| returns the size (bytes) of the compressed data so far More... | |
Private Member Functions | |
| bool | zip_to_stream (char_type *, std::streamsize) |
| size_t | fill_input_buffer () |
| std::streamsize | flush (int flush_mode) |
| flush the zip buffer using a particular mode and flush output buffer More... | |
Private Attributes | |
| ostream_reference | m_ostream |
| z_stream | m_zip_stream |
| int | m_err |
| byte_vector_type | m_output_buffer |
| char_vector_type | m_buffer |
| uLong | m_crc |
A stream decorator that takes raw input and zips it to a ostream.
| typedef std::basic_streambuf< Elem, Tr > zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::basic_streambuf_type |
| typedef ByteAT zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::byte_allocator_type |
| typedef byte_type* zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::byte_buffer_type |
| typedef ByteT zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::byte_type |
| typedef std::vector< byte_type, byte_allocator_type > zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::byte_vector_type |
| typedef ElemA zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::char_allocator_type |
| typedef Elem zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::char_type |
| typedef std::vector< char_type, char_allocator_type > zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::char_vector_type |
| typedef Tr::int_type zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::int_type |
| typedef std::basic_ostream< Elem, Tr >& zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::ostream_reference |
| typedef Tr zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::traits_type |
| zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::basic_zip_streambuf | ( | ostream_reference | ostream_, |
| size_t | level_, | ||
| EStrategy | strategy_, | ||
| size_t | window_size_, | ||
| size_t | memory_level_, | ||
| size_t | buffer_size_ | ||
| ) |
Construct a zip stream.
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_buffer, zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_err, zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_zip_stream, and min().
|
override |
|
private |
| std::streamsize zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::flush |
flushes the zip buffer and output buffer
Referenced by zlib_stream::basic_zip_ostream< Elem, Tr, ElemA, ByteT, ByteAT >::zflush().
|
private |
flush the zip buffer using a particular mode and flush output buffer
References numeric::remainder().
| std::streamsize zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::flush_finalize |
flushes the zip buffer and output buffer and finalize the zip stream
This method should be called at the end of the compression.
Referenced by zlib_stream::basic_zip_ostream< Elem, Tr, ElemA, ByteT, ByteAT >::zflush_finalize().
|
inline |
returns the crc of the input data compressed so far
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_crc.
Referenced by zlib_stream::basic_zip_ostreambase< Elem, Tr, ElemA, ByteT, ByteAT >::get_crc().
|
inline |
returns the size (bytes) of the input data compressed so far
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_zip_stream.
Referenced by zlib_stream::basic_zip_ostreambase< Elem, Tr, ElemA, ByteT, ByteAT >::get_in_size().
|
inline |
returns a reference to the output stream
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_ostream.
|
inline |
returns the size (bytes) of the compressed data so far
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_zip_stream.
Referenced by zlib_stream::basic_zip_ostreambase< Elem, Tr, ElemA, ByteT, ByteAT >::get_out_size().
|
inline |
returns the latest zlib error status
References zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::m_err.
|
override |
| void zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::reset_state |
resets the zip stream and zeros the crc
This method should be called after flush_finalize() @deatils to allow future writes
Referenced by zlib_stream::basic_zip_ostream< Elem, Tr, ElemA, ByteT, ByteAT >::reset_zip_stream().
|
override |
|
private |
References numeric::remainder().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |