Nexus Engine  v0.0.1
Loading...
Searching...
No Matches
PacketWriter.inl
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5namespace Nexus::Network {
6 template <typename T>
7 void PacketWriter::Write(const T& value) {
8 static_assert(!std::is_pointer_v<T>);
9 static_assert(std::is_trivially_copyable_v<T>);
10
11 if constexpr (std::integral<T>) {
12 Wire::Append(m_buffer, value);
13 } else {
14 const auto* bytes = reinterpret_cast<const byte*>(&value);
15 m_buffer.insert(m_buffer.end(), bytes, bytes + sizeof(T));
16 }
17 }
18} // namespace Nexus::Network
void Write(const T &value)
Definition PacketWriter.inl:7
void Append(std::vector< byte > &buffer, T value)
Definition Packet.inl:22
Definition NetworkAddress.cpp:9