Compresses data and serializes it to an associated std::streambuf.
More...
#include <rw/tools/cmpstream.h>
|
| RWCompressedOStream (std::streambuf *stream_buffer, std::ios_base::openmode mode=std::ios_base::out, rwuint32 block_size=2048U, const Compressor &compressor=Compressor()) |
|
| RWCompressedOStream (std::ostream &stream, std::ios_base::openmode mode=std::ios_base::out, rwuint32 block_size=2048U, const Compressor &compressor=Compressor()) |
|
void | close () |
|
const Compressor & | get_compressor () const |
|
bool | is_open () const |
|
void | open (std::streambuf *stream_buffer, std::ios_base::openmode mode=std::ios_base::out, rwuint32 block_size=2048U) |
|
RWCompressedStreamBuffer< Compressor > * | rdbuf () const |
|
template<class Compressor>
class RWCompressedOStream< Compressor >
Class RWCompressedOStream compresses data and serializes it to an associated std::streambuf. The results can be restored by using its counterpart RWCompressedIStream.
- See also
- RWCompressedStreamBuffer
- Note
- RWCompressedOStream can be interrogated as to the stream state using member functions std::ios::good(), std::ios::bad(), std::ios::eof(), etc.
- Synopsis
#include <rw/tools/cmpstream.h>
- Persistence
- None
- Example
#include <rw/tools/cmpstream.h>
#include <rw/estream.h>
#include <rw/cstring.h>
#include <rw/tools/snappy/RWSnappyCompressor.h>
#include <fstream>
int main ()
{
std::ofstream output_file ("output.snap", std::ios_base::binary);
endian_stream << data;
return 0;
}
template<class Compressor>
RWCompressedOStream< Compressor >::RWCompressedOStream |
( |
std::streambuf * |
stream_buffer, |
|
|
std::ios_base::openmode |
mode = std::ios_base::out , |
|
|
rwuint32 |
block_size = 2048U , |
|
|
const Compressor & |
compressor = Compressor() |
|
) |
| |
|
inline |
Constructor initializes and opens the underlying stream buffer with the provided stream_buffer, mode, block_size, and compressor. If the open fails, failbit is set on this stream.
- Note
- The mode is always combined with the appropriate flags to allow the underlying stream buffer to be used for output.
- See also
- RWCompressedStreamBuffer::open()
template<class Compressor>
RWCompressedOStream< Compressor >::RWCompressedOStream |
( |
std::ostream & |
stream, |
|
|
std::ios_base::openmode |
mode = std::ios_base::out , |
|
|
rwuint32 |
block_size = 2048U , |
|
|
const Compressor & |
compressor = Compressor() |
|
) |
| |
|
inline |
Constructor initializes and opens the underlying stream buffer with the provided mode, block_size, compressor, and the stream buffer associated with stream. If the open fails, failbit is set on this stream.
- Note
- The mode is always combined with the appropriate flags to allow the underlying stream buffer to be used for output.
- See also
- RWCompressedStreamBuffer::open()
template<class Compressor>
Closes the underlying stream buffer. If the close fails, failbit is set on this stream. After this method has been called, this stream cannot be used for output until a successful call to open() has been made.
template<class Compressor>
Returns a reference to the underlying stream buffer's compressor.
template<class Compressor>
Returns true
if the underlying stream buffer is open and is ready for use, otherwise returns false
.
template<class Compressor>
void RWCompressedOStream< Compressor >::open |
( |
std::streambuf * |
stream_buffer, |
|
|
std::ios_base::openmode |
mode = std::ios_base::out , |
|
|
rwuint32 |
block_size = 2048U |
|
) |
| |
|
inline |
Opens the underlying stream buffer with the provided stream_buffer, mode, and block_size. If the open fails, failbit is set on this stream.
- Note
- The mode is always combined with the appropriate flags to allow the underlying stream buffer to be used for output.
- See also
- RWCompressedStreamBuffer::open()
template<class Compressor>
Returns a pointer to the underlying stream buffer.