Horizon
Classes | Namespaces | Typedefs | Functions
zip.hpp File Reference

A safe modern C++ wrapper on top of libzip. More...

#include <cassert>
#include <cerrno>
#include <cstring>
#include <functional>
#include <iterator>
#include <memory>
#include <string>
#include <zip.h>

Go to the source code of this file.

Classes

class  libzip::file
 File for reading. More...
 
class  libzip::stat_ptr
 Wrapper for stat as pointer. More...
 
class  libzip::archive
 Safe wrapper on the struct zip structure. More...
 
class  libzip::archive::iterator
 Base iterator class. More...
 

Namespaces

 libzip
 The libzip namespace.
 

Typedefs

typedef struct zip_stat libzip::stat
 zip_stat typedef.
 
using libzip::source_cmd = enum zip_source_cmd
 zip_source_cmd typedef.
 
using libzip::source_callback = zip_source_callback
 zip_source_cmd typedef.
 
using libzip::flags_t = zip_flags_t
 zip_flags_t typedef.
 
using libzip::int8_t = zip_int8_t
 zip_int8_t typedef.
 
using libzip::uint8_t = zip_uint8_t
 zip_uint8_t typedef.
 
using libzip::int16_t = zip_int16_t
 zip_int16_t typedef.
 
using libzip::uint16_t = zip_uint16_t
 zip_uint16_t typedef.
 
using libzip::int32_t = zip_int32_t
 zip_int32_t typedef.
 
using libzip::uint32_t = zip_uint32_t
 zip_uint32_t typedef.
 
using libzip::int64_t = zip_int64_t
 zip_int64_t typedef.
 
using libzip::uint64_t = zip_uint64_t
 zip_uint64_t_t typedef.
 
using libzip::source = std::function< struct zip_source *(struct zip *)>
 Source creation for adding files. More...
 

Functions

source libzip::source_buffer (std::string data) noexcept
 Add a file to the archive using a binary buffer. More...
 
source libzip::source_file (std::string path, uint64_t start=0, int64_t length=-1) noexcept
 Add a file to the archive from the disk. More...
 

Detailed Description

A safe modern C++ wrapper on top of libzip.

Author
David Demelier marka.nosp@m.nd@m.nosp@m.alika.nosp@m.nia..nosp@m.fr
Version
2.0.0-dev