# Poco

# class InflatingIOS

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

## Description

The base class for InflatingOutputStream and InflatingInputStream.

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: InflatingOutputStream, InflatingInputStream

## Member Summary

Member Functions: rdbuf

## Constructors

### InflatingIOS

InflatingIOS(
std::ostream & ostr,
InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB
);

Creates an InflatingIOS for expanding the compressed data passed through and forwarding it to the given output stream.

### InflatingIOS

InflatingIOS(
std::ostream & ostr,
int windowBits
);

Creates an InflatingIOS for expanding the compressed data passed through and forwarding it to the given output stream.

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

### InflatingIOS

InflatingIOS(
std::istream & istr,
InflatingStreamBuf::StreamType type = InflatingStreamBuf::STREAM_ZLIB
);

Creates an InflatingIOS for expanding the compressed data read from the given input stream.

### InflatingIOS

InflatingIOS(
std::istream & istr,
int windowBits
);

Creates an InflatingIOS for expanding the compressed data read from the given input stream.

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

## Destructor

### ~InflatingIOS

~InflatingIOS() override;

Destroys the InflatingIOS.

## Member Functions

### rdbuf

InflatingStreamBuf * rdbuf();

Returns a pointer to the underlying stream buffer.

## Variables

### _buf

InflatingStreamBuf _buf;