120 [[nodiscard]] static std::expected<
ZipArchive,
ZipError> CreateOrTruncate(std::filesystem::path const& path);
129 [[nodiscard]]
bool IsOpen() const noexcept;
134 [[nodiscard]] zip_int64_t EntryCount() const noexcept;
139 [[nodiscard]] zip_t* NativeHandle() const noexcept;
149 [[nodiscard]] std::optional<zip_int64_t> LocateEntry(std::string_view name) const;
167 [[nodiscard]] std::expected<std::vector<uint8_t>,
ZipError> ReadEntry(zip_int64_t index) const;
173 [[nodiscard]] std::expected<std::
string,
ZipError> ReadEntryAsString(zip_int64_t index) const;
186 [[nodiscard]] std::expected<zip_int64_t,
ZipError> AddBuffer(std::string_view name,
187 std::span<uint8_t const> data,
188 CompressionMethod method = CompressionMethod::Deflate,
198 [[nodiscard]] std::expected<zip_int64_t,
ZipError> AddString(std::string_view name,
199 std::string_view content,
200 CompressionMethod method = CompressionMethod::Deflate,
211 void ForEachEntry(std::function<
bool(zip_int64_t, std::string_view, zip_uint64_t)> const& callback) const;
216 [[nodiscard]] std::vector<
EntryInfo> GetAllEntries() const;
225 [[nodiscard]] std::expected<
void,
ZipError> Close();
230 void Discard() noexcept;
Information about a ZIP archive entry.
zip_int64_t index
Index of the entry in the archive.
zip_uint64_t compressedSize
Compressed size in bytes.
zip_uint64_t size
Uncompressed size in bytes.