Minsky
minsky::InflateZStream Struct Reference

#include <zStream.h>

Inheritance diagram for minsky::InflateZStream:
Inheritance graph
Collaboration diagram for minsky::InflateZStream:
Collaboration graph

Public Member Functions

template<class I >
 InflateZStream (const I &input)
 
 ~InflateZStream ()
 
void inflate ()
 
void throwError ()
 
- Public Member Functions inherited from minsky::ZStream
 ZStream (Bytef *input, std::size_t inputSize, Bytef *output, std::size_t outputSize)
 
void throwError () const
 

Public Attributes

classdesc::pack_t output {256}
 
Bytef * inputData
 
std::size_t inputSize
 

Detailed Description

Definition at line 59 of file zStream.h.

Constructor & Destructor Documentation

◆ InflateZStream()

template<class I >
minsky::InflateZStream::InflateZStream ( const I &  input)
inline

Definition at line 66 of file zStream.h.

References output, and throwError().

66  :
67  ZStream((Bytef*)input.data(), input.size(), 0,0),
68  inputData((Bytef*)input.data()),inputSize(input.size())
69  {
70  next_out=(Bytef*)output.data();
71  avail_out=output.size();
72  if (inflateInit(this)!=Z_OK) throwError();
73  }
Definition: input.py:1
ZStream(Bytef *input, std::size_t inputSize, Bytef *output, std::size_t outputSize)
Definition: zStream.h:30
classdesc::pack_t output
Definition: zStream.h:61
std::size_t inputSize
Definition: zStream.h:63
Here is the call graph for this function:

◆ ~InflateZStream()

minsky::InflateZStream::~InflateZStream ( )
inline

Definition at line 74 of file zStream.h.

74 {inflateEnd(this);}

Member Function Documentation

◆ inflate()

void minsky::InflateZStream::inflate ( )
inline

Definition at line 76 of file zStream.h.

References inputData, inputSize, output, and throwError().

76  {
77  int err;
78  while ((err=::inflate(this,Z_SYNC_FLUSH))==Z_OK)
79  {
80  // try doubling size
81  output.resize(2*output.size());
82  next_out=(Bytef*)(output.data())+total_out;
83  avail_out=output.size()-total_out;
84  next_in=inputData+total_in;
85  avail_in=inputSize-total_in;
86  }
87  if (err!=Z_STREAM_END) throwError();
88  }
classdesc::pack_t output
Definition: zStream.h:61
std::size_t inputSize
Definition: zStream.h:63
Here is the call graph for this function:

◆ throwError()

void minsky::InflateZStream::throwError ( )
inline

Definition at line 89 of file zStream.h.

Referenced by inflate(), and InflateZStream().

89  {
90  throw std::runtime_error(std::string("compression failure: ")+(msg? msg:""));
91  }
Here is the caller graph for this function:

Member Data Documentation

◆ inputData

Bytef* minsky::InflateZStream::inputData

Definition at line 62 of file zStream.h.

Referenced by inflate().

◆ inputSize

std::size_t minsky::InflateZStream::inputSize

Definition at line 63 of file zStream.h.

Referenced by inflate().

◆ output

classdesc::pack_t minsky::InflateZStream::output {256}

Definition at line 61 of file zStream.h.

Referenced by inflate(), and InflateZStream().


The documentation for this struct was generated from the following file: