Reads bits from a BitBufferBase.
Definition at line 1006 of file bitbuffer.hpp.
#include <bitbuffer.hpp>
◆ TStorage
◆ word
The current word, which is partly read and shifted to start with current bit.
Definition at line 1012 of file bitbuffer.hpp.
◆ 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 1017 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 1028 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 1038 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]
template<typename TIntegral >
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]
template<typename TResult >
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 255 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 265 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 277 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 245 of file bitbuffer.cpp.
◆ Reset() [1/2]
Resets this reader to the start of the bit buffer.
Definition at line 1045 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 1054 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 1066 of file bitbuffer.hpp.
The documentation for this class was generated from the following files: