BitMagicC++Library
Public Member Functions
bm::bvector< Alloc >::reference Class Reference

Class reference implements an object for bit assignment. More...

#include <bm.h>

Public Member Functions

 reference (bvector< Alloc > &bv, bm::id_t position)
 
 reference (const reference &ref)
 
 operator bool () const
 
const referenceoperator= (const reference &ref) const
 
const referenceoperator= (bool value) const
 
bool operator== (const reference &ref) const
 
const referenceoperator &= (bool value) const
 
const referenceoperator|= (bool value) const
 
const referenceoperator^= (bool value) const
 
bool operator! () const
 
bool operator~ () const
 
referenceflip ()
 

Detailed Description

template<class Alloc>
class bm::bvector< Alloc >::reference

Class reference implements an object for bit assignment.

Since C++ does not provide with build-in bit type supporting l-value operations we have to emulate it.

Definition at line 128 of file bm.h.

Constructor & Destructor Documentation

◆ reference() [1/2]

template<class Alloc>
bm::bvector< Alloc >::reference::reference ( bvector< Alloc > &  bv,
bm::id_t  position 
)
inline

Definition at line 131 of file bm.h.

◆ reference() [2/2]

template<class Alloc>
bm::bvector< Alloc >::reference::reference ( const reference ref)
inline

Definition at line 136 of file bm.h.

Member Function Documentation

◆ flip()

template<class Alloc>
reference& bm::bvector< Alloc >::reference::flip ( )
inline

Negates the bit value

Definition at line 202 of file bm.h.

References bm::bvector< Alloc >::reference::flip().

Referenced by bm::bvector< Alloc >::reference::flip().

◆ operator &=()

template<class Alloc>
const reference& bm::bvector< Alloc >::reference::operator&= ( bool  value) const
inline

Bitwise AND. Performs operation: bit = bit AND value

Definition at line 166 of file bm.h.

◆ operator bool()

template<class Alloc>
bm::bvector< Alloc >::reference::operator bool ( ) const
inline

Definition at line 143 of file bm.h.

◆ operator!()

template<class Alloc>
bool bm::bvector< Alloc >::reference::operator! ( ) const
inline

Logical Not operator

Definition at line 190 of file bm.h.

◆ operator=() [1/2]

template<class Alloc>
const reference& bm::bvector< Alloc >::reference::operator= ( const reference ref) const
inline

Definition at line 148 of file bm.h.

◆ operator=() [2/2]

template<class Alloc>
const reference& bm::bvector< Alloc >::reference::operator= ( bool  value) const
inline

Definition at line 154 of file bm.h.

◆ operator==()

template<class Alloc>
bool bm::bvector< Alloc >::reference::operator== ( const reference ref) const
inline

Definition at line 160 of file bm.h.

◆ operator^=()

template<class Alloc>
const reference& bm::bvector< Alloc >::reference::operator^= ( bool  value) const
inline

Bitwise exclusive-OR (XOR). Performs operation: bit = bit XOR value

Definition at line 183 of file bm.h.

◆ operator|=()

template<class Alloc>
const reference& bm::bvector< Alloc >::reference::operator|= ( bool  value) const
inline

Bitwise OR. Performs operation: bit = bit OR value

Definition at line 173 of file bm.h.

◆ operator~()

template<class Alloc>
bool bm::bvector< Alloc >::reference::operator~ ( ) const
inline

Bit Not operator

Definition at line 196 of file bm.h.


The documentation for this class was generated from the following file: