-
-
Notifications
You must be signed in to change notification settings - Fork 119
BitOutputArchive
The BitOutputArchive class, given a creator object, allows creating new archives.
#include <bit7z/bitoutputarchive.hpp>
Return type | Name |
---|---|
BitOutputArchive( const BitAbstractArchiveCreator& creator ) | |
BitOutputArchive( const BitAbstractArchiveCreator& creator, const std::vector< byte_t >& inBuffer ) | |
BitOutputArchive( const BitAbstractArchiveCreator& creator, const tstring& inFile ) | |
BitOutputArchive( const BitAbstractArchiveCreator& creator, std::istream& inStream ) | |
~BitOutputArchive() = default | |
void | addDirectory( const tstring& inDir ) |
void | addFile( const std::vector< byte_t >& inBuffer, const tstring& name ) |
void | addFile( const tstring& inFile, const tstring& name = {} ) |
void | addFile( std::istream& inStream, const tstring& name ) |
void | addFiles( const std::vector< tstring >& inFiles ) |
void | addFiles( const tstring& inDir, const tstring& filter = "*", bool recursive = true ) |
void | addFiles( const tstring& inDir, const tstring& filter = "*", FilterPolicy policy = FilterPolicy::Include, bool recursive = true ) |
void | addItems( const std::map< tstring, tstring >& inPaths ) |
void | addItems( const std::vector< tstring >& inPaths ) |
void | compressTo( const tstring& outFile ) |
void | compressTo( std::ostream& outStream ) |
void | compressTo( std::vector< byte_t >& outBuffer ) |
const BitAbstractArchiveCreator & | creator() const noexcept |
const BitAbstractArchiveHandler & | handler() const noexcept |
uint32_t | itemsCount() const |
BitOutputArchive( const BitAbstractArchiveCreator& creator )
Constructs a BitOutputArchive object for a completely new archive.
Parameters:
-
creator: the reference to the BitAbstractArchiveCreator object containing all the settings to be used for creating the 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. 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.
Parameters:
- 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, const tstring& inFile )
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.
Parameters:
- 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, std::istream& inStream )
Constructs a BitOutputArchive object, reading an input file archive from the given std::istream.
Parameters:
- 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.
Default destructor.
void addDirectory( const tstring& inDir )
Adds all the items inside the given directory path.
Parameters:
-
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.
Parameters:
- 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.
🛈 Note: If a directory path is given, a BitException is thrown.
Parameters:
- 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.
Parameters:
- 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.
🛈 Note: Paths to directories are ignored.
Parameters:
-
inFiles: the vector of paths to files.
Adds all the files inside the given directory path that match the given wildcard filter.
Parameters:
- 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.
Parameters:
- 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.
Parameters:
-
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.
Parameters:
-
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.
🛈 Note: If this object was created by passing an input archive file path, and this latter is the same as the outFile path parameter, the file will be updated.
Parameters:
-
outFile: the output archive file path.
void compressTo( std::ostream& outStream )
Compresses all the items added to this object to the specified buffer.
Parameters:
-
outStream: the output standard stream.
void compressTo( std::vector< byte_t >& outBuffer )
Compresses all the items added to this object to the specified buffer.
Parameters:
-
outBuffer: the output buffer.
auto creator() const noexcept -> const BitAbstractArchiveCreator&
Returns a constant reference to the BitAbstractArchiveHandler object containing the settings for writing the output archive.
auto handler() const noexcept -> const BitAbstractArchiveHandler&
Returns a constant reference to the BitAbstractArchiveHandler object containing the settings for writing the output archive.
Returns the total number of items added to the output archive object.
Copyright © 2014 - 2024 Riccardo Ostani (@rikyoz)
- Bit7zLibrary
- BitArchiveEditor
- BitArchiveReader
- BitArchiveWriter
- BitException
- BitFileCompressor
- BitFileExtractor
- BitMemCompressor
- BitMemExtractor
- BitStreamCompressor
- BitStreamExtractor
- BitInFormat