bit7z 4.0.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitfs.hpp
1// This is an open source non-commercial project. Dear PVS-Studio, please check it.
2// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
3
4/*
5 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
6 * Copyright (c) 2014-2023 Riccardo Ostani - All Rights Reserved.
7 *
8 * This Source Code Form is subject to the terms of the Mozilla Public
9 * License, v. 2.0. If a copy of the MPL was not distributed with this
10 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
11 */
12
13#ifndef BITFS_HPP
14#define BITFS_HPP
15
16/* Header for forward declaring fs namespace. */
17
18#include "bitdefines.hpp" /* For BIT7Z_USE_STANDARD_FILESYSTEM */
19
20#ifdef BIT7Z_USE_STANDARD_FILESYSTEM
21#include <filesystem>
22#else
23/* Notes: we use this forward declaration to avoid including private headers (e.g. fs.hpp).
24 * Since some public API headers include bitgenericitem.hpp (e.g. "bitoutputarchive.hpp"),
25 * including private headers here would result in the "leaking" out of these latter in the public API.*/
26namespace ghc {
27namespace filesystem {
28class path;
29} // namespace filesystem
30} // namespace ghc
31#endif
32
33namespace bit7z {
34namespace fs {
35#ifdef BIT7Z_USE_STANDARD_FILESYSTEM
36using namespace std::filesystem;
37#else
38using namespace ghc::filesystem;
39#endif
40} // namespace fs
41} // namespace bit7z
42
43#endif //BITFS_HPP
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:30