Native Zip package support is available in .NET(ZipPackage) and
Java(ZipInputStream/ZipOutputStream). After some investigation, I
decided to choose the Java style interface which is more confortable in
look and feel. I had a glance at zlib/contrib/minizip, boost.Iostreams
library and finally decided to write from scratch because minizip just
provide C interface and boost.Iostreams does not support package (maybe
I am wrong). Here are some useful reference during my
implementation.
http://www.codeproject.com/KB/stl/zipstream.aspx
zipstream, bzip2stream: iostream wrappers for the zlib and bzip2
libraries
By Jonathan de Halleux
STL compliant, stream-to-stream, zlib and bzip2 wrapper with wide char
support.
http://www.codeproject.com/KB/cpp/zipunzip.aspx
Win32 Wrapper classes for Gilles Volant's Zip/Unzip API
By .dan.g.
High level wrapping of the zlib library to make easy work of zipping
and unzipping files and folders
http://www.cs.unc.edu/Research/compgeom/gzstream/
Gzstream is a small C++ library, basically just a wrapper, that
provides the functionality of the zlib C-library in a C++ iostream. It
is freely available under the LGPL license.
http://www.boost.org/doc/libs/1_38_0/libs/iostreams/doc/index.html
The Boost Iostreams Library