OpenTTD Source
20241108-master-g80f628063a
|
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>> (bool &data) |
template<typename T > | |
EndianBufferReader & | operator>> (OverflowSafeInt< T > &data) |
template<typename... Targs> | |
EndianBufferReader & | operator>> (std::tuple< Targs... > &data) |
template<class T , std::enable_if_t< std::disjunction_v< std::negation< std::is_class< T >>, std::is_base_of< StrongTypedefBase, T >>, int > = 0> | |
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. | |
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 119 of file endian_buffer.hpp.