ANTLR Support Libraries 2.7.1+
Public Member Functions | Private Attributes | List of all members
BitSet Class Reference

#include <BitSet.hpp>

Public Member Functions

 BitSet (unsigned int nbits=64)
 
 BitSet (const unsigned long *bits_, unsigned int nlongs)
 
 ~BitSet ()
 
void add (unsigned int el)
 
bool member (unsigned int el) const
 
std ::vector< unsigned int > toArray () const
 

Private Attributes

std ::vector< bool > storage
 

Detailed Description

A BitSet to replace java.util.BitSet. Primary differences are that most set operators return new sets as opposed to oring and anding "in place". Further, a number of operations were added. I cannot contain a BitSet because there is no way to access the internal bits (which I need for speed) and, because it is final, I cannot subclass to add functionality. Consider defining set degree. Without access to the bits, I must call a method n times to test the ith bit...ack!

Also seems like or() from util is wrong when size of incoming set is bigger than this.length.

This is a C++ version of the Java class described above, with only a handful of the methods implemented, because we don't need the others at runtime. It's really just a wrapper around vector<bool>, which should probably be changed to a wrapper around bitset, once bitset is more widely available.

Author
Terence Parr, MageLang Institute

Pete Wells

Constructor & Destructor Documentation

◆ BitSet() [1/2]

BitSet::BitSet ( unsigned int  nbits = 64)

◆ BitSet() [2/2]

BitSet::BitSet ( const unsigned long *  bits_,
unsigned int  nlongs 
)

◆ ~BitSet()

BitSet::~BitSet ( )

Member Function Documentation

◆ add()

void BitSet::add ( unsigned int  el)

◆ member()

bool BitSet::member ( unsigned int  el) const

◆ toArray()

std::vector< unsigned int > BitSet::toArray ( ) const

Member Data Documentation

◆ storage

std ::vector<bool> BitSet::storage
private

The documentation for this class was generated from the following files: