BitSet Class Reference

#include <BitSet.hpp>

List of all members.

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::BitSet ( unsigned int  nbits = 64  ) 
BitSet::BitSet ( const unsigned long *  bits_,
unsigned int  nlongs 
)
BitSet::~BitSet (  ) 

Member Function Documentation

void BitSet::add ( unsigned int  el  ) 
bool BitSet::member ( unsigned int  el  )  const
std::vector< unsigned int > BitSet::toArray (  )  const

Member Data Documentation

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines

Generated on 16 Nov 2015 for ANTLR Support Libraries 2.7.1+ by  doxygen 1.6.1