bit7z
4.1.0
A C++ library for interfacing with the 7-zip shared libs.
Toggle main menu visibility
Loading...
Searching...
No Matches
bitarchiveitemoffset.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 BITARCHIVEITEMOFFSET_HPP
11
#define BITARCHIVEITEMOFFSET_HPP
12
13
#include "bitarchiveitem.hpp"
14
#include "bitdefines.hpp"
15
#include "bitpropvariant.hpp"
16
17
#include <cstdint>
18
#include <functional>
19
20
namespace
bit7z
{
21
22
class
BitInputArchive
;
23
27
class
BitArchiveItemOffset final :
public
BitArchiveItem {
28
public
:
29
auto
operator++()
noexcept
-> BitArchiveItemOffset&;
30
31
auto
operator++(
int
)
noexcept
-> BitArchiveItemOffset;
// NOLINT(cert-dcl21-cpp)
32
33
auto
operator==(
const
BitArchiveItemOffset& other )
const
noexcept
-> bool;
34
35
auto
operator!=(
const
BitArchiveItemOffset& other )
const
noexcept
-> bool;
36
44
BIT7Z_NODISCARD
auto
itemProperty
(
BitProperty
property )
const
->
BitPropVariant
override
;
45
53
BIT7Z_NODISCARD
auto
hasProperty
(
BitProperty
property )
const
-> bool;
54
55
private
:
56
/* Note: we use a std::reference_wrapper to make this class, and hence BitInputArchive::ConstIterator,
57
* to be CopyConstructible so that stl algorithms can be used with ConstIterator. */
58
std::reference_wrapper< const BitInputArchive >
mArc;
59
60
BitArchiveItemOffset(
const
BitInputArchive& inputArchive,
std::uint32_t
itemIndex )
noexcept
;
61
62
friend
class
BitInputArchive;
63
};
64
65
}
// namespace bit7z
66
67
#endif
// BITARCHIVEITEMOFFSET_HPP
bit7z::BitArchiveItemOffset::hasProperty
auto hasProperty(BitProperty property) const -> bool
Checks whether the item has the specified property or not.
bit7z::BitArchiveItemOffset::itemProperty
auto itemProperty(BitProperty property) const -> BitPropVariant override
Gets the specified item property.
bit7z::BitInputArchive
The BitInputArchive class, given a handler object, allows reading/extracting the content of archives.
Definition
bitinputarchive.hpp:64
std::uint32_t
bit7z
The main namespace of the bit7z library.
Definition
bit7zlibrary.hpp:29
bit7z::BitProperty
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition
bitpropvariant.hpp:32
std::reference_wrapper
bit7z::BitPropVariant
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition
bitpropvariant.hpp:161
include
bit7z
bitarchiveitemoffset.hpp
Generated by
1.17.0