| zipios 2.3.4
    Zipios -- a small C++ library providing easy access to .zip files. | 
The zipios namespace includes the Zipios library definitions. More...
| Namespaces | |
| namespace | anonymous_namespace{collectioncollection.cpp} | 
| namespace | anonymous_namespace{dosdatetime.cpp} | 
| namespace | anonymous_namespace{filecollection.cpp} | 
| namespace | anonymous_namespace{filepath.cpp} | 
| namespace | anonymous_namespace{zipcentraldirectoryentry.cpp} | 
| namespace | anonymous_namespace{zipendofcentraldirectory.cpp} | 
| Private definitions of the ZipEndOfCentralDirectory class. | |
| namespace | anonymous_namespace{ziplocalentry.cpp} | 
| Various definitions for local blocks. | |
| namespace | anonymous_namespace{zipoutputstreambuf.cpp} | 
| Classes | |
| class | BackBuffer | 
| To read a file by chunk from the end.  More... | |
| class | CollectionCollection | 
| A collection of collections.  More... | |
| class | DeflateOutputStreambuf | 
| A class to handle stream deflate on the fly.  More... | |
| class | DirectoryCollection | 
| A collection generated from reading a directory.  More... | |
| class | DirectoryEntry | 
| A file entry that does not use compression.  More... | |
| class | DOSDateTime | 
| union | dosdatetime_convert_t | 
| Union used to convert the uint32_t to fields and vice versa.  More... | |
| class | Exception | 
| Base exception of the zipios environment.  More... | |
| class | FileCollection | 
| Base class for various file collections.  More... | |
| class | FileCollectionException | 
| FileCollectionException is used to signal a FileCollection problem.  More... | |
| class | FileEntry | 
| A FileEntry represents an entry in a FileCollection.  More... | |
| class | FilePath | 
| Handle a file path and name and its statistics.  More... | |
| class | FilterInputStreambuf | 
| A base class to develop input stream filters.  More... | |
| class | FilterOutputStreambuf | 
| A base class to develop output stream filters.  More... | |
| class | GZIPOutputStream | 
| A stream implementation that outputs data to a ZIP file.  More... | |
| class | GZIPOutputStreambuf | 
| Save the output stream buffer.  More... | |
| class | InflateInputStreambuf | 
| A stream buffer to inflate data previous compressed with zlib.  More... | |
| class | InvalidException | 
| An InvalidException is used when invalid data is provided.  More... | |
| class | InvalidStateException | 
| Exception used when it is not possible to move forward.  More... | |
| class | IOException | 
| An IOException is used to signal an I/O error.  More... | |
| class | StreamEntry | 
| A file entry reading from a stream.  More... | |
| class | VirtualSeeker | 
| A virtual class used to see in a file embedded in another.  More... | |
| class | ZipCentralDirectoryEntry | 
| A specialization of ZipLocalEntry for.  More... | |
| class | ZipEndOfCentralDirectory | 
| Marker at the end of a Zip archive file.  More... | |
| class | ZipFile | 
| The ZipFile class represents a collection of files.  More... | |
| class | ZipInputStream | 
| The ZipInputStream to read data from a Zip archive.  More... | |
| class | ZipInputStreambuf | 
| An input stream buffer for Zip data.  More... | |
| class | ZipLocalEntry | 
| An implementation of the FileEntry for Zip archives.  More... | |
| class | ZipOutputStream | 
| A ZipOutputStream to allow for data to be compressed with zlib.  More... | |
| class | ZipOutputStreambuf | 
| Handle the output buffer of a zip archive.  More... | |
| Typedefs | |
| typedef std::vector< unsigned char > | buffer_t | 
| A buffer of characters. | |
| typedef std::streamoff | offset_t | 
| typedef std::ostringstream | OutputStringStream | 
| An output stream using strings. | |
| Enumerations | |
| enum class | StorageMethod : uint8_t { STORED = 0 , SHRUNK = 1 , REDUCED1 = 2 , REDUCED2 = 3 , REDUCED3 = 4 , REDUCED4 = 5 , IMPLODED = 6 , TOKENIZED = 7 , DEFLATED = 8 , DEFLATED64 = 9 , OLD_TERSE = 10 , RESERVED11 = 11 , BZIP2 = 12 , REVERVED13 = 13 , LZMA = 14 , RESERVED15 = 15 , RESERVED16 = 16 , RESERVED17 = 17 , NEW_TERSE = 18 , LZ77 = 19 , WAVPACK = 97 , PPMD_I_1 = 98 } | 
| The types used with FileEntry::setMethod and FileEntry::getMethod.  More... | |
| Functions | |
| size_t | getBufferSize () | 
| char const * | getVersion () | 
| std::ostream & | operator<< (std::ostream &os, FileCollection const &collection) | 
| Write a FileCollection to the output stream. | |
| std::ostream & | operator<< (std::ostream &os, FileEntry const &entry) | 
| Output an entry as a string to a stream. | |
| std::ostream & | operator<< (std::ostream &os, FilePath const &path) | 
| Print out a FilePath. | |
| bool | operator== (char const *lhs, FilePath const &rhs) | 
| Check whether two FilePath represent the same file. | |
| bool | operator== (std::string const &lhs, FilePath const &rhs) | 
| Check whether two FilePath represent the same file. | |
| void | zipRead (buffer_t const &is, size_t &pos, buffer_t &buffer, ssize_t const count) | 
| void | zipRead (buffer_t const &is, size_t &pos, std::string &str, ssize_t const count) | 
| void | zipRead (buffer_t const &is, size_t &pos, uint16_t &value) | 
| void | zipRead (buffer_t const &is, size_t &pos, uint32_t &value) | 
| void | zipRead (buffer_t const &is, size_t &pos, uint8_t &value) | 
| void | zipRead (std::istream &is, buffer_t &buffer, ssize_t const count) | 
| void | zipRead (std::istream &is, std::string &str, ssize_t const count) | 
| void | zipRead (std::istream &is, uint16_t &value) | 
| void | zipRead (std::istream &is, uint32_t &value) | 
| void | zipRead (std::istream &is, uint8_t &value) | 
| void | zipWrite (std::ostream &os, buffer_t const &buffer) | 
| void | zipWrite (std::ostream &os, std::string const &str) | 
| void | zipWrite (std::ostream &os, uint16_t const &value) | 
| void | zipWrite (std::ostream &os, uint32_t const &value) | 
| void | zipWrite (std::ostream &os, uint8_t const &value) | 
| Variables | |
| char const | g_separator = '/' | 
| The character used as the filename separator. | |
This namespace is used to clearly separate all the Zipios definitions. Note that a very few definitions are found outside of the namespace. Some of those are hidden in the source of the library, a very few appear in the zipios-config.hpp file as they are used to support Zipios on any platform.
Note that to ensure secure development, we do not make use of the C++ "using ..." keyword. That way we can guarantee what's what.
| std::vector< unsigned char > zipios::buffer_t | 
This type is used to declare a buffer of characters. It is used in many places.
Definition at line 98 of file zipios_common.hpp.
| typedef std::streamoff zipios::offset_t | 
Definition at line 59 of file zipios-config.hpp.
| std::ostringstream zipios::OutputStringStream | 
This object is used whenever we want to output a buffer from a string and convert that to a string.
Definition at line 95 of file zipios_common.hpp.
| 
 | strong | 
