#include <AH/Containers/BitArray.hpp>
template<uint16_t N>
class BitArray< N >
A class for arrays of bits.
- Template Parameters
-
Definition at line 21 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 29 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 39 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 49 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 61 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 73 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 95 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 100 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 118 of file BitArray.hpp.
◆ getBufferLength()
| uint16_t getBufferLength |
( |
| ) |
const |
|
inline |
Get the buffer length in bytes.
Definition at line 125 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: