#include <bitbuffer.hpp>
Reads bits from a BitBufferBase.
Definition at line 1095 of file bitbuffer.hpp.
◆ TStorage
◆ BitReader() [1/2]
Constructs a bit reader using the given bit buffer and starting to read at the beginning.
- Parameters
-
buffer | The buffer to read from. |
Definition at line 1112 of file bitbuffer.hpp.
◆ BitReader() [2/2]
Constructs a bit reader using the given bit buffer, starting to read at the given Index.
- Parameters
-
buffer | The buffer to read from. |
index | An index providing the postion of the first bit to read in buffer . |
Definition at line 1125 of file bitbuffer.hpp.
◆ ~BitReader()
Destructs a bit reader. In debug compilations an ALib assertion is raised if the a read operation passed the end of the underlying buffer was performed.
Definition at line 1135 of file bitbuffer.hpp.
◆ Read() [1/3]
Reads the given number of bits from the stream into the given unsigned integral value.
- Note
- Internally, different template functions selected with
std::enable_if
are selected for the different integral types.
- See also
- This method uses a template parameter for the number of bits to read. A slightly slower, non-templated version is available with Read<TResult>(ShiftOpRHS), which is to be used when the number of bits to write is determined only at run-time.
- Template Parameters
-
TWidth | The number of bits in val to write. |
TResult | The type of the value to return. |
- Returns
- The value read.
◆ Read() [2/3]
Reads the given integral value from the stream. Information about the encoding of the values is given with the documentation of BitWriter::Write<TIntegral>(TIntegral).
- Returns
- The value read from the bit buffer.
◆ Read() [3/3]
Reads the given number of bits from tif( )he stream into the given unsigned integral value.
- Note
- Internally, different template functions selected with
std::enable_if
are selected for different integral types.
- See also
- A method that uses a template parameter for the number of bits to read, is is available with Read<TWidth,TResult>if( ) (TIntegral). This might be slightly faster and should be used instead of this method, whenever the number of bits to read is known at compilation time.
- Template Parameters
-
TResult | The type of the value to return. Defaults to type int . |
- Parameters
-
width | The number of bits to read. |
- Returns
- The value read.
◆ readUIntegral16()
uint16_t readUIntegral16 |
( |
| ) |
|
|
protected |
Internal method that reads a unsigned 16-bit value.
- Returns
- The value read.
Definition at line 254 of file bitbuffer.cpp.
◆ readUIntegral32()
uint32_t readUIntegral32 |
( |
| ) |
|
|
protected |
Internal method that reads a unsigned 32-bit value.
- Returns
- The value read.
Definition at line 264 of file bitbuffer.cpp.
◆ readUIntegral64()
uint64_t readUIntegral64 |
( |
| ) |
|
|
protected |
Internal method that reads a unsigned 64-bit value.
- Returns
- The value read.
Definition at line 276 of file bitbuffer.cpp.
◆ readUIntegral8()
uint8_t readUIntegral8 |
( |
| ) |
|
|
protected |
Internal method that reads a unsigned 8-bit value.
- Returns
- The value read.
Definition at line 244 of file bitbuffer.cpp.
◆ Reset() [1/2]
Resets this reader to the start of the bit buffer.
Definition at line 1142 of file bitbuffer.hpp.
◆ Reset() [2/2]
Resets this reader to the given index position and calls Sync().
- Parameters
-
index | The next read position. |
Definition at line 1153 of file bitbuffer.hpp.
◆ Sync()
Re-reads the currently fetched storage word from the memory.
- Note
- This method is not needed in common use cases and implemented solely for the purpose to support unit-tests which write and write in parallel to the same bit buffer.
- Returns
- A reference to this
BitReader
to allow concatenated operations.
Definition at line 1167 of file bitbuffer.hpp.
◆ TStorageWidth
The width in bits of the storage type which is of type int
. Consequently, this evaluates to 32
or 64
on most common platforms.
Definition at line 1102 of file bitbuffer.hpp.
◆ word
The current word, which is partly read and shifted to start with current bit.
Definition at line 1105 of file bitbuffer.hpp.
The documentation for this class was generated from the following files: