zipios++  2.0.2
Zipios++ – a small C++ library that provides easy access to .zip files.
zipinputstream.cpp
Go to the documentation of this file.
1 /*
2  Zipios++ - a small C++ library that provides easy access to .zip files.
3 
4  Copyright (C) 2000-2007 Thomas Sondergaard
5  Copyright (C) 2015 Made to Order Software Corporation
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21 
30 #include "zipinputstream.hpp"
31 
32 #include <fstream>
33 
34 
35 namespace zipios
36 {
37 
38 
62 ZipInputStream::ZipInputStream(std::string const& filename, std::streampos pos)
63  : std::istream(nullptr)
64  , m_ifs(new std::ifstream(filename, std::ios::in | std::ios::binary))
65  , m_izf(new ZipInputStreambuf(m_ifs->rdbuf(), pos))
66 {
67  // properly initialize the stream with the newly allocated buffer
68  init(m_izf.get());
69 }
70 
71 
78 {
79 }
80 
81 
82 } // zipios namespace
83 
84 // Local Variables:
85 // mode: cpp
86 // indent-tabs-mode: nil
87 // c-basic-offset: 4
88 // tab-width: 4
89 // End:
90 
91 // vim: ts=4 sw=4 et
Define zipios::ZipInputStream.
std::unique_ptr< ZipInputStreambuf > m_izf
An input stream buffer for Zip data.
ZipInputStream(std::string const &filename, std::streampos pos=0)
Initialize a ZipInputStream from a filename and position.
virtual ~ZipInputStream() override
Clean up the input stream.