aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nu/BitReader.h
blob: 8460b30f8d968d9971b838eeda6a320aed87bc08 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
#include "foundation/types.h"
class BitReader
{
public:
	uint8_t getbits1();
	uint32_t getbits(uint32_t n);
	uint8_t showbits1() const;
	uint32_t showbits(uint32_t n) const;
	void flushbits(uint32_t n);
	bool empty();
	uint32_t size() const; // in bits
	void alignbyte(); // aligns bitstream to the next byte (or current byte if already aligned)
	void getbytes(void *data, uint32_t n);
//private:
	const uint8_t *data;
	uint32_t numBits;
};