bit7z 4.1.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitfilecompressor.hpp
1/*
2 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
3 * Copyright (c) Riccardo Ostani - All Rights Reserved.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef BITFILECOMPRESSOR_HPP
11#define BITFILECOMPRESSOR_HPP
12
13#include "bit7zlibrary.hpp"
14#include "bitcompressor.hpp"
15#include "bitformat.hpp"
16#include "bittypes.hpp"
17
18#include <map>
19#include <ostream>
20#include <vector>
21
22namespace bit7z {
23
31class BitFileCompressor final : public BitCompressor< const tstring& > {
32 public:
44
45 /* Compression from the file system to the file system. */
46
56 void compress( const std::vector< tstring >& inPaths, const tstring& outFile ) const;
57
69 void compress( const std::vector< std::pair< tstring, tstring > >& inPaths, const tstring& outFile ) const;
70
82 void compress( const std::map< tstring, tstring >& inPaths, const tstring& outFile ) const;
83
92 void compressFiles( const std::vector< tstring >& inFiles, const tstring& outFile ) const;
93
103 const tstring& inDir,
104 const tstring& outFile,
105 bool recursive = true,
106 const tstring& filter = BIT7Z_STRING( "*" )
107 ) const;
108
117 void compressDirectory( const tstring& inDir, const tstring& outFile ) const;
118
130 const tstring& inDir,
131 const tstring& outFile,
132 bool recursive = true,
133 const tstring& filter = BIT7Z_STRING( "*" )
134 ) const;
135
136 /* Compression from the file system to standard streams. */
137
147 void compress( const std::vector< tstring >& inPaths, std::ostream& outStream ) const;
148
160 void compress( const std::map< tstring, tstring >& inPaths, std::ostream& outStream ) const;
161};
162
163} // namespace bit7z
164#endif // BITFILECOMPRESSOR_HPP
The Bit7zLibrary class allows accessing the basic functionalities provided by the 7z DLLs.
Definition bit7zlibrary.hpp:55
auto format() const noexcept -> const BitInFormat &override
BitCompressor(Bit7zLibrary const &lib, BitInOutFormat const &format)
Definition bitcompressor.hpp:58
void compress(const std::vector< tstring > &inPaths, const tstring &outFile) const
Compresses the given files or directories.
void compress(const std::map< tstring, tstring > &inPaths, const tstring &outFile) const
Compresses the given files or directories using the specified aliases.
void compressDirectory(const tstring &inDir, const tstring &outFile) const
Compresses an entire directory.
void compress(const std::vector< tstring > &inPaths, std::ostream &outStream) const
Compresses the given files or directories.
void compress(const std::map< tstring, tstring > &inPaths, std::ostream &outStream) const
Compresses the given files or directories using the specified aliases.
void compress(const std::vector< std::pair< tstring, tstring > > &inPaths, const tstring &outFile) const
Compresses the given files or directories using the specified aliases.
void compressFiles(const tstring &inDir, const tstring &outFile, bool recursive=true, const tstring &filter="*") const
Compresses the files contained in a directory.
void compressFiles(const std::vector< tstring > &inFiles, const tstring &outFile) const
Compresses a group of files.
void compressDirectoryContents(const tstring &inDir, const tstring &outFile, bool recursive=true, const tstring &filter="*") const
Compresses the contents of a directory.
BitFileCompressor(const Bit7zLibrary &lib, const BitInOutFormat &format)
Constructs a BitFileCompressor object.
The BitInOutFormat class specifies a format available for creating new archives and extract old ones.
Definition bitformat.hpp:115
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:29
std::basic_string< tchar > tstring
Definition bittypes.hpp:104