Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Bitset Struct Reference

Dynamic bitset class. More...

List of all members.

Public Member Functions

 Bitset (size_type max)
 Default constructor.
 Bitset (size_type max, const data_type *data)
 Constructor with user-provided bit field.
 Bitset (const Bitset &bs)
 Copy constructor.
template<class InputIterator>
 Bitset (InputIterator first, InputIterator last)
 Constructor from Input Iterators.
 ~Bitset ()
 Standard destructor.
Bitsetoperator= (const Bitset &rhs)
 Affectation.
void swap (Bitset &other)
 Swap with another Bitset.
void clear ()
 Clear the set.
iterator find (const key_type &x) const
 Find an element in the set.
size_type count (const key_type &x) const
 Used for compatibility with std::set. Returns 0 or 1.
bool operator[] (const key_type &x) const
 Returns the xth bit.
Bitset project (const Bitset &b) const
 Project the set onto another bitset. The result is space-optimized.
Bitset unproject (const Bitset &b) const
 Inverse function of project.
unsigned to_unsigned () const
 Reinterpret bits as unsigned int.
template<typename Type>
const Type cast () const
 Reinterpret bits as another type.
std::ostream & print (std::ostream &ostr) const
 Print the set.
iterator begin ()
 Iterators.
const_iterator begin () const
 Iterators.
iterator end ()
 Iterators.
const_iterator end () const
 Iterators.
reverse_iterator rbegin ()
 Reverse iterators.
const_reverse_iterator rbegin () const
 Reverse iterators.
reverse_iterator rend ()
 Reverse iterators.
const_reverse_iterator rend () const
 Reverse iterators.
std::pair< iterator, bool > insert (const value_type &x)
 Insert an element into the set.
iterator insert (iterator position, const value_type &x)
 Insert an element into the set.
template<class InputIterator>
void insert (InputIterator first, InputIterator last)
 Insert an element into the set.
void erase (iterator position)
 Erase an element from the set.
size_type erase (const key_type &x)
 Erase an element from the set.
void erase (iterator first, iterator last)
 Erase an element from the set.

Protected Member Functions

bool get_bit (size_type index, size_type bit) const
 Get a bit inside data_.
size_type compute_size () const
 Recalculate the set's size when invalid.
bool get_bit (const bit_iterator &it) const
 Get a bit inside data_ given an iterator.
template<class BitAction>
bool do_on_bit (BitAction &action, const key_type &x)
 Perform an action onto the bit corresponding to an element.
template<class BitAction>
bool do_on_bit (BitAction &action, const bit_iterator &it)
 Perform an action onto the bit corresponding to an element.
template<class ConstBitAction>
bool do_on_bit (ConstBitAction &action, const key_type &x) const
 Perform an action onto the bit corresponding to an element, const.
template<class ConstBitAction>
bool do_on_bit (ConstBitAction &action, const bit_iterator &it) const
 Perform an action onto the bit corresponding to an element, const.

Static Protected Member Functions

static size_type get_data_size (size_type max)
 Calculates the number of data_type needed for the set.
static size_type get_index (const key_type &x)
 Get the index of x in the data_ attribute.
static size_type get_bitnum (const key_type &x)
 Get the bit number of x inside the data_[i] attribute.


Detailed Description

Dynamic bitset class.

This is a dynamic bitset implementation which behave almost like a std::set<int>.

Author:
Thomas Claveirole <thomas@lrde.epita.fr>


Constructor & Destructor Documentation

Bitset size_type  max  )  [inline]
 

Default constructor.

Parameters:
max The highest integer which could be inserted into the set.


Member Function Documentation

Bitset unproject const Bitset b  )  const [inline]
 

Inverse function of project.

S.project(T).unproject(T) == S cap T

See also:
project()


Generated on Thu Oct 27 12:52:06 2005 for Vaucanson by  doxygen 1.4.1