Skip to content

ludus::network::BitReader

Ludus Wiki · API overview · Browse API

Class

Borrowed LSB-first bit reader with transactional primitive reads.
Failure preserves cursor and outputs. AlignToByte requires zero padding; byte operations require alignment. Input must outlive the reader and must not overlap byte-copy destinations. No allocation or hidden I/O.

Declared in modules/network/core/include/ludus/network/core/wire.h

#include <ludus/network/core/wire.h>
class ludus::network::BitReader final

Methods

BitReader

explicit ludus::network::BitReader::BitReader(std::span< const uint8 > bytes) noexcept

Related types: uint8

Declared in modules/network/core/include/ludus/network/core/wire.h

ReadBits

WireStatus ludus::network::BitReader::ReadBits(uint8 count, uint32 &value) noexcept

Related types: uint8 · uint32 · WireStatus

Declared in modules/network/core/include/ludus/network/core/wire.h

AlignToByte

WireStatus ludus::network::BitReader::AlignToByte() noexcept

Related types: WireStatus

Declared in modules/network/core/include/ludus/network/core/wire.h

ReadBytes

WireStatus ludus::network::BitReader::ReadBytes(std::span< uint8 > bytes) noexcept

Related types: uint8 · WireStatus

Declared in modules/network/core/include/ludus/network/core/wire.h

GetBitCount

usize ludus::network::BitReader::GetBitCount() const noexcept

Related types: usize

Declared in modules/network/core/include/ludus/network/core/wire.h