zipios++  2.0.2
Zipios++ – a small C++ library that provides easy access to .zip files.
virtualseeker.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef ZIPIOS_VIRTUALSEEKER_HPP
3 #define ZIPIOS_VIRTUALSEEKER_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 
40 
41 
42 namespace zipios
43 {
44 
45 
47 {
48 public:
49  VirtualSeeker(offset_t start_offset = 0, offset_t end_offset = 0);
50 
51  void setOffsets(offset_t start_offset, offset_t end_offset);
52  void getOffsets(offset_t& start_offset, offset_t& end_offset) const;
53  offset_t startOffset() const;
54  offset_t endOffset() const;
55  void vseekg(std::istream& is, offset_t offset, std::ios::seekdir sd) const;
56  std::streampos vtellg(std::istream& is) const;
57 
58 private:
61 };
62 
63 
64 } // zipios namespace
65 
66 // Local Variables:
67 // mode: cpp
68 // indent-tabs-mode: nil
69 // c-basic-offset: 4
70 // tab-width: 4
71 // End:
72 
73 // vim: ts=4 sw=4 et
74 #endif
offset_t startOffset() const
Return the start offset.
offset_t endOffset() const
Return the end offset.
A virtual class used to see in a file embedded in another.
void setOffsets(offset_t start_offset, offset_t end_offset)
Set the offsets of the virtual seeker.
void getOffsets(offset_t &start_offset, offset_t &end_offset) const
Retrieve the current offsets.
zipios configuration header.
VirtualSeeker(offset_t start_offset=0, offset_t end_offset=0)
Create a virtual seeker.
void vseekg(std::istream &is, offset_t offset, std::ios::seekdir sd) const
Seek within the embedded file.
std::streamoff offset_t
std::streampos vtellg(std::istream &is) const
Current position within the sub-file.