# Poco

# class DeflatingIOS

Library: Foundation
Package: Streams
Header: Poco/DeflatingStream.h

## Description

The base class for DeflatingOutputStream and DeflatingInputStream.

This class is needed to ensure the correct initialization order of the stream buffer and base classes.

## Inheritance

Direct Base Classes: std::ios

All Base Classes: std::ios

Known Derived Classes: DeflatingOutputStream, DeflatingInputStream

## Member Summary

Member Functions: rdbuf

## Constructors

### DeflatingIOS

DeflatingIOS(
std::ostream & ostr,
DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB,
int level = DeflatingStreamBuf::DEFAULT_COMPRESSION
);

Creates a DeflatingIOS for compressing data passed through and forwarding it to the given output stream.

### DeflatingIOS

DeflatingIOS(
std::ostream & ostr,
int windowBits,
int level
);

Creates a DeflatingIOS for compressing data passed through and forwarding it to the given output stream.

Please refer to the zlib documentation of deflateInit2() for a description of the windowBits parameter.

### DeflatingIOS

DeflatingIOS(
std::istream & istr,
DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB,
int level = DeflatingStreamBuf::DEFAULT_COMPRESSION
);

Creates a DeflatingIOS for compressing data read from the given input stream.

### DeflatingIOS

DeflatingIOS(
std::istream & istr,
int windowBits,
int level
);

Creates a DeflatingIOS for compressing data read from the given input stream.

Please refer to the zlib documentation of deflateInit2() for a description of the windowBits parameter.

## Destructor

### ~DeflatingIOS

~DeflatingIOS() override;

Destroys the DeflatingIOS.

## Member Functions

### rdbuf

DeflatingStreamBuf * rdbuf();

Returns a pointer to the underlying stream buffer.

## Variables

### _buf

DeflatingStreamBuf _buf;