-
-
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 buffer_t& inBuffer, ArchiveStartOffset startOffset = ArchiveStartOffset::None ) | |
BitOutputArchive( const BitAbstractArchiveCreator& creator, const tstring& inFile, ArchiveStartOffset startOffset = ArchiveStartOffset::None ) | |
BitOutputArchive( const BitAbstractArchiveCreator& creator, std::istream& inStream, ArchiveStartOffset startOffset = ArchiveStartOffset::None ) | |
~BitOutputArchive() = default | |
void | addDirectory( const tstring& inDir ) |
void | addDirectoryContents( const tstring& inDir, const tstring& filter, bool recursive ) |
void | addDirectoryContents( const tstring& inDir, const tstring& filter = "*", FilterPolicy policy = FilterPolicy::Include, bool recursive = true ) |
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 ) |
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 buffer_t& inBuffer, ArchiveStartOffset startOffset = ArchiveStartOffset::None )
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, ArchiveStartOffset startOffset = ArchiveStartOffset::None )
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, ArchiveStartOffset startOffset = ArchiveStartOffset::None )
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 the given directory path and all its content.
Parameters:
- inDir: the path of the directory to be added to the archive.
Adds the contents of the given directory path. This function iterates through the specified directory and adds its contents based on the provided wildcard filter. Optionally, the operation can be recursive, meaning it will include subdirectories and their contents.
Parameters:
- inDir: the directory where to search for files to be added to the output archive.
- filter: the wildcard filter to be used for searching the files.
- recursive: recursively search the files in the given directory and all of its subdirectories.
void addDirectoryContents( const tstring& inDir, const tstring& filter = "*", FilterPolicy policy = FilterPolicy::Include, bool recursive = true )
Adds the contents of the given directory path. This function iterates through the specified directory and adds its contents based on the provided wildcard filter and policy. Optionally, the operation can be recursive, meaning it will include subdirectories and their contents.
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.
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: the wildcard filter to be used for searching the files.
- recursive: 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.
const BitAbstractArchiveCreator & creator() const noexcept
Returns a constant reference to the BitAbstractArchiveHandler object containing the settings for writing the output archive.
const BitAbstractArchiveHandler & handler() const noexcept
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