bit7z 4.1.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitarchivewriter.hpp
1/*
2 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
3 * Copyright (c) Riccardo Ostani - All Rights Reserved.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef BITARCHIVEWRITER_HPP
11#define BITARCHIVEWRITER_HPP
12
13#include "bit7zlibrary.hpp"
14#include "bitabstractarchivecreator.hpp"
15#include "bitformat.hpp"
16#include "bitoutputarchive.hpp"
17#include "bittypes.hpp"
18
19#include <istream>
20
21namespace bit7z {
22
26class BitArchiveWriter : public BitAbstractArchiveCreator, public BitOutputArchive {
27 public:
35
47 const Bit7zLibrary& lib,
48 const tstring& inArchive,
49 ArchiveStartOffset startOffset,
51 const tstring& password = {}
52 );
53
63 const Bit7zLibrary& lib,
64 const tstring& inArchive,
66 const tstring& password = {}
67 );
68
80 const Bit7zLibrary& lib,
81 const buffer_t& inArchive,
82 ArchiveStartOffset startOffset,
84 const tstring& password = {}
85 );
86
94 const Bit7zLibrary& lib,
95 buffer_t&& inArchive,
96 ArchiveStartOffset startOffset,
98 const tstring& password = {}
99 ) = delete;
100
110 const Bit7zLibrary& lib,
111 const buffer_t& inArchive,
112 const BitInOutFormat& format,
113 const tstring& password = {}
114 );
115
123 const Bit7zLibrary& lib,
124 buffer_t&& inArchive,
125 const BitInOutFormat& format,
126 const tstring& password = {}
127 ) = delete;
128
140 const Bit7zLibrary& lib,
141 std::istream& inArchive,
142 ArchiveStartOffset startOffset,
143 const BitInOutFormat& format,
144 const tstring& password = {}
145 );
146
156 const Bit7zLibrary& lib,
157 std::istream& inArchive,
158 const BitInOutFormat& format,
159 const tstring& password = {}
160 );
161};
162
163} // namespace bit7z
164
165#endif //BITARCHIVEWRITER_HPP
The Bit7zLibrary class allows accessing the basic functionalities provided by the 7z DLLs.
Definition bit7zlibrary.hpp:55
auto format() const noexcept -> const BitInFormat &override
auto password() const -> const tstring &
BitArchiveWriter(const Bit7zLibrary &lib, const buffer_t &inArchive, ArchiveStartOffset startOffset, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the archive in the given buffer.
BitArchiveWriter(const Bit7zLibrary &lib, buffer_t &&inArchive, ArchiveStartOffset startOffset, const BitInOutFormat &format, const tstring &password={})=delete
Deleted overload preventing the use of a temporary input buffer.
BitArchiveWriter(const Bit7zLibrary &lib, std::istream &inArchive, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the archive from the given standard input stream.
BitArchiveWriter(const Bit7zLibrary &lib, const buffer_t &inArchive, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the archive in the given buffer.
BitArchiveWriter(const Bit7zLibrary &lib, const BitInOutFormat &format)
Constructs an empty BitArchiveWriter object that can write archives of the specified format.
BitArchiveWriter(const Bit7zLibrary &lib, const tstring &inArchive, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the given archive file path.
BitArchiveWriter(const Bit7zLibrary &lib, buffer_t &&inArchive, const BitInOutFormat &format, const tstring &password={})=delete
Deleted overload preventing the use of a temporary input buffer.
BitArchiveWriter(const Bit7zLibrary &lib, std::istream &inArchive, ArchiveStartOffset startOffset, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the archive from the given standard input stream.
BitArchiveWriter(const Bit7zLibrary &lib, const tstring &inArchive, ArchiveStartOffset startOffset, const BitInOutFormat &format, const tstring &password={})
Constructs a BitArchiveWriter object, reading the given archive file path.
The BitInOutFormat class specifies a format available for creating new archives and extract old ones.
Definition bitformat.hpp:115
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:29
ArchiveStartOffset
Offset from where the archive starts within the input file.
Definition bitinputarchive.hpp:46
std::basic_string< tchar > tstring
Definition bittypes.hpp:104