9#ifndef BITINPUTARCHIVE_HPP
10#define BITINPUTARCHIVE_HPP
15#include "bitabstractarchivehandler.hpp"
16#include "bitarchiveitemoffset.hpp"
17#include "bitformat.hpp"
65 const fs::path& arcPath,
78 const buffer_t& inBuffer,
173 template< typename T,
179 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
180 inline
void extract( const
tstring& outDir, const std::
vector< uint32_t >& indices = {} )
const {
199 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
200 inline
void extract( std::
vector<
byte_t >& outBuffer, uint32_t index = 0 )
const {
212 template< std::
size_t N >
213 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
214 void extract( std::array<
byte_t, N >& buffer, uint32_t index = 0 )
const {
215 extractTo( buffer.data(), buffer.size(), index );
226 template< std::
size_t N >
228 extractTo( buffer.data(), buffer.size(), index );
231 template< std::
size_t N >
232 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
233 void extract(
byte_t (& buffer)[N], uint32_t index = 0 )
const {
245 template< std::
size_t N >
250 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
251 inline
void extract(
byte_t* buffer, std::
size_t size, uint32_t index = 0 )
const {
265 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
266 inline
void extract( std::
ostream& outStream, uint32_t index = 0 )
const {
278 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
308 auto initUpdatableArchive( IOutArchive** newArc )
const -> HRESULT;
310 BIT7Z_NODISCARD
auto close() const noexcept -> HRESULT;
319 IInArchive* mInArchive;
325 auto openArchiveStream( const fs::path& name, IInStream* inStream,
ArchiveStartOffset startOffset ) -> IInArchive*;
338 using difference_type BIT7Z_MAYBE_UNUSED = uint32_t;
Abstract class representing a generic archive creator.
Definition bitabstractarchivecreator.hpp:44
Abstract class representing a generic archive handler.
Definition bitabstractarchivehandler.hpp:74
The BitAbstractArchiveOpener abstract class represents a generic archive opener.
Definition bitabstractarchiveopener.hpp:26
The BitArchiveItemOffset class represents an archived item but doesn't store its properties.
Definition bitarchiveitemoffset.hpp:22
The BitOutputArchive class, given a creator object, allows creating new archives.
Definition bitoutputarchive.hpp:60
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:30
unsigned char byte_t
A type representing a byte.
Definition bittypes.hpp:36
ArchiveStartOffset
Offset from where the archive starts within the input file.
Definition bitinputarchive.hpp:31
@ None
Don't specify an archive start offset.
@ FileStart
Check only the file start for the archive's start.
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:30
@ None
The creator will throw an exception (unless the OverwriteMode is not None).
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:150