zip_archive¶
Defined in header: <orcus/zip_archive.hpp>
-
class zip_archive¶
Public Functions
-
zip_archive() = delete¶
-
zip_archive(const zip_archive&) = delete¶
-
zip_archive &operator=(const zip_archive) = delete¶
-
zip_archive(zip_archive_stream *stream)¶
-
~zip_archive()¶
-
void load()¶
Loading involves the parsing of the central directory of a zip archive (located toward the end of the stream) and building of file entry data which are stored in the central directory.
-
zip_file_entry_header get_file_entry_header(std::size_t index) const¶
Retrieve the header information for a file entry specified by index.
- Parameters:
index – file entry index.
- Returns:
header information for a file entry.
-
zip_file_entry_header get_file_entry_header(std::string_view name) const¶
Retrieve the header information for a file entry specified by name.
- Parameters:
name – file entry name.
- Returns:
header information for a file entry.
-
std::string_view get_file_entry_name(std::size_t index) const¶
Get file entry name from its index.
- Parameters:
index – file entry index
- Returns:
file entry name
-
size_t get_file_entry_count() const¶
Return the number of file entries stored in this zip archive. Note that a file entry may be a directory, so the number of files stored in the zip archive may not equal the number of file entries.
- Returns:
number of file entries.
-
std::vector<unsigned char> read_file_entry(std::string_view entry_name) const¶
Retrieve data stream of specified file entry. The retrieved data stream gets uncompressed if the original stream is compressed.
- Parameters:
entry_name – file entry name.
- Throws:
zip_error – thrown when any problem is encountered during data stream retrieval.
- Returns:
buffer containing the data stream for specified entry.
-
zip_archive() = delete¶