OpenTTD Source
20241108-master-g80f628063a
|
Endian-aware buffer adapter that always writes values in little endian order. More...
#include <endian_buffer.hpp>
Public Member Functions | |
EndianBufferWriter (Titer buffer) | |
EndianBufferWriter (typename Titer::container_type &container) | |
EndianBufferWriter & | operator<< (const std::string &data) |
EndianBufferWriter & | operator<< (const char *data) |
EndianBufferWriter & | operator<< (std::string_view data) |
EndianBufferWriter & | operator<< (bool data) |
template<typename T > | |
EndianBufferWriter & | operator<< (const OverflowSafeInt< T > &data) |
template<typename... Targs> | |
EndianBufferWriter & | operator<< (const 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> | |
EndianBufferWriter & | operator<< (const T data) |
Static Public Member Functions | |
template<typename Tvalue , typename Tbuf = std::vector<uint8_t>> | |
static Tbuf | FromValue (const Tvalue &data) |
Private Member Functions | |
template<class Ttuple , size_t... Tindices> | |
void | WriteTuple (const Ttuple &values, std::index_sequence< Tindices... >) |
Helper function to write a tuple to the buffer. | |
void | Write (std::string_view value) |
Write overload for string values. | |
template<class T > | |
void | Write (T value) |
Fundamental write function. | |
Private Attributes | |
Titer | buffer |
Output iterator for the destination buffer. | |
Endian-aware buffer adapter that always writes values in little endian order.
Definition at line 26 of file endian_buffer.hpp.