dune-common
2.2.0
|
A proxy class that acts as a mutable reference to a single bitset in a BitSetVector. More...
#include <dune/common/bitsetvector.hh>
Public Types | |
typedef std::bitset< block_size > | bitset |
typedef size_t | size_type |
size_type typedef (an unsigned integral type) | |
typedef std::vector< bool, Alloc >::reference | reference |
typedef std::vector< bool, Alloc >::const_reference | const_reference |
A proxy class that acts as a const reference to a single bit. | |
Public Member Functions | |
BitSetVectorReference & | operator= (bool b) |
Assignment from bool, sets each bit in the bitset to b. | |
BitSetVectorReference & | operator= (const bitset &b) |
Assignment from bitset. | |
BitSetVectorReference & | operator= (const BitSetVectorConstReference &b) |
Assignment from BitSetVectorConstReference. | |
BitSetVectorReference & | operator= (const BitSetVectorReference &b) |
Assignment from BitSetVectorReference. | |
BitSetVectorReference & | operator&= (const bitset &x) |
Bitwise and (for bitset). | |
BitSetVectorReference & | operator&= (const BitSetVectorConstReference &x) |
Bitwise and (for BitSetVectorConstReference and BitSetVectorReference) | |
BitSetVectorReference & | operator|= (const bitset &x) |
Bitwise inclusive or (for bitset) | |
BitSetVectorReference & | operator|= (const BitSetVectorConstReference &x) |
Bitwise inclusive or (for BitSetVectorConstReference and BitSetVectorReference) | |
BitSetVectorReference & | operator^= (const bitset &x) |
Bitwise exclusive or (for bitset). | |
BitSetVectorReference & | operator^= (const BitSetVectorConstReference &x) |
Bitwise exclusive or (for BitSetVectorConstReference and BitSetVectorReference) | |
BitSetVectorReference & | operator<<= (size_type n) |
Left shift. | |
BitSetVectorReference & | operator>>= (size_type n) |
Right shift. | |
BitSetVectorReference & | set () |
BitSetVectorReference & | flip () |
Flips the value of every bit. | |
BitSetVectorReference & | reset () |
Clears every bit. | |
BitSetVectorReference & | set (size_type n, int val=1) |
Sets bit n if val is nonzero, and clears bit n if val is zero. | |
BitSetVectorReference & | reset (size_type n) |
Clears bit n. | |
BitSetVectorReference & | flip (size_type n) |
Flips bit n. | |
reference | operator[] (size_type i) |
bitset | operator<< (size_type n) const |
Returns a copy of *this shifted left by n bits. | |
bitset | operator>> (size_type n) const |
Returns a copy of *this shifted right by n bits. | |
bitset | operator~ () const |
Returns a copy of *this with all of its bits flipped. | |
size_type | size () const |
Returns block_size. | |
size_type | count () const |
Returns the number of bits that are set. | |
bool | any () const |
Returns true if any bits are set. | |
bool | none () const |
Returns true if no bits are set. | |
bool | test (size_type n) const |
Returns true if bit n is set. | |
const_reference | operator[] (size_type i) const |
operator bitset () const | |
cast to bitset | |
bool | operator== (const bitset &bs) const |
Equality of reference and std::bitset. | |
bool | operator== (const BitSetVectorConstReference &bs) const |
Equality of reference and other reference. | |
bool | operator!= (const bitset &bs) const |
Inequality of reference and std::bitset. | |
bool | operator!= (const BitSetVectorConstReference &bs) const |
Inequality of reference and other reference. | |
Protected Types | |
typedef Dune::BitSetVector < block_size, Alloc > | BitSetVector |
typedef Dune::BitSetVectorConstReference < block_size, Alloc > | BitSetVectorConstReference |
Protected Member Functions | |
BitSetVectorReference (BitSetVector &blockBitField, int block_number) | |
reference | getBit (size_type i) |
const_reference | getBit (size_type i) const |
template<class BS > | |
bool | equals (const BS &bs) const |
Protected Attributes | |
BitSetVector & | blockBitField |
int | block_number |
Friends | |
class | Dune::BitSetVector< block_size, Alloc > |
std::ostream & | operator<< (std::ostream &s, const BitSetVectorConstReference &v) |
A proxy class that acts as a mutable reference to a single bitset in a BitSetVector.
It contains an assignment operator from std::bitset. It inherits the const std::bitset interface provided by BitSetVectorConstReference and adds most of the non-const methods of std::bitset.
typedef std::bitset<block_size> Dune::BitSetVectorReference< block_size, Alloc >::bitset |
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
typedef Dune::BitSetVector<block_size, Alloc> Dune::BitSetVectorReference< block_size, Alloc >::BitSetVector [protected] |
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
typedef Dune::BitSetVectorConstReference<block_size,Alloc> Dune::BitSetVectorReference< block_size, Alloc >::BitSetVectorConstReference [protected] |
typedef std::vector<bool, Alloc>::const_reference Dune::BitSetVectorReference< block_size, Alloc >::const_reference |
A proxy class that acts as a const reference to a single bit.
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
typedef std::vector<bool, Alloc>::reference Dune::BitSetVectorReference< block_size, Alloc >::reference |
bitset interface typedefs
A proxy class that acts as a reference to a single bit.
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
typedef size_t Dune::BitSetVectorReference< block_size, Alloc >::size_type |
size_type typedef (an unsigned integral type)
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
Dune::BitSetVectorReference< block_size, Alloc >::BitSetVectorReference | ( | BitSetVector & | blockBitField, |
int | block_number | ||
) | [inline, protected] |
bool Dune::BitSetVectorConstReference< block_size, Alloc >::any | ( | ) | const [inline, inherited] |
Returns true if any bits are set.
References Dune::BitSetVectorConstReference< block_size, Alloc >::count().
Referenced by Dune::BitSetVectorConstReference< block_size, Alloc >::none().
size_type Dune::BitSetVectorConstReference< block_size, Alloc >::count | ( | ) | const [inline, inherited] |
Returns the number of bits that are set.
References Dune::BitSetVectorConstReference< block_size, Alloc >::getBit().
Referenced by Dune::BitSetVectorConstReference< block_size, Alloc >::any().
bool Dune::BitSetVectorConstReference< block_size, Alloc >::equals | ( | const BS & | bs | ) | const [inline, protected, inherited] |
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::flip | ( | ) | [inline] |
Flips the value of every bit.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::flip | ( | size_type | n | ) | [inline] |
Flips bit n.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit().
const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::getBit | ( | size_type | i | ) | const [inline, protected, inherited] |
References Dune::BitSetVectorConstReference< block_size, Alloc >::block_number, and Dune::BitSetVectorConstReference< block_size, Alloc >::blockBitField.
Referenced by Dune::BitSetVectorConstReference< block_size, Alloc >::count(), Dune::BitSetVectorConstReference< block_size, Alloc >::equals(), Dune::BitSetVectorConstReference< block_size, Alloc >::operator[](), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
reference Dune::BitSetVectorReference< block_size, Alloc >::getBit | ( | size_type | i | ) | [inline, protected] |
References Dune::BitSetVectorConstReference< block_size, Alloc >::block_number, and Dune::BitSetVectorReference< block_size, Alloc >::blockBitField.
Referenced by Dune::BitSetVectorReference< block_size, Alloc >::flip(), Dune::BitSetVectorReference< block_size, Alloc >::operator&=(), Dune::BitSetVectorReference< block_size, Alloc >::operator<<=(), Dune::BitSetVectorReference< block_size, Alloc >::operator=(), Dune::BitSetVectorReference< block_size, Alloc >::operator>>=(), Dune::BitSetVectorReference< block_size, Alloc >::operator[](), Dune::BitSetVectorReference< block_size, Alloc >::operator^=(), Dune::BitSetVectorReference< block_size, Alloc >::operator|=(), and Dune::BitSetVectorReference< block_size, Alloc >::set().
bool Dune::BitSetVectorConstReference< block_size, Alloc >::none | ( | ) | const [inline, inherited] |
Returns true if no bits are set.
References Dune::BitSetVectorConstReference< block_size, Alloc >::any().
Dune::BitSetVectorConstReference< block_size, Alloc >::operator bitset | ( | ) | const [inline, inherited] |
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator!= | ( | const bitset & | bs | ) | const [inline, inherited] |
Inequality of reference and std::bitset.
References Dune::BitSetVectorConstReference< block_size, Alloc >::equals().
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator!= | ( | const BitSetVectorConstReference< block_size, Alloc > & | bs | ) | const [inline, inherited] |
Inequality of reference and other reference.
References Dune::BitSetVectorConstReference< block_size, Alloc >::equals().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator&= | ( | const bitset & | x | ) | [inline] |
Bitwise and (for bitset).
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator&= | ( | const BitSetVectorConstReference & | x | ) | [inline] |
Bitwise and (for BitSetVectorConstReference and BitSetVectorReference)
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator<< | ( | size_type | n | ) | const [inline, inherited] |
Returns a copy of *this shifted left by n bits.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator<<= | ( | size_type | n | ) | [inline] |
Left shift.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator= | ( | bool | b | ) | [inline] |
Assignment from bool, sets each bit in the bitset to b.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator= | ( | const bitset & | b | ) | [inline] |
Assignment from bitset.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator= | ( | const BitSetVectorConstReference & | b | ) | [inline] |
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator= | ( | const BitSetVectorReference< block_size, Alloc > & | b | ) | [inline] |
Assignment from BitSetVectorReference.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator== | ( | const bitset & | bs | ) | const [inline, inherited] |
Equality of reference and std::bitset.
References Dune::BitSetVectorConstReference< block_size, Alloc >::equals().
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator== | ( | const BitSetVectorConstReference< block_size, Alloc > & | bs | ) | const [inline, inherited] |
Equality of reference and other reference.
References Dune::BitSetVectorConstReference< block_size, Alloc >::equals().
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator>> | ( | size_type | n | ) | const [inline, inherited] |
Returns a copy of *this shifted right by n bits.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator>>= | ( | size_type | n | ) | [inline] |
Right shift.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::operator[] | ( | size_type | i | ) | const [inline, inherited] |
reference Dune::BitSetVectorReference< block_size, Alloc >::operator[] | ( | size_type | i | ) | [inline] |
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator^= | ( | const bitset & | x | ) | [inline] |
Bitwise exclusive or (for bitset).
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator^= | ( | const BitSetVectorConstReference & | x | ) | [inline] |
Bitwise exclusive or (for BitSetVectorConstReference and BitSetVectorReference)
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator|= | ( | const bitset & | x | ) | [inline] |
Bitwise inclusive or (for bitset)
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::operator|= | ( | const BitSetVectorConstReference & | x | ) | [inline] |
Bitwise inclusive or (for BitSetVectorConstReference and BitSetVectorReference)
References Dune::BitSetVectorReference< block_size, Alloc >::getBit(), and Dune::BitSetVectorConstReference< block_size, Alloc >::test().
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator~ | ( | ) | const [inline, inherited] |
Returns a copy of *this with all of its bits flipped.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::reset | ( | ) | [inline] |
Clears every bit.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::reset | ( | size_type | n | ) | [inline] |
Clears bit n.
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::set | ( | ) | [inline] |
BitSetVectorReference& Dune::BitSetVectorReference< block_size, Alloc >::set | ( | size_type | n, |
int | val = 1 |
||
) | [inline] |
Sets bit n if val is nonzero, and clears bit n if val is zero.
References Dune::BitSetVectorReference< block_size, Alloc >::getBit().
size_type Dune::BitSetVectorConstReference< block_size, Alloc >::size | ( | ) | const [inline, inherited] |
Returns block_size.
bool Dune::BitSetVectorConstReference< block_size, Alloc >::test | ( | size_type | n | ) | const [inline, inherited] |
Returns true if bit n is set.
References Dune::BitSetVectorConstReference< block_size, Alloc >::getBit().
Referenced by Dune::BitSetVectorReference< block_size, Alloc >::operator&=(), Dune::BitSetVectorReference< block_size, Alloc >::operator<<=(), Dune::BitSetVectorReference< block_size, Alloc >::operator=(), Dune::BitSetVectorReference< block_size, Alloc >::operator>>=(), Dune::BitSetVectorReference< block_size, Alloc >::operator^=(), and Dune::BitSetVectorReference< block_size, Alloc >::operator|=().
friend class Dune::BitSetVector< block_size, Alloc > [friend] |
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
std::ostream& operator<< | ( | std::ostream & | s, |
const BitSetVectorConstReference< block_size, Alloc > & | v | ||
) | [friend, inherited] |
missing operators:
int Dune::BitSetVectorConstReference< block_size, Alloc >::block_number [protected, inherited] |
BitSetVector& Dune::BitSetVectorReference< block_size, Alloc >::blockBitField [protected] |
Reimplemented from Dune::BitSetVectorConstReference< block_size, Alloc >.
Referenced by Dune::BitSetVectorReference< block_size, Alloc >::getBit().