The current entries are the types supported by the zip format. The numbering matches one to one the numbering used in the zip file format, i.e. STORED is indicated by a 0 in the method field in a zip file and so on.
The zipios library only supports STORED and DEFLATED at this time.
Definition at line 48 of file fileentry.hpp.
| 
 | inline | 
Definition at line 62 of file zipios-config.hpp.
Referenced by zipios::ZipInputStreambuf::ZipInputStreambuf(), zipios::DeflateOutputStreambuf::endDeflation(), zipios::DeflateOutputStreambuf::flushOutvec(), zipios::DeflateOutputStreambuf::init(), zipios::DeflateOutputStreambuf::overflow(), zipios::ZipOutputStreambuf::overflow(), zipios::ZipOutputStreambuf::putNextEntry(), zipios::InflateInputStreambuf::reset(), zipios::InflateInputStreambuf::underflow(), and zipios::ZipInputStreambuf::underflow().
| 
 | inline | 
Definition at line 53 of file zipios-config.hpp.
References ZIPIOS_VERSION_STRING.
Referenced by main().
| std::ostream & zipios::operator<< | ( | std::ostream & | os, | 
| FileCollection const & | collection | ||
| ) | 
This function writes a simple textual representation of this FileCollection to the output stream.
| [in,out] | os | The output stream. | 
| [in] | collection | The collection to print out. | 
os output stream. Definition at line 605 of file filecollection.cpp.
References zipios::FileCollection::entries(), and zipios::FileCollection::getName().
| std::ostream & zipios::operator<< | ( | std::ostream & | os, | 
| FileEntry const & | entry | ||
| ) | 
This function transforms the FileEntry basic information into a string and prints the result to the specified output stream.
| [in,out] | os | The output stream. | 
| [in] | entry | The entry to print out. | 
Definition at line 768 of file fileentry.cpp.
References zipios::FileEntry::toString().
| std::ostream & zipios::operator<< | ( | std::ostream & | os, | 
| FilePath const & | path | ||
| ) | 
This function prints out the name of the file that this FilePath represents.
| [in,out] | os | The output stream. | 
| [in] | path | The path to print out. | 
os stream reference. Definition at line 538 of file filepath.cpp.
| bool zipios::operator== | ( | char const * | lhs, | 
| FilePath const & | rhs | ||
| ) | 
This function compares a FilePath object (this) and a C-string to know whether the two are the same.
A null pointer as the C-string is viewed as an empty string.
| [in] | lhs | The left hand side to compare with. | 
| [in] | rhs | The right hand side to compare with. | 
Definition at line 235 of file filepath.cpp.
| bool zipios::operator== | ( | std::string const & | lhs, | 
| FilePath const & | rhs | ||
| ) | 
This function compares a FilePath object (this) against a string representing a path to know whether the two are the equal.
| [in] | lhs | The left hand side to compare with. | 
| [in] | rhs | The right hand side to compare with. | 
Definition at line 268 of file filepath.cpp.
Definition at line 209 of file zipios_common.cpp.
| void zipios::zipRead | ( | buffer_t const & | is, | 
| size_t & | pos, | ||
| std::string & | str, | ||
| ssize_t const | count | ||
| ) | 
Definition at line 223 of file zipios_common.cpp.
| void zipios::zipRead | ( | buffer_t const & | is, | 
| size_t & | pos, | ||
| uint16_t & | value | ||
| ) | 
Definition at line 182 of file zipios_common.cpp.
| void zipios::zipRead | ( | buffer_t const & | is, | 
| size_t & | pos, | ||
| uint32_t & | value | ||
| ) | 
Definition at line 166 of file zipios_common.cpp.
| void zipios::zipRead | ( | buffer_t const & | is, | 
| size_t & | pos, | ||
| uint8_t & | value | ||
| ) | 
Definition at line 196 of file zipios_common.cpp.
| void zipios::zipRead | ( | std::istream & | is, | 
| buffer_t & | buffer, | ||
| ssize_t const | count | ||
| ) | 
Definition at line 132 of file zipios_common.cpp.
| void zipios::zipRead | ( | std::istream & | is, | 
| std::string & | str, | ||
| ssize_t const | count | ||
| ) | 
Definition at line 149 of file zipios_common.cpp.
| void zipios::zipRead | ( | std::istream & | is, | 
| uint16_t & | value | ||
| ) | 
Definition at line 95 of file zipios_common.cpp.
| void zipios::zipRead | ( | std::istream & | is, | 
| uint32_t & | value | ||
| ) | 
Definition at line 74 of file zipios_common.cpp.
Referenced by zipios::ZipFile::openEmbeddedZipFile(), zipios::ZipEndOfCentralDirectory::read(), zipios::ZipCentralDirectoryEntry::read(), zipios::ZipLocalEntry::read(), and zipios::BackBuffer::readChunk().
| void zipios::zipRead | ( | std::istream & | is, | 
| uint8_t & | value | ||
| ) | 
Definition at line 114 of file zipios_common.cpp.
| void zipios::zipWrite | ( | std::ostream & | os, | 
| buffer_t const & | buffer | ||
| ) | 
Definition at line 280 of file zipios_common.cpp.
| void zipios::zipWrite | ( | std::ostream & | os, | 
| std::string const & | str | ||
| ) | 
Definition at line 289 of file zipios_common.cpp.
| void zipios::zipWrite | ( | std::ostream & | os, | 
| uint16_t const & | value | ||
| ) | 
Definition at line 253 of file zipios_common.cpp.
| void zipios::zipWrite | ( | std::ostream & | os, | 
| uint32_t const & | value | ||
| ) | 
Definition at line 237 of file zipios_common.cpp.
Referenced by zipios::ZipEndOfCentralDirectory::write(), zipios::ZipCentralDirectoryEntry::write(), and zipios::ZipLocalEntry::write().
| void zipios::zipWrite | ( | std::ostream & | os, | 
| uint8_t const & | value | ||
| ) | 
Definition at line 267 of file zipios_common.cpp.
| char const zipios::g_separator = '/' | 
This character is used to separate filename segments in a path in a Zip archive.
Definition at line 51 of file zipios_common.cpp.
Referenced by zipios::FilePath::filename(), zipios::FilePath::operator+(), zipios::anonymous_namespace{filepath.cpp}::pruneTrailingSeparator(), zipios::ZipCentralDirectoryEntry::read(), zipios::ZipLocalEntry::read(), zipios::ZipCentralDirectoryEntry::write(), and zipios::ZipLocalEntry::write().