template <size_t N>
class LittleEndianBitField
Defined at line 70 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
A bitfield of arbitrary length, mapped onto an underlying byte array.
This bitfield conforms to the definition in IEEE Std 802.11-2016, 9.2.2.
Specifically, the least significant (zero) bit is defined to be the zero
bit of the first byte, i.e. a little endian ordering. This means that the
bit offsets defined in IEEE may be mapped directly into WLAN_BIT_FIELD
definitions.
Example bit ordering for N=2:
[0b00000000, 0b00000000]
^^^^^^^^ ^^^^^^^^
76543210 fedcba98
Public Methods
void LittleEndianBitField<N> (std::array<uint8_t, N> val)
Defined at line 72 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
void LittleEndianBitField<N> ()
Defined at line 73 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
size_t len ()
Defined at line 75 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
void clear ()
Defined at line 76 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
void set_val (std::array<uint8_t, N> val)
Defined at line 77 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
std::array<uint8_t, N> * mut_val ()
Defined at line 78 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
std::array<uint8_t, N> val ()
Defined at line 80 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
template <unsigned int first_bit_idx, size_t len>
uint64_t get_bits ()
Defined at line 83 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h
template <unsigned int first_bit_idx, size_t len>
void set_bits (uint64_t value)
Defined at line 96 of file ../../src/connectivity/wlan/lib/common/cpp/include/wlan/common/bitfield.h