#include <AH/Containers/BitArray.hpp>
template<uint16_t N>
class AH::BitArray< N >
A class for arrays of bits.
- Template Parameters
-
Definition at line 25 of file BitArray.hpp.
|
bool | get (uint16_t bitIndex) const |
| Get the value of the given bit. More...
|
|
void | set (uint16_t bitIndex) |
| Set the value of the given bit to 1. More...
|
|
void | clear (uint16_t bitIndex) |
| Clear the value of the given bit to 0. More...
|
|
void | set (uint16_t bitIndex, bool state) |
| Set the value of the given bit to the given state. More...
|
|
uint16_t | safeIndex (uint16_t byteIndex) const |
| Check the given byte index, and return it if it is within the bounds of the array, otherwise, throw an error, and return the last valid index. More...
|
|
const uint8_t & | getByte (uint16_t byteIndex) const |
| Get the byte at the given index. More...
|
|
uint8_t & | getByte (uint16_t byteIndex) |
| Get the byte at the given index. More...
|
|
void | setByte (uint16_t byteIndex, uint8_t value) |
| Set the byte at the given index. More...
|
|
uint16_t | getBufferLength () const |
| Get the buffer length in bytes. More...
|
|
|
static constexpr uint16_t | bufferLength = (uint16_t)((N + 7) / 8) |
|
◆ get()
bool get |
( |
uint16_t |
bitIndex | ) |
const |
|
inline |
Get the value of the given bit.
- Parameters
-
bitIndex | The (zero-based) index of the bit to read. |
Definition at line 33 of file BitArray.hpp.
◆ set() [1/2]
void set |
( |
uint16_t |
bitIndex | ) |
|
|
inline |
Set the value of the given bit to 1.
- Parameters
-
bitIndex | The (zero-based) index of the bit to set. |
Definition at line 43 of file BitArray.hpp.
◆ clear()
void clear |
( |
uint16_t |
bitIndex | ) |
|
|
inline |
Clear the value of the given bit to 0.
- Parameters
-
bitIndex | The (zero-based) index of the bit to clear. |
Definition at line 53 of file BitArray.hpp.
◆ set() [2/2]
void set |
( |
uint16_t |
bitIndex, |
|
|
bool |
state |
|
) |
| |
|
inline |
Set the value of the given bit to the given state.
- Parameters
-
bitIndex | The (zero-based) index of the bit to set. |
state | The value to set the bit to. |
Definition at line 65 of file BitArray.hpp.
◆ safeIndex()
uint16_t safeIndex |
( |
uint16_t |
byteIndex | ) |
const |
|
inline |
Check the given byte index, and return it if it is within the bounds of the array, otherwise, throw an error, and return the last valid index.
- Parameters
-
byteIndex | The index to check. |
Definition at line 77 of file BitArray.hpp.
◆ getByte() [1/2]
const uint8_t & getByte |
( |
uint16_t |
byteIndex | ) |
const |
|
inline |
Get the byte at the given index.
This function can be used to quickly access all of the bits, to send them out to a shift register, for example.
- Note
- No bounds checking is performed.
- Parameters
-
byteIndex | The index of the byte within the array. |
Definition at line 99 of file BitArray.hpp.
◆ getByte() [2/2]
uint8_t & getByte |
( |
uint16_t |
byteIndex | ) |
|
|
inline |
Get the byte at the given index.
This function can be used to quickly access all of the bits, to send them out to a shift register, for example.
- Note
- No bounds checking is performed.
- Parameters
-
byteIndex | The index of the byte within the array. |
Definition at line 104 of file BitArray.hpp.
◆ setByte()
void setByte |
( |
uint16_t |
byteIndex, |
|
|
uint8_t |
value |
|
) |
| |
|
inline |
Set the byte at the given index.
This function can be used to quickly write all of the bits, when reading them in from an I/O expander, for example.
- Note
- No bounds checking is performed.
- Parameters
-
byteIndex | The index of the byte within the array. |
value | The byte to write. |
Definition at line 122 of file BitArray.hpp.
◆ getBufferLength()
uint16_t getBufferLength |
( |
| ) |
const |
|
inline |
Get the buffer length in bytes.
Definition at line 129 of file BitArray.hpp.
◆ getBufferIndex()
uint16_t getBufferIndex |
( |
uint16_t |
bitIndex | ) |
const |
|
inlineprivate |
◆ getBufferBit()
uint8_t getBufferBit |
( |
uint16_t |
bitIndex | ) |
const |
|
inlineprivate |
◆ getBufferMask()
uint8_t getBufferMask |
( |
uint16_t |
bitIndex | ) |
const |
|
inlineprivate |
◆ bufferLength
constexpr uint16_t bufferLength = (uint16_t)((N + 7) / 8) |
|
staticconstexprprivate |
◆ buffer
The documentation for this class was generated from the following file: