OpenMD
3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
BitSet.hpp
1
#ifndef INC_BitSet_hpp__
2
#define INC_BitSet_hpp__
3
4
/* ANTLR Translator Generator
5
* Project led by Terence Parr at http://www.jGuru.com
6
* Software rights: http://www.antlr.org/license.html
7
*
8
* $Id$
9
*/
10
11
#include <antlr/config.hpp>
12
#include <vector>
13
#include <stdexcept>
14
15
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
16
namespace
antlr {
17
#endif
18
19
/** A BitSet to replace java.util.BitSet.
20
* Primary differences are that most set operators return new sets
21
* as opposed to oring and anding "in place". Further, a number of
22
* operations were added. I cannot contain a BitSet because there
23
* is no way to access the internal bits (which I need for speed)
24
* and, because it is final, I cannot subclass to add functionality.
25
* Consider defining set degree. Without access to the bits, I must
26
* call a method n times to test the ith bit...ack!
27
*
28
* Also seems like or() from util is wrong when size of incoming set is bigger
29
* than this.length.
30
*
31
* This is a C++ version of the Java class described above, with only
32
* a handful of the methods implemented, because we don't need the
33
* others at runtime. It's really just a wrapper around vector<bool>,
34
* which should probably be changed to a wrapper around bitset, once
35
* bitset is more widely available.
36
*
37
* @author Terence Parr, MageLang Institute
38
* @author <br><a href="mailto:pete@yamuna.demon.co.uk">Pete Wells</a>
39
*/
40
class
ANTLR_API
BitSet
{
41
private
:
42
ANTLR_USE_NAMESPACE(std)vector<bool> storage;
43
44
public
:
45
BitSet
(
unsigned
int
nbits=64 );
46
BitSet
(
const
unsigned
long
* bits_,
unsigned
int
nlongs);
47
~BitSet
();
48
49
void
add(
unsigned
int
el );
50
51
bool
member(
unsigned
int
el )
const
;
52
53
ANTLR_USE_NAMESPACE(std)vector<unsigned int> toArray()
const
;
54
};
55
56
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
57
}
58
#endif
59
60
#endif
//INC_BitSet_hpp__
antlr::BitSet
A BitSet to replace java.util.BitSet.
Definition
BitSet.hpp:40
antlr
BitSet.hpp
Generated on Wed Jun 26 2024 13:56:38 for OpenMD by
1.11.0