From b79a244d76c66287c6228e3845aa3af91a847f5d Mon Sep 17 00:00:00 2001 From: rtk0c Date: Sun, 15 Aug 2021 19:20:55 -0700 Subject: More work on IO adapters (not working) --- core/src/Utils/IO/Adapter.hpp | 87 ------------------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 core/src/Utils/IO/Adapter.hpp (limited to 'core/src/Utils/IO/Adapter.hpp') diff --git a/core/src/Utils/IO/Adapter.hpp b/core/src/Utils/IO/Adapter.hpp deleted file mode 100644 index e9e8fb2..0000000 --- a/core/src/Utils/IO/Adapter.hpp +++ /dev/null @@ -1,87 +0,0 @@ -#pragma once - -#include "Utils/IO/DataStream.hpp" - -#include - -class SerializationAdapter -{ -public: - static constexpr bool IsSerializer() - { - return true; - } - -public: - DataStream* Stream; - - template - void Bytes(size_t byteCount, T* buffer) const - { - Stream->WriteBytes(byteCount, buffer); - } - - template - void Value(T t) const - { - Stream->Write(t); - } - - template - void Object(TObject& obj) const - { - Stream->WriteObject(obj); - } -}; - -class DeserializationAdapter -{ -public: - static constexpr bool IsSerializer() - { - return false; - } - -public: - DataStream* Stream; - - template - void Bytes(size_t byteCount, T* buffer) const - { - Stream->WriteBytes(byteCount, buffer); - } - - template - void Value(T& t) const - { - Stream->Read(t); - } - - template - void Object(TObject& obj) const - { - Stream->ReadObject(obj); - } -}; - -template -requires requires(T t) -{ - t.OperateIOAdapter(std::declval()); -} -void ReadFromDataStream(DataStream& stream, T& obj) -{ - DeserializationAdapter adapter{ &stream }; - obj.OperateIOAdapter(adapter); -} - -template -requires requires(T t) -{ - t.OperateIOAdapter(std::declval()); -} -void WriteToDataStream(DataStream& stream, T& obj) -{ - SerializationAdapter adapter{ &stream }; - obj.OperateIOAdapter(adapter); -} -- cgit v1.2.3-70-g09d2