diff --git a/libraries/networking/src/Packet.h b/libraries/networking/src/Packet.h index fea9c91db1..6a50690878 100644 --- a/libraries/networking/src/Packet.h +++ b/libraries/networking/src/Packet.h @@ -59,14 +59,8 @@ public: virtual bool reset() { setSizeUsed(0); return QIODevice::reset(); } virtual qint64 size() const { return _capacity; } - template qint64 readPrimitive(T* data) { - return QIODevice::read(reinterpret_cast(data), sizeof(T)); - } - - template qint64 writePrimitive(const T& data) { - static_assert(!std::is_pointer::value, "T must not be a pointer"); - return QIODevice::write(reinterpret_cast(&data), sizeof(T)); - } + template qint64 readPrimitive(T* data); + template qint64 writePrimitive(const T& data); protected: Packet(PacketType::Value type, int64_t size); @@ -94,4 +88,14 @@ protected: qint64 _sizeUsed = 0; // How much of the payload is actually used }; + +template qint64 readPrimitive(T* data) { + return QIODevice::read(reinterpret_cast(data), sizeof(T)); +} + +template qint64 writePrimitive(const T& data) { + static_assert(!std::is_pointer::value, "T must not be a pointer"); + return QIODevice::write(reinterpret_cast(&data), sizeof(T)); +} + #endif // hifi_Packet_h