zipios 2.3.4
Zipios -- a small C++ library providing easy access to .zip files.
Public Member Functions | Private Attributes | List of all members
zipios::ZipInputStream Class Reference

The ZipInputStream to read data from a Zip archive. More...

#include <zipinputstream.hpp>

Inheritance diagram for zipios::ZipInputStream:
Inheritance graph
[legend]
Collaboration diagram for zipios::ZipInputStream:
Collaboration graph
[legend]

Public Member Functions

 ZipInputStream (std::istream &is)
 
 ZipInputStream (std::string const &filename, std::streampos pos=0)
 Initialize a ZipInputStream from a filename and position.
 
 ZipInputStream (ZipInputStream const &rhs)=delete
 
virtual ~ZipInputStream () override
 Clean up the input stream.
 
ZipInputStreamoperator= (ZipInputStream const &rhs)=delete
 

Private Attributes

std::unique_ptr< std::istream > m_ifs = std::unique_ptr<std::istream>()
 
std::istream & m_ifs_ref
 
std::unique_ptr< ZipInputStreambufm_izf = std::unique_ptr<ZipInputStreambuf>()
 

Detailed Description

ZipInputStream is an istream that gets its input from a zip file. The interface was redesigned in version 2.x to be more C++ like.

Note
The getNextEntry() was removed because we cannot make it work here. The old implementation would let someone read all the local directory entries one after another. Only that is not correct and since this class is not publicly exposed anymore, it wouldn't be available anyway.

Definition at line 43 of file zipinputstream.hpp.

Constructor & Destructor Documentation

◆ ZipInputStream() [1/3]

zipios::ZipInputStream::ZipInputStream ( std::string const &  filename,
std::streampos  pos = 0 
)

This constructor creates a ZIP file stream by attaching itself to a file as defined by the specified filename and a position to the header of the file being read.

Parameters
[in]filenameThe name of a valid zip file.
[in]posposition to reposition the istream to before reading.

Definition at line 62 of file zipinputstream.cpp.

References m_izf.

◆ ZipInputStream() [2/3]

zipios::ZipInputStream::ZipInputStream ( std::istream &  is)

Definition at line 73 of file zipinputstream.cpp.

References m_izf.

◆ ZipInputStream() [3/3]

zipios::ZipInputStream::ZipInputStream ( ZipInputStream const &  rhs)
delete

◆ ~ZipInputStream()

zipios::ZipInputStream::~ZipInputStream ( )
overridevirtual

The destructor ensures that all resources used by the class get released.

Definition at line 88 of file zipinputstream.cpp.

Member Function Documentation

◆ operator=()

ZipInputStream & zipios::ZipInputStream::operator= ( ZipInputStream const &  rhs)
delete

Member Data Documentation

◆ m_ifs

std::unique_ptr<std::istream> zipios::ZipInputStream::m_ifs = std::unique_ptr<std::istream>()
private

Definition at line 54 of file zipinputstream.hpp.

◆ m_ifs_ref

std::istream& zipios::ZipInputStream::m_ifs_ref
private

Definition at line 55 of file zipinputstream.hpp.

◆ m_izf

std::unique_ptr<ZipInputStreambuf> zipios::ZipInputStream::m_izf = std::unique_ptr<ZipInputStreambuf>()
private

Definition at line 56 of file zipinputstream.hpp.

Referenced by ZipInputStream(), and ZipInputStream().


The documentation for this class was generated from the following files: