OpenTTD Source 20250312-master-gcdcc6b491d
|
Endian-aware buffer adapter that always reads values in little endian order. More...
#include <endian_buffer.hpp>
Public Member Functions | |
EndianBufferReader (std::span< const uint8_t > buffer) | |
void | rewind () |
EndianBufferReader & | operator>> (std::string &data) |
EndianBufferReader & | operator>> (EncodedString &data) |
EndianBufferReader & | operator>> (bool &data) |
template<typename... Targs> | |
EndianBufferReader & | operator>> (std::tuple< Targs... > &data) |
template<typename... Targs> | |
EndianBufferReader & | operator>> (std::variant< Targs... > &variant) |
EndianBufferReader & | operator>> (const std::monostate &) |
template<ConvertibleThroughBase T> | |
EndianBufferReader & | operator>> (T &data) |
template<class T > requires (!std::is_class_v<T>) | |
EndianBufferReader & | operator>> (T &data) |
Static Public Member Functions | |
template<typename Tvalue > | |
static Tvalue | ToValue (std::span< const uint8_t > buffer) |
Private Member Functions | |
template<class Ttuple , size_t... Tindices> | |
void | ReadTuple (Ttuple &values, std::index_sequence< Tindices... >) |
Helper function to read a tuple from the buffer. | |
template<typename T , std::size_t I = 0> | |
void | ReadVariant (uint8_t index, T &variant) |
std::string | ReadStr () |
Read overload for string data. | |
template<class T > | |
T | Read () |
Fundamental read function. | |
Private Attributes | |
std::span< const uint8_t > | buffer |
Reference to storage buffer. | |
size_t | read_pos = 0 |
Current read position. | |
Endian-aware buffer adapter that always reads values in little endian order.
Definition at line 146 of file endian_buffer.hpp.
|
inline |
Definition at line 153 of file endian_buffer.hpp.
|
inline |
Definition at line 159 of file endian_buffer.hpp.
|
inline |
Definition at line 175 of file endian_buffer.hpp.
|
inline |
Definition at line 158 of file endian_buffer.hpp.
|
inline |
Definition at line 157 of file endian_buffer.hpp.
|
inline |
Definition at line 162 of file endian_buffer.hpp.
|
inline |
Definition at line 169 of file endian_buffer.hpp.
|
inline |
Definition at line 181 of file endian_buffer.hpp.
|
inline |
Definition at line 188 of file endian_buffer.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Helper function to read a tuple from the buffer.
Definition at line 210 of file endian_buffer.hpp.
|
inlineprivate |
Definition at line 216 of file endian_buffer.hpp.
|
inline |
Definition at line 155 of file endian_buffer.hpp.
|
inlinestatic |
Definition at line 199 of file endian_buffer.hpp.
|
private |
Reference to storage buffer.
Definition at line 148 of file endian_buffer.hpp.
Referenced by ReadStr().
|
private |