bit7z 4.0.0
A C++ library for interfacing with the 7-zip shared libs.
Loading...
Searching...
No Matches
bitarchiveitemoffset.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 BITARCHIVEITEMOFFSET_HPP
11#define BITARCHIVEITEMOFFSET_HPP
12
13#include "bitarchiveitem.hpp"
14
15namespace bit7z {
16
17class BitInputArchive;
18
23 public:
24 auto operator++() noexcept -> BitArchiveItemOffset&;
25
26 auto operator++( int ) noexcept -> BitArchiveItemOffset; // NOLINT(cert-dcl21-cpp)
27
28 auto operator==( const BitArchiveItemOffset& other ) const noexcept -> bool;
29
30 auto operator!=( const BitArchiveItemOffset& other ) const noexcept -> bool;
31
39 BIT7Z_NODISCARD auto itemProperty( BitProperty property ) const -> BitPropVariant override;
40
41 private:
42 /* Note: a pointer, instead of a reference, allows this class, and hence BitInputArchive::ConstIterator,
43 * to be CopyConstructible so that stl algorithms can be used with ConstIterator! */
44 const BitInputArchive* mArc;
45
46 BitArchiveItemOffset( uint32_t itemIndex, const BitInputArchive& inputArchive ) noexcept;
47
48 friend class BitInputArchive;
49};
50
51} // namespace bit7z
52
53#endif // BITARCHIVEITEMOFFSET_HPP
The BitArchiveItem class represents a generic item inside an archive.
Definition bitarchiveitem.hpp:20
The BitArchiveItemOffset class represents an archived item but doesn't store its properties.
Definition bitarchiveitemoffset.hpp:22
auto itemProperty(BitProperty property) const -> BitPropVariant override
Gets the specified item property.
The BitInputArchive class, given a handler object, allows reading/extracting the content of archives.
Definition bitinputarchive.hpp:31
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:30
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:30
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:150