Sux
sux
bits
DynamicBitVector.hpp
Go to the documentation of this file.
1
/*
2
* Sux: Succinct data structures
3
*
4
* Copyright (C) 2019-2020 Stefano Marchini
5
*
6
* This library is free software; you can redistribute it and/or modify it
7
* under the terms of the GNU Lesser General Public License as published by the Free
8
* Software Foundation; either version 3 of the License, or (at your option)
9
* any later version.
10
*
11
* This library is free software; you can redistribute it and/or modify it under
12
* the terms of the GNU General Public License as published by the Free Software
13
* Foundation; either version 3, or (at your option) any later version.
14
*
15
* This library is distributed in the hope that it will be useful, but WITHOUT ANY
16
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
17
* PARTICULAR PURPOSE. See the GNU General Public License for more details.
18
*
19
* Under Section 7 of GPL version 3, you are granted additional permissions
20
* described in the GCC Runtime Library Exception, version 3.1, as published by
21
* the Free Software Foundation.
22
*
23
* You should have received a copy of the GNU General Public License and a copy of
24
* the GCC Runtime Library Exception along with this program; see the files
25
* COPYING3 and COPYING.RUNTIME respectively. If not, see
26
* <http://www.gnu.org/licenses/>.
27
*/
28
29
#pragma once
30
31
namespace
sux::bits
{
32
41
class
DynamicBitVector
{
42
public
:
43
virtual
~DynamicBitVector
() =
default
;
44
52
virtual
uint64_t
update
(
size_t
index, uint64_t word) = 0;
53
59
virtual
bool
set
(
size_t
index) = 0;
60
67
virtual
bool
clear
(
size_t
index) = 0;
68
75
virtual
bool
toggle
(
size_t
index) = 0;
76
78
virtual
size_t
bitCount
()
const
= 0;
79
};
80
81
}
// namespace sux::bits
sux::bits::DynamicBitVector::update
virtual uint64_t update(size_t index, uint64_t word)=0
sux::bits::DynamicBitVector::~DynamicBitVector
virtual ~DynamicBitVector()=default
sux::bits::DynamicBitVector::set
virtual bool set(size_t index)=0
sux::bits::DynamicBitVector
Definition:
DynamicBitVector.hpp:41
sux::bits::DynamicBitVector::clear
virtual bool clear(size_t index)=0
sux::bits
Definition:
DynamicBitVector.hpp:31
sux::bits::DynamicBitVector::bitCount
virtual size_t bitCount() const =0
sux::bits::DynamicBitVector::toggle
virtual bool toggle(size_t index)=0
Generated by
1.8.16