zipios++  2.0.2
Zipios++ – a small C++ library that provides easy access to .zip files.
zipinputstream.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef ZIPINPUTSTREAM_HPP
3 #define ZIPINPUTSTREAM_HPP
4 
5 /*
6  Zipios++ - a small C++ library that provides easy access to .zip files.
7 
8  Copyright (C) 2000-2007 Thomas Sondergaard
9  Copyright (C) 2015 Made to Order Software Corporation
10 
11  This library is free software; you can redistribute it and/or
12  modify it under the terms of the GNU Lesser General Public
13  License as published by the Free Software Foundation; either
14  version 2 of the License, or (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  Lesser General Public License for more details.
20 
21  You should have received a copy of the GNU Lesser General Public
22  License along with this library; if not, write to the Free Software
23  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25 
35 #include "zipinputstreambuf.hpp"
36 
37 
38 namespace zipios
39 {
40 
41 
42 
43 class ZipInputStream : public std::istream
44 {
45 public:
46  ZipInputStream(std::string const& filename, std::streampos pos = 0);
47  ZipInputStream(ZipInputStream const& src) = delete;
48  ZipInputStream const& operator = (ZipInputStream const& src) = delete;
49  virtual ~ZipInputStream() override;
50 
51 private:
52  std::unique_ptr<std::ifstream> m_ifs;
53  std::unique_ptr<ZipInputStreambuf> m_izf;
54 };
55 
56 
57 } // zipios namespace
58 
59 // Local Variables:
60 // mode: cpp
61 // indent-tabs-mode: nil
62 // c-basic-offset: 4
63 // tab-width: 4
64 // End:
65 
66 // vim: ts=4 sw=4 et
67 #endif
std::unique_ptr< ZipInputStreambuf > m_izf
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.
ZipInputStream const & operator=(ZipInputStream const &src)=delete
Define the zipios::ZipInputStreambuf class.
std::unique_ptr< std::ifstream > m_ifs
The ZipInputStream to read data from a Zip archive.