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