diff options
Diffstat (limited to 'src/unstable')
| -rw-r--r-- | src/unstable/bitstring.cpp | 12 | ||||
| -rw-r--r-- | src/unstable/bitstring.h | 10 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/unstable/bitstring.cpp b/src/unstable/bitstring.cpp index 21c1316..b80c073 100644 --- a/src/unstable/bitstring.cpp +++ b/src/unstable/bitstring.cpp | |||
| @@ -209,7 +209,7 @@ void Bu::BitString::flipBit( long iBit ) | |||
| 209 | caData[iBit/8] ^= (1<<(iBit%8)); | 209 | caData[iBit/8] ^= (1<<(iBit%8)); |
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | bool Bu::BitString::getBit( long iBit ) | 212 | bool Bu::BitString::getBit( long iBit ) const |
| 213 | { | 213 | { |
| 214 | if( iBit >= iBits || iBit < 0 ) return false; | 214 | if( iBit >= iBits || iBit < 0 ) return false; |
| 215 | if( (caData[iBit/8] & (1<<(iBit%8))) == 0 ) | 215 | if( (caData[iBit/8] & (1<<(iBit%8))) == 0 ) |
| @@ -224,7 +224,7 @@ long Bu::BitString::getBitLength() | |||
| 224 | return iBits; | 224 | return iBits; |
| 225 | } | 225 | } |
| 226 | 226 | ||
| 227 | long Bu::BitString::getSize() | 227 | long Bu::BitString::getSize() const |
| 228 | { | 228 | { |
| 229 | return iBits; | 229 | return iBits; |
| 230 | } | 230 | } |
| @@ -311,6 +311,14 @@ void Bu::BitString::clear() | |||
| 311 | } | 311 | } |
| 312 | } | 312 | } |
| 313 | 313 | ||
| 314 | void Bu::BitString::fill() | ||
| 315 | { | ||
| 316 | if( caData != NULL ) | ||
| 317 | { | ||
| 318 | memset( caData, 0xff, iBytes ); | ||
| 319 | } | ||
| 320 | } | ||
| 321 | |||
| 314 | bool Bu::BitString::setBitLength( long iLength, bool bClear ) | 322 | bool Bu::BitString::setBitLength( long iLength, bool bClear ) |
| 315 | { | 323 | { |
| 316 | return setSize( iLength, bClear ); | 324 | return setSize( iLength, bClear ); |
diff --git a/src/unstable/bitstring.h b/src/unstable/bitstring.h index afc22fb..70ba822 100644 --- a/src/unstable/bitstring.h +++ b/src/unstable/bitstring.h | |||
| @@ -88,7 +88,7 @@ namespace Bu | |||
| 88 | *@param iBit The index of the bit to test. | 88 | *@param iBit The index of the bit to test. |
| 89 | *@returns True for a 1, false for a 0. | 89 | *@returns True for a 1, false for a 0. |
| 90 | */ | 90 | */ |
| 91 | bool getBit( long iBit ); | 91 | bool getBit( long iBit ) const; |
| 92 | 92 | ||
| 93 | /** | 93 | /** |
| 94 | * Inverts the entire BitString, in effect this calls flipBit on every | 94 | * Inverts the entire BitString, in effect this calls flipBit on every |
| @@ -106,7 +106,7 @@ namespace Bu | |||
| 106 | DEPRECATED | 106 | DEPRECATED |
| 107 | long getBitLength(); | 107 | long getBitLength(); |
| 108 | 108 | ||
| 109 | long getSize(); | 109 | long getSize() const; |
| 110 | 110 | ||
| 111 | /** | 111 | /** |
| 112 | * Sets the entire BitString to zeros, but it does it very quickly. | 112 | * Sets the entire BitString to zeros, but it does it very quickly. |
| @@ -115,6 +115,12 @@ namespace Bu | |||
| 115 | void clear(); | 115 | void clear(); |
| 116 | 116 | ||
| 117 | /** | 117 | /** |
| 118 | * Sets the entire BitString to ones, but it does it very quickly. | ||
| 119 | * This operation runs in O(N). | ||
| 120 | */ | ||
| 121 | void fill(); | ||
| 122 | |||
| 123 | /** | ||
| 118 | * Gets another BitString that is autonomous of the current one | 124 | * Gets another BitString that is autonomous of the current one |
| 119 | * (contains a copy of the memory, not a pointer) and contains a subset | 125 | * (contains a copy of the memory, not a pointer) and contains a subset |
| 120 | * of the data in the current BitString. This is an inclusive | 126 | * of the data in the current BitString. This is an inclusive |
