atlas
0.6
|
Set of n bits. More...
#include <Atlas.h>
Classes | |
struct | iterator |
Public Types | |
typedef iterator | const_iterator |
Public Member Functions | |
BitSet () | |
BitSet (unsigned long b) | |
template<typename I > | |
BitSet (const std::vector< I > &v) | |
template<size_t m> | |
BitSet (const BitSet< m > &b) | |
Copy from other size BitSets, only to be used with |m<n|. More... | |
iterator | begin () const |
iterator | end () const |
BitSet & | operator^= (const BitSet &b) |
BitSet & | operator|= (const BitSet &b) |
BitSet & | operator&= (const BitSet &b) |
BitSet & | operator<<= (unsigned int c) |
BitSet & | operator>>= (unsigned int c) |
BitSet & | andnot (const BitSet &b) |
BitSet & | flip (unsigned int j) |
BitSet & | reset () |
BitSet & | reset (unsigned int j) |
BitSet & | set (unsigned int j) |
BitSet & | set (unsigned int j, bool b) |
BitSet & | fill (unsigned int limit) |
BitSet & | complement (unsigned int limit) |
BitSet & | truncate (unsigned int m) |
BitSet & | slice (const BitSet &c) |
BitSet & | unslice (const BitSet &c) |
void | swap (BitSet &source) |
bool | operator[] (unsigned int j) const |
BitSet | operator& (const BitSet &b) const |
BitSet | operator| (const BitSet &b) const |
BitSet | operator^ (const BitSet &b) const |
BitSet | operator- (const BitSet &b) const |
bool | dot (BitSet b) const |
Private Types | |
typedef BitSetBase< BaseSize< n >::value > | Base |
Set of n bits.
The first typedef defines Base to be BitSetBase<m>. Consequently function references of the form Base::contains refer to BitSetBase<m>::contains. [DV doesn't know whether this could have been avoided by replacing ":private BitSetBase" by ":public BitSetBase" in the template for BitSet, and just invoking the (public) member functions of the base class directly. MvL thinks that that would be possible; this depends on the fact (also used in the actual implementation below) that the argument of 'contains' is implicitly converted to its base class BitSetBase<m> because the method of the base class requires this. However, this would expose all public methods of BitSetBase to users of BitSet, which is not desired. This could however be remedied by making protected rather than public the methods of BitSetBase that are only for internal use by BitSet implementations.]
|
private |
typedef iterator atlas::bitset::BitSet< n >::const_iterator |
|
inline |
|
inlineexplicit |
|
explicit |
|
inline |
Copy from other size BitSets, only to be used with |m<n|.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |