aboutsummaryrefslogtreecommitdiff
path: root/core/src/Utils/IO/Adapter.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-08-15 19:20:55 -0700
committerrtk0c <[email protected]>2021-08-15 19:20:55 -0700
commitb79a244d76c66287c6228e3845aa3af91a847f5d (patch)
treea6a425395ffc534dbc5532b274543c14dc5d53c5 /core/src/Utils/IO/Adapter.hpp
parentc51a61c0f0de65a3e64f589816a56f21ed4e8528 (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.hpp87
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);
-}