#pragma once #include <cstddef> #include <cstdint> namespace bitstream { /** * @brief A byte buffer aligned to 4 bytes. * Can be used with bit_reader and bit_writer. * @note Size must be a multiple of 4 */ template<size_t Size> struct byte_buffer { static_assert(Size % 4 == 0, "Buffer size must be a multiple of 4"); alignas(uint32_t) uint8_t Bytes[Size]; uint8_t& operator[](size_t i) noexcept { return Bytes[i]; } }; }