Disk ARchive
2.8.5
Full featured and portable backup and archiving tool
Toggle main menu visibility
Loading...
Searching...
No Matches
src
libdar
header_flags.hpp
Go to the documentation of this file.
1
/*********************************************************************/
2
// dar - disk archive - a backup/restoration program
3
// Copyright (C) 2002-2026 Denis Corbin
4
//
5
// This program is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU General Public License
7
// as published by the Free Software Foundation; either version 2
8
// of the License, or (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
//
19
// to contact the author, see the AUTHOR file
20
/*********************************************************************/
21
25
26
#ifndef HEADER_FLAGS_HPP
27
#define HEADER_FLAGS_HPP
28
29
#include "
../my_config.h
"
30
#include "
generic_file.hpp
"
31
32
namespace
libdar
33
{
34
37
39
49
class
header_flags
50
{
51
public
:
52
header_flags():
bits
(0) {};
53
header_flags(
generic_file
& f) {
read
(f); };
54
header_flags(
const
header_flags & ref) =
default
;
55
header_flags(header_flags && ref)
noexcept
=
default
;
56
header_flags & operator = (
const
header_flags & ref) =
default
;
57
header_flags & operator = (header_flags && ref)
noexcept
=
default
;
58
~header_flags() =
default
;
59
61
void
set_bits
(U_I bitfield);
62
64
void
unset_bits
(U_I bitfield);
65
67
bool
is_set
(U_I bitfield)
const
;
68
70
void
read
(
generic_file
& f);
71
73
void
dump
(
generic_file
& f)
const
;
74
76
void
clear
() {
bits
= 0; };
77
79
bool
is_all_cleared
() {
return
bits
== 0; };
80
81
private
:
82
U_I
bits
;
83
84
static
bool
has_an_lsb_set(U_I bitfield);
85
};
86
87
}
// end of namespace
88
89
#endif
libdar::generic_file
this is the interface class from which all other data transfer classes inherit
Definition
generic_file.hpp:77
generic_file.hpp
class generic_file is defined here as well as class fichier
libdar::header_flags::is_set
bool is_set(U_I bitfield) const
return true if all bits of the argument set to 1, are set in this header_flags
libdar::header_flags::bits
U_I bits
future implementation could rely on infinint for a arbitrary large bitfield
Definition
header_flags.hpp:82
libdar::header_flags::unset_bits
void unset_bits(U_I bitfield)
remove all the bits set to in in the argument
libdar::header_flags::clear
void clear()
clear all flags
Definition
header_flags.hpp:76
libdar::header_flags::dump
void dump(generic_file &f) const
dump the header_flags to generic_file
libdar::header_flags::is_all_cleared
bool is_all_cleared()
whether all bits are cleared
Definition
header_flags.hpp:79
libdar::header_flags::set_bits
void set_bits(U_I bitfield)
add all the bits set to 1 in the argument
libdar::header_flags::read
void read(generic_file &f)
set the header_flags from a generic_file
my_config.h
include macro defined by the configure script and some specific additional ones
libdar
libdar namespace encapsulate all libdar symbols
Definition
archive.hpp:47
Generated on
for Disk ARchive by
1.17.0