diff options
author | rtk0c <[email protected]> | 2021-08-15 19:20:55 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-08-15 19:20:55 -0700 |
commit | b79a244d76c66287c6228e3845aa3af91a847f5d (patch) | |
tree | a6a425395ffc534dbc5532b274543c14dc5d53c5 /core/src/Utils/IO/Adapter.hpp | |
parent | c51a61c0f0de65a3e64f589816a56f21ed4e8528 (diff) |
More work on IO adapters (not working)
Diffstat (limited to 'core/src/Utils/IO/Adapter.hpp')
-rw-r--r-- | core/src/Utils/IO/Adapter.hpp | 87 |
1 files changed, 0 insertions, 87 deletions
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 <utility> - -class SerializationAdapter -{ -public: - static constexpr bool IsSerializer() - { - return true; - } - -public: - DataStream* Stream; - - template <class T> - void Bytes(size_t byteCount, T* buffer) const - { - Stream->WriteBytes(byteCount, buffer); - } - - template <class T> - void Value(T t) const - { - Stream->Write(t); - } - - template <class TObject> - void Object(TObject& obj) const - { - Stream->WriteObject(obj); - } -}; - -class DeserializationAdapter -{ -public: - static constexpr bool IsSerializer() - { - return false; - } - -public: - DataStream* Stream; - - template <class T> - void Bytes(size_t byteCount, T* buffer) const - { - Stream->WriteBytes(byteCount, buffer); - } - - template <class T> - void Value(T& t) const - { - Stream->Read(t); - } - - template <class TObject> - void Object(TObject& obj) const - { - Stream->ReadObject(obj); - } -}; - -template <class T> -requires requires(T t) -{ - t.OperateIOAdapter(std::declval<DeserializationAdapter>()); -} -void ReadFromDataStream(DataStream& stream, T& obj) -{ - DeserializationAdapter adapter{ &stream }; - obj.OperateIOAdapter(adapter); -} - -template <class T> -requires requires(T t) -{ - t.OperateIOAdapter(std::declval<SerializationAdapter>()); -} -void WriteToDataStream(DataStream& stream, T& obj) -{ - SerializationAdapter adapter{ &stream }; - obj.OperateIOAdapter(adapter); -} |