9#ifndef BITINPUTARCHIVE_HPP
10#define BITINPUTARCHIVE_HPP
15#include "bitabstractarchivehandler.hpp"
16#include "bitarchiveitemoffset.hpp"
17#include "bitformat.hpp"
133 BIT7Z_DEPRECATED_MSG("Since v4.0; please, use the
extractTo method.")
134 inline
void extract( const
tstring& outDir, const std::
vector< uint32_t >& indices = {} )
const {
146 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
147 inline
void extract( std::
vector<
byte_t >& outBuffer, uint32_t index = 0 )
const {
159 template< std::
size_t N >
160 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
161 void extract( std::array<
byte_t, N >& buffer, uint32_t index = 0 )
const {
162 extractTo( buffer.data(), buffer.size(), index );
173 template< std::
size_t N >
175 extractTo( buffer.data(), buffer.size(), index );
178 template< std::
size_t N >
179 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
180 void extract(
byte_t (& buffer)[N], uint32_t index = 0 )
const {
192 template< std::
size_t N >
197 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
198 inline
void extract(
byte_t* buffer, std::
size_t size, uint32_t index = 0 )
const {
212 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
213 inline
void extract( std::
ostream& outStream, uint32_t index = 0 )
const {
225 BIT7Z_DEPRECATED_MSG(
"Since v4.0; please, use the extractTo method.")
255 auto initUpdatableArchive( IOutArchive** newArc )
const -> HRESULT;
257 BIT7Z_NODISCARD
auto close() const noexcept -> HRESULT;
266 IInArchive* mInArchive;
271 auto openArchiveStream( const fs::path& name, IInStream* inStream ) -> IInArchive*;
284 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
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:30
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:150