bit7z 4.0.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitarchiveitem.hpp
1/*
2 * bit7z - A C++ static library to interface with the 7-zip shared libraries.
3 * Copyright (c) 2014-2023 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 BITARCHIVEITEM_HPP
11#define BITARCHIVEITEM_HPP
12
13#include "bitgenericitem.hpp"
14
15namespace bit7z {
16
21 public:
25 BIT7Z_NODISCARD auto index() const noexcept -> uint32_t;
26
30 BIT7Z_NODISCARD auto isDir() const -> bool override;
31
36 BIT7Z_NODISCARD auto isSymLink() const -> bool override;
37
42 BIT7Z_NODISCARD auto name() const -> tstring override;
43
48 BIT7Z_NODISCARD auto extension() const -> tstring;
49
54 BIT7Z_NODISCARD auto path() const -> tstring override;
55
59 BIT7Z_NODISCARD auto size() const -> uint64_t override;
60
64 BIT7Z_NODISCARD auto creationTime() const -> time_type;
65
69 BIT7Z_NODISCARD auto lastAccessTime() const -> time_type;
70
74 BIT7Z_NODISCARD auto lastWriteTime() const -> time_type;
75
79 BIT7Z_NODISCARD auto attributes() const -> uint32_t override;
80
84 BIT7Z_NODISCARD auto packSize() const -> uint64_t;
85
89 BIT7Z_NODISCARD auto crc() const -> uint32_t;
90
94 BIT7Z_NODISCARD auto isEncrypted() const -> bool;
95
96 protected:
97 uint32_t mItemIndex; //Note: it is not const since the subclass BitArchiveItemOffset can increment it!
98
99 explicit BitArchiveItem( uint32_t itemIndex ) noexcept;
100};
101
102} // namespace bit7z
103
104#endif // BITARCHIVEITEM_HPP
The BitArchiveItem class represents a generic item inside an archive.
Definition bitarchiveitem.hpp:20
auto creationTime() const -> time_type
auto isSymLink() const -> bool override
auto isEncrypted() const -> bool
auto lastAccessTime() const -> time_type
auto isDir() const -> bool override
auto attributes() const -> uint32_t override
auto name() const -> tstring override
auto lastWriteTime() const -> time_type
auto path() const -> tstring override
auto packSize() const -> uint64_t
auto size() const -> uint64_t override
auto extension() const -> tstring
auto index() const noexcept -> uint32_t
auto crc() const -> uint32_t
The BitGenericItem interface class represents a generic item (either inside or outside an archive).
Definition bitgenericitem.hpp:20
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:30