bit7z 4.0.0
A C++ library for interfacing with the 7-zip shared libs.
|
The BitOutputArchive class, given a creator object, allows creating new archives. More...
#include <bit7z/bitoutputarchive.hpp>
Public Member Functions | |
BitOutputArchive (const BitAbstractArchiveCreator &creator) | |
Constructs a BitOutputArchive object for a completely new archive. | |
BitOutputArchive (const BitAbstractArchiveCreator &creator, const std::vector< byte_t > &inBuffer) | |
Constructs a BitOutputArchive object, opening an input file archive from the given buffer. | |
BitOutputArchive (const BitAbstractArchiveCreator &creator, const tstring &inFile) | |
Constructs a BitOutputArchive object, opening an (optional) input file archive. | |
BitOutputArchive (const BitAbstractArchiveCreator &creator, std::istream &inStream) | |
Constructs a BitOutputArchive object, reading an input file archive from the given std::istream. | |
virtual | ~BitOutputArchive ()=default |
Default destructor. | |
void | addDirectory (const tstring &inDir) |
Adds all the items inside the given directory path. | |
void | addFile (const std::vector< byte_t > &inBuffer, const tstring &name) |
Adds the given buffer file, using the given name as a path when compressed in the output archive. | |
void | addFile (const tstring &inFile, const tstring &name={}) |
Adds the given file path, with an optional user-defined path to be used in the output archive. | |
void | addFile (std::istream &inStream, const tstring &name) |
Adds the given standard input stream, using the given name as a path when compressed in the output archive. | |
void | addFiles (const std::vector< tstring > &inFiles) |
Adds all the files in the given vector of filesystem paths. | |
void | addFiles (const tstring &inDir, const tstring &filter="*", bool recursive=true) |
Adds all the files inside the given directory path that match the given wildcard filter. | |
void | addFiles (const tstring &inDir, const tstring &filter="*", FilterPolicy policy=FilterPolicy::Include, bool recursive=true) |
Adds all the files inside the given directory path that match the given wildcard filter. | |
void | addItems (const std::map< tstring, tstring > &inPaths) |
Adds all the items that can be found by indexing the keys of the given map of filesystem paths; the corresponding mapped values are the user-defined paths wanted inside the output archive. | |
void | addItems (const std::vector< tstring > &inPaths) |
Adds all the items that can be found by indexing the given vector of filesystem paths. | |
void | compressTo (const tstring &outFile) |
Compresses all the items added to this object to the specified archive file path. | |
void | compressTo (std::ostream &outStream) |
Compresses all the items added to this object to the specified buffer. | |
void | compressTo (std::vector< byte_t > &outBuffer) |
Compresses all the items added to this object to the specified buffer. | |
auto | creator () const noexcept -> const BitAbstractArchiveCreator & |
auto | handler () const noexcept -> const BitAbstractArchiveHandler & |
auto | itemsCount () const -> uint32_t |
The BitOutputArchive class, given a creator object, allows creating new archives.
|
explicit |
Constructs a BitOutputArchive object for a completely new archive.
creator | the reference to the BitAbstractArchiveCreator object containing all the settings to be used for creating the new archive. |
|
explicit |
Constructs a BitOutputArchive object, opening an (optional) input file archive.
If a non-empty input file path is passed, the corresponding archive will be opened and used as a base for the creation of the new archive. Otherwise, the class will behave as if it is creating a completely new archive.
creator | the reference to the BitAbstractArchiveCreator object containing all the settings to be used for creating the new archive and reading the (optional) input archive. |
inFile | (optional) the path to an input archive file. |
BitOutputArchive | ( | const BitAbstractArchiveCreator & | creator, |
const std::vector< byte_t > & | inBuffer | ||
) |
Constructs a BitOutputArchive object, opening an input file archive from the given buffer.
If a non-empty input buffer is passed, the archive file it contains will be opened and used as a base for the creation of the new archive. Otherwise, the class will behave as if it is creating a completely new archive.
creator | the reference to the BitAbstractArchiveCreator object containing all the settings to be used for creating the new archive and reading the (optional) input archive. |
inBuffer | the buffer containing an input archive file. |
BitOutputArchive | ( | const BitAbstractArchiveCreator & | creator, |
std::istream & | inStream | ||
) |
Constructs a BitOutputArchive object, reading an input file archive from the given std::istream.
creator | the reference to the BitAbstractArchiveCreator object containing all the settings to be used for creating the new archive and reading the (optional) input archive. |
inStream | the standard input stream of the input archive file. |
|
virtualdefault |
Default destructor.
void addDirectory | ( | const tstring & | inDir | ) |
Adds all the items inside the given directory path.
inDir | the directory where to search for items to be added to the output archive. |
void addFile | ( | const std::vector< byte_t > & | inBuffer, |
const tstring & | name | ||
) |
Adds the given buffer file, using the given name as a path when compressed in the output archive.
inBuffer | the buffer containing the file to be added to the output archive. |
name | user-defined path to be used inside the output archive. |
Adds the given file path, with an optional user-defined path to be used in the output archive.
inFile | the path to the filesystem file to be added to the output archive. |
name | (optional) user-defined path to be used inside the output archive. |
void addFile | ( | std::istream & | inStream, |
const tstring & | name | ||
) |
Adds the given standard input stream, using the given name as a path when compressed in the output archive.
inStream | the input stream to be added. |
name | the name of the file inside the output archive. |
void addFiles | ( | const std::vector< tstring > & | inFiles | ) |
Adds all the files in the given vector of filesystem paths.
inFiles | the vector of paths to files. |
Adds all the files inside the given directory path that match the given wildcard filter.
inDir | the directory where to search for files to be added to the output archive. |
filter | (optional) the wildcard filter to be used for searching the files. |
recursive | (optional) recursively search the files in the given directory and all of its subdirectories. |
void addFiles | ( | const tstring & | inDir, |
const tstring & | filter = "*" , |
||
FilterPolicy | policy = FilterPolicy::Include , |
||
bool | recursive = true |
||
) |
Adds all the files inside the given directory path that match the given wildcard filter.
inDir | the directory where to search for files to be added to the output archive. |
filter | (optional) the wildcard filter to be used for searching the files. |
recursive | (optional) recursively search the files in the given directory and all of its subdirectories. |
policy | (optional) the filtering policy to be applied to the matched items. |
Adds all the items that can be found by indexing the keys of the given map of filesystem paths; the corresponding mapped values are the user-defined paths wanted inside the output archive.
inPaths | map of filesystem paths with the corresponding user-defined path desired inside the output archive. |
void addItems | ( | const std::vector< tstring > & | inPaths | ) |
Adds all the items that can be found by indexing the given vector of filesystem paths.
inPaths | the vector of filesystem paths. |
void compressTo | ( | const tstring & | outFile | ) |
Compresses all the items added to this object to the specified archive file path.
outFile | the output archive file path. |
void compressTo | ( | std::ostream & | outStream | ) |
Compresses all the items added to this object to the specified buffer.
outStream | the output standard stream. |
void compressTo | ( | std::vector< byte_t > & | outBuffer | ) |
Compresses all the items added to this object to the specified buffer.
outBuffer | the output buffer. |
|
noexcept |
|
noexcept |
auto itemsCount | ( | ) | const -> uint32_t |