|
Zserio C++ runtime library
1.4.0
Built for Zserio 2.18.1
|
#include <BitStreamReader.h>
Classes | |
| struct | ReaderContext |
Public Types | |
| using | BitPosType = size_t |
Public Member Functions | |
| BitStreamReader (const uint8_t *buffer, size_t bufferByteSize, ArrayPreallocation maxArrayPrealloc={}) | |
| BitStreamReader (Span< const uint8_t > buffer, ArrayPreallocation maxArrayPrealloc={}) | |
| BitStreamReader (Span< const uint8_t > buffer, size_t bufferBitSize, ArrayPreallocation maxArrayPrealloc={}) | |
| BitStreamReader (const uint8_t *buffer, size_t bufferBitSize, BitsTag, ArrayPreallocation maxArrayPrealloc={}) | |
| template<typename ALLOC > | |
| BitStreamReader (const BasicBitBuffer< ALLOC > &bitBuffer, ArrayPreallocation maxArrayPrealloc={}) | |
| ~BitStreamReader ()=default | |
| uint32_t | readBits (uint8_t numBits=32) |
| uint64_t | readBits64 (uint8_t numBits=64) |
| int32_t | readSignedBits (uint8_t numBits=32) |
| int64_t | readSignedBits64 (uint8_t numBits=64) |
| int64_t | readVarInt64 () |
| int32_t | readVarInt32 () |
| int16_t | readVarInt16 () |
| uint64_t | readVarUInt64 () |
| uint32_t | readVarUInt32 () |
| uint16_t | readVarUInt16 () |
| int64_t | readVarInt () |
| uint64_t | readVarUInt () |
| uint32_t | readVarSize () |
| float | readFloat16 () |
| float | readFloat32 () |
| double | readFloat64 () |
| template<typename ALLOC = std::allocator<uint8_t>> | |
| vector< uint8_t, ALLOC > | readBytes (const ALLOC &alloc=ALLOC()) |
| template<typename ALLOC = std::allocator<char>> | |
| string< ALLOC > | readString (const ALLOC &alloc=ALLOC()) |
| bool | readBool () |
| template<typename ALLOC = std::allocator<uint8_t>> | |
| BasicBitBuffer< RebindAlloc< ALLOC, uint8_t > > | readBitBuffer (const ALLOC &allocator=ALLOC()) |
| BitPosType | getBitPosition () const |
| void | setBitPosition (BitPosType position) |
| void | alignTo (size_t alignment) |
| size_t | getBufferBitSize () const |
| size_t | getMaxArrayPreallocation () const |
Reader class which allows to read various data from the bit stream.
Definition at line 55 of file BitStreamReader.h.
| using zserio::BitStreamReader::BitPosType = size_t |
Type for bit position.
Definition at line 59 of file BitStreamReader.h.
|
explicit |
Constructor from raw buffer.
| buffer | Pointer to the buffer to read. |
| bufferByteSize | Size of the buffer in bytes. |
| maxArrayPrealloc | Maximum preallocation for arrays. |
Definition at line 374 of file BitStreamReader.cpp.
|
explicit |
Constructor from buffer passed as a Span.
| buffer | Buffer to read. |
| maxArrayPrealloc | Maximum preallocation for arrays. |
Definition at line 379 of file BitStreamReader.cpp.
|
explicit |
Constructor from buffer passed as a Span with exact bit size.
| buffer | Buffer to read. |
| bufferBitSize | Size of the buffer in bits. |
| maxArrayPrealloc | Maximum preallocation for arrays. |
Definition at line 383 of file BitStreamReader.cpp.
|
explicit |
Constructor from raw buffer with exact bit size.
| buffer | Pointer to buffer to read. |
| bufferBitSize | Size of the buffer in bits. |
| maxArrayPrealloc | Maximum preallocation for arrays. |
Definition at line 394 of file BitStreamReader.cpp.
|
inlineexplicit |
Constructor from bit buffer.
| bitBuffer | Bit buffer to read from. |
| maxArrayPrealloc | Maximum preallocation for arrays. |
Definition at line 149 of file BitStreamReader.h.
|
default |
Destructor.
| void zserio::BitStreamReader::alignTo | ( | size_t | alignment | ) |
Moves current bit position to perform the requested bit alignment.
| alignment | Size of the alignment in bits. |
Definition at line 863 of file BitStreamReader.cpp.
|
inline |
Gets current bit position.
Definition at line 411 of file BitStreamReader.h.
|
inline |
Gets size of the underlying buffer in bits.
Definition at line 435 of file BitStreamReader.h.
|
inline |
Gets the maximum initial array capacity in bytes.
Definition at line 445 of file BitStreamReader.h.
|
inline |
Reads a bit buffer.
| alloc | Allocator to use. |
Definition at line 368 of file BitStreamReader.h.
| uint32_t zserio::BitStreamReader::readBits | ( | uint8_t | numBits = 32 | ) |
Reads unsigned bits up to 32-bits.
| numBits | Number of bits to read. |
Definition at line 399 of file BitStreamReader.cpp.
| uint64_t zserio::BitStreamReader::readBits64 | ( | uint8_t | numBits = 64 | ) |
Reads unsigned bits up to 64-bits.
| numBits | Number of bits to read. |
Definition at line 406 of file BitStreamReader.cpp.
| bool zserio::BitStreamReader::readBool | ( | ) |
Reads bool as a single bit.
Definition at line 842 of file BitStreamReader.cpp.
|
inline |
Reads bytes.
| alloc | Allocator to use. |
Definition at line 286 of file BitStreamReader.h.
| float zserio::BitStreamReader::readFloat16 | ( | ) |
| float zserio::BitStreamReader::readFloat32 | ( | ) |
| double zserio::BitStreamReader::readFloat64 | ( | ) |
| int32_t zserio::BitStreamReader::readSignedBits | ( | uint8_t | numBits = 32 | ) |
Reads signed bits up to 32-bits.
| numBits | Number of bits to read. |
Definition at line 450 of file BitStreamReader.cpp.
| int64_t zserio::BitStreamReader::readSignedBits64 | ( | uint8_t | numBits = 64 | ) |
Reads signed bits up to 64-bits.
| numBits | Number of bits to read. |
Definition at line 422 of file BitStreamReader.cpp.
|
inline |
Reads an UTF-8 string.
| alloc | Allocator to use. |
Definition at line 322 of file BitStreamReader.h.
| int64_t zserio::BitStreamReader::readVarInt | ( | ) |
Reads signed variable integer up to 72 bits.
Definition at line 652 of file BitStreamReader.cpp.
| int16_t zserio::BitStreamReader::readVarInt16 | ( | ) |
Reads signed variable integer up to 16 bits.
Definition at line 541 of file BitStreamReader.cpp.
| int32_t zserio::BitStreamReader::readVarInt32 | ( | ) |
Reads signed variable integer up to 32 bits.
Definition at line 513 of file BitStreamReader.cpp.
| int64_t zserio::BitStreamReader::readVarInt64 | ( | ) |
Reads signed variable integer up to 64 bits.
Definition at line 457 of file BitStreamReader.cpp.
| uint32_t zserio::BitStreamReader::readVarSize | ( | ) |
Read variable size integer up to 40 bits.
Definition at line 777 of file BitStreamReader.cpp.
| uint64_t zserio::BitStreamReader::readVarUInt | ( | ) |
Read unsigned variable integer up to 72 bits.
Definition at line 715 of file BitStreamReader.cpp.
| uint16_t zserio::BitStreamReader::readVarUInt16 | ( | ) |
Read unsigned variable integer up to 16 bits.
Definition at line 638 of file BitStreamReader.cpp.
| uint32_t zserio::BitStreamReader::readVarUInt32 | ( | ) |
Read unsigned variable integer up to 32 bits.
Definition at line 611 of file BitStreamReader.cpp.
| uint64_t zserio::BitStreamReader::readVarUInt64 | ( | ) |
Read unsigned variable integer up to 64 bits.
Definition at line 556 of file BitStreamReader.cpp.
| void zserio::BitStreamReader::setBitPosition | ( | BitPosType | position | ) |
Sets current bit position. Use with caution!
| position | New bit position. |
Definition at line 847 of file BitStreamReader.cpp.