From 0b78d2711c235a049ece350ecd6bfab38b8ded54 Mon Sep 17 00:00:00 2001 From: Wojciech Figat Date: Wed, 7 Sep 2022 14:38:00 +0200 Subject: [PATCH] Add `WriteStructure`/`ReadStructure` utilities for `NetworkMessage` --- Source/Engine/Networking/NetworkMessage.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Source/Engine/Networking/NetworkMessage.h b/Source/Engine/Networking/NetworkMessage.h index ed1285ccd..aa610f058 100644 --- a/Source/Engine/Networking/NetworkMessage.h +++ b/Source/Engine/Networking/NetworkMessage.h @@ -90,6 +90,18 @@ public: Position += numBytes; } + template + FORCE_INLINE void WriteStructure(const T& data) + { + WriteBytes((uint8*)&data, sizeof(data)); + } + + template + FORCE_INLINE void ReadStructure(const T& data) + { + ReadBytes((uint8*)&data, sizeof(data)); + } + #define DECL_READWRITE(type, name) \ FORCE_INLINE void Write##name(type value) { WriteBytes(reinterpret_cast(&value), sizeof(type)); } \ FORCE_INLINE type Read##name() { type value = 0; ReadBytes(reinterpret_cast(&value), sizeof(type)); return value; }