Dune::BitSetVectorConstReference< block_size, Alloc > Class Template Reference

A proxy class that acts as a const reference to a single bitset in a BitSetVector. More...

#include <dune/common/bitsetvector.hh>

Inheritance diagram for Dune::BitSetVectorConstReference< block_size, Alloc >:
Dune::BitSetVectorReference< block_size, Alloc >

List of all members.

Public Types

typedef std::bitset< block_size > bitset
typedef std::vector< bool,
Alloc >::const_reference 
reference
typedef std::vector< bool,
Alloc >::const_reference 
const_reference
typedef size_t size_type

Public Member Functions

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 all () const
 Returns true if all 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

Protected Member Functions

 BitSetVectorConstReference (const BitSetVector &blockBitField_, int block_number_)
BitSetVectorConstReferenceoperator= (const BitSetVectorConstReference &b)
 hide assignment operator
const_reference getBit (size_type i) const
template<class BS >
bool equals (const BS &bs) const

Protected Attributes

const BitSetVectorblockBitField
int block_number

Friends

std::ostream & operator<< (std::ostream &s, const BitSetVectorConstReference &v)
 Write a DenseVector to an output stream.

Detailed Description

template<int block_size, class Alloc>
class Dune::BitSetVectorConstReference< block_size, Alloc >

A proxy class that acts as a const reference to a single bitset in a BitSetVector.

It contains a conversion to std::bitset and most of the interface of const std::bitset.

Warning:
As this is only a proxy class, you can not get the address of the bitset.

Member Typedef Documentation

template<int block_size, class Alloc >
typedef std::bitset<block_size> Dune::BitSetVectorConstReference< block_size, Alloc >::bitset
template<int block_size, class Alloc >
typedef Dune::BitSetVector<block_size, Alloc> Dune::BitSetVectorConstReference< block_size, Alloc >::BitSetVector [protected]
template<int block_size, class Alloc >
typedef std::vector<bool, Alloc>::const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::const_reference
template<int block_size, class Alloc >
typedef std::vector<bool, Alloc>::const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::reference
template<int block_size, class Alloc >
typedef size_t Dune::BitSetVectorConstReference< block_size, Alloc >::size_type

Constructor & Destructor Documentation

template<int block_size, class Alloc >
Dune::BitSetVectorConstReference< block_size, Alloc >::BitSetVectorConstReference ( const BitSetVector blockBitField_,
int  block_number_ 
) [inline, protected]

Member Function Documentation

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::all (  )  const [inline]

Returns true if all bits are set.

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::any (  )  const [inline]

Returns true if any bits are set.

template<int block_size, class Alloc >
size_type Dune::BitSetVectorConstReference< block_size, Alloc >::count (  )  const [inline]

Returns the number of bits that are set.

template<int block_size, class Alloc >
template<class BS >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::equals ( const BS &  bs  )  const [inline, protected]
template<int block_size, class Alloc >
const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::getBit ( size_type  i  )  const [inline, protected]
template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::none (  )  const [inline]

Returns true if no bits are set.

template<int block_size, class Alloc >
Dune::BitSetVectorConstReference< block_size, Alloc >::operator bitset (  )  const [inline]

cast to bitset

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator!= ( const BitSetVectorConstReference< block_size, Alloc > &  bs  )  const [inline]

Inequality of reference and other reference.

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator!= ( const bitset bs  )  const [inline]

Inequality of reference and std::bitset.

template<int block_size, class Alloc >
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator<< ( size_type  n  )  const [inline]

Returns a copy of *this shifted left by n bits.

template<int block_size, class Alloc >
BitSetVectorConstReference& Dune::BitSetVectorConstReference< block_size, Alloc >::operator= ( const BitSetVectorConstReference< block_size, Alloc > &  b  )  [protected]

hide assignment operator

Reimplemented in Dune::BitSetVectorReference< block_size, Alloc >.

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator== ( const BitSetVectorConstReference< block_size, Alloc > &  bs  )  const [inline]

Equality of reference and other reference.

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::operator== ( const bitset bs  )  const [inline]

Equality of reference and std::bitset.

template<int block_size, class Alloc >
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator>> ( size_type  n  )  const [inline]

Returns a copy of *this shifted right by n bits.

template<int block_size, class Alloc >
const_reference Dune::BitSetVectorConstReference< block_size, Alloc >::operator[] ( size_type  i  )  const [inline]
template<int block_size, class Alloc >
bitset Dune::BitSetVectorConstReference< block_size, Alloc >::operator~ (  )  const [inline]

Returns a copy of *this with all of its bits flipped.

template<int block_size, class Alloc >
size_type Dune::BitSetVectorConstReference< block_size, Alloc >::size (  )  const [inline]

Returns block_size.

template<int block_size, class Alloc >
bool Dune::BitSetVectorConstReference< block_size, Alloc >::test ( size_type  n  )  const [inline]

Returns true if bit n is set.


Member Data Documentation

template<int block_size, class Alloc >
int Dune::BitSetVectorConstReference< block_size, Alloc >::block_number [protected]
template<int block_size, class Alloc >
const BitSetVector& Dune::BitSetVectorConstReference< block_size, Alloc >::blockBitField [protected]

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

Generated on 25 Mar 2018 for dune-common by  doxygen 1.6.1