#include <AH/Containers/BitArray.hpp>
A class for arrays of bits.
N | The number of bits. |
Definition at line 21 of file BitArray.hpp.
Public Member Functions | |
bool | get (uint16_t bitIndex) const |
Get the value of the given bit. | |
void | set (uint16_t bitIndex) |
Set the value of the given bit to 1. | |
void | clear (uint16_t bitIndex) |
Clear the value of the given bit to 0. | |
void | set (uint16_t bitIndex, bool state) |
Set the value of the given bit to the given state. | |
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. | |
const uint8_t & | getByte (uint16_t byteIndex) const |
Get the byte at the given index. | |
uint8_t & | getByte (uint16_t byteIndex) |
Get the byte at the given index. | |
void | setByte (uint16_t byteIndex, uint8_t value) |
Set the byte at the given index. | |
uint16_t | getBufferLength () const |
Get the buffer length in bytes. | |
Private Member Functions | |
uint16_t | getBufferIndex (uint16_t bitIndex) const |
uint8_t | getBufferBit (uint16_t bitIndex) const |
uint8_t | getBufferMask (uint16_t bitIndex) const |
Private Attributes | |
uint8_t | buffer [bufferLength] = {} |
Static Private Attributes | |
static constexpr uint16_t | bufferLength = (uint16_t)((N + 7) / 8) |
Get the value of the given bit.
bitIndex | The (zero-based) index of the bit to read. |
Definition at line 29 of file BitArray.hpp.
Set the value of the given bit to 1.
bitIndex | The (zero-based) index of the bit to set. |
Definition at line 39 of file BitArray.hpp.
Clear the value of the given bit to 0.
bitIndex | The (zero-based) index of the bit to clear. |
Definition at line 49 of file BitArray.hpp.
Set the value of the given bit to the given state.
bitIndex | The (zero-based) index of the bit to set. |
state | The value to set the bit to. |
Definition at line 61 of file BitArray.hpp.
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.
byteIndex | The index to check. |
Definition at line 73 of file BitArray.hpp.
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.
byteIndex | The index of the byte within the array. |
Definition at line 95 of file BitArray.hpp.
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.
byteIndex | The index of the byte within the array. |
Definition at line 100 of file BitArray.hpp.
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.
byteIndex | The index of the byte within the array. |
value | The byte to write. |
Definition at line 118 of file BitArray.hpp.
Get the buffer length in bytes.
Definition at line 125 of file BitArray.hpp.
Definition at line 128 of file BitArray.hpp.
Definition at line 131 of file BitArray.hpp.
Definition at line 132 of file BitArray.hpp.
|
staticconstexprprivate |
Definition at line 136 of file BitArray.hpp.
|
private |
Definition at line 137 of file BitArray.hpp.