|
CIRCT 22.0.0git
|
Forward iterator for iterating over bits from LSB (index 0) to MSB. More...
#include <Values.h>

Public Types | |
| using | difference_type = std::ptrdiff_t |
| using | value_type = bool |
| using | pointer = const bool * |
| using | reference = bool |
| using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
| bit_iterator ()=default | |
| Default constructor. | |
| bit_iterator (const BitVector *bv, size_t pos=0) | |
| Construct an iterator at the given bit position. | |
| bool | operator* () const |
| Dereference: returns the bit value at the current position. | |
| bit_iterator & | operator++ () |
| Pre-increment: move to next bit. | |
| bit_iterator | operator++ (int) |
| Post-increment: move to next bit. | |
| bool | operator== (const bit_iterator &other) const |
| Equality comparison. | |
| bool | operator!= (const bit_iterator &other) const |
| Inequality comparison. | |
| bool | operator< (const bit_iterator &other) const |
| Less-than comparison (for ranges support). | |
| bool | operator== (std::default_sentinel_t) const |
| Sentinel-compatible equality (for ranges support). | |
| bool | operator!= (std::default_sentinel_t sent) const |
| Sentinel-compatible inequality. | |
Private Attributes | |
| const BitVector * | bitVector = nullptr |
| size_t | position = 0 |
Forward iterator for iterating over bits from LSB (index 0) to MSB.
| using esi::BitVector::bit_iterator::difference_type = std::ptrdiff_t |
| using esi::BitVector::bit_iterator::iterator_category = std::forward_iterator_tag |
| using esi::BitVector::bit_iterator::pointer = const bool * |
| using esi::BitVector::bit_iterator::reference = bool |
| using esi::BitVector::bit_iterator::value_type = bool |
|
default |
Default constructor.
|
inline |
|
inline |
|
inline |
|
inline |
Dereference: returns the bit value at the current position.
Definition at line 121 of file Values.h.
References bitVector, esi::BitVector::bitWidth, esi::BitVector::getBit(), and position.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sentinel-compatible equality (for ranges support).
Definition at line 156 of file Values.h.
References bitVector, esi::BitVector::bitWidth, and position.
|
private |
Definition at line 166 of file Values.h.
Referenced by operator*(), operator<(), operator==(), and operator==().
|
private |
Definition at line 167 of file Values.h.
Referenced by operator*(), operator++(), operator++(), operator<(), operator==(), and operator==().