aboutsummaryrefslogtreecommitdiff
path: root/core/src/Utils/IO/Helper.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Utils/IO/Helper.hpp')
-rw-r--r--core/src/Utils/IO/Helper.hpp43
1 files changed, 0 insertions, 43 deletions
diff --git a/core/src/Utils/IO/Helper.hpp b/core/src/Utils/IO/Helper.hpp
deleted file mode 100644
index ebd47a7..0000000
--- a/core/src/Utils/IO/Helper.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#pragma once
-
-#include "Utils/IO/DataStream.hpp"
-
-namespace DataStreamAdapters {
-
-/// Helper to invoke either Read() or ReadObject().
-/// This is intended for writing IO adapters, users that's writing IO logic shouldn't using this - it increases compile time while reducing readability.
-template <class TAdapter, class T>
-void ReadHelper(InputDataStream& stream, T& t)
-{
- if constexpr (!std::is_same_v<TAdapter, void>) {
- stream.ReadObjectAdapted<TAdapter>(t);
- } else if constexpr (requires(T tt, InputDataStream ss) { ss.Read(tt); }) {
- stream.Read(t);
- } else if constexpr (requires(T tt, InputDataStream ss) { ss.ReadEnum(tt); }) {
- stream.ReadEnum(t);
- } else if constexpr (requires(T tt, InputDataStream ss) { ss.ReadObject(tt); }) {
- stream.ReadObject(t);
- } else {
- static_assert(false && sizeof(T), "This type is neither a 'value' nor an 'object'.");
- }
-}
-
-/// Helper to invoke either Write() or WriteObject().
-/// This is intended for writing IO adapters, users that's writing IO logic shouldn't using this - it increases compile time while reducing readability.
-template <class TAdapter, class T>
-void WriteHelper(OutputDataStream& stream, T& t)
-{
- if constexpr (!std::is_same_v<TAdapter, void>) {
- stream.WriteObjectAdapted<TAdapter>(t);
- } else if constexpr (requires(T tt, OutputDataStream ss) { ss.Write(tt); }) {
- stream.Write(t);
- } else if constexpr (requires(T tt, OutputDataStream ss) { ss.WriteEnum(tt); }) {
- stream.WriteEnum(t);
- } else if constexpr (requires(T tt, OutputDataStream ss) { ss.WriteObject(tt); }) {
- stream.WriteObject(t);
- } else {
- static_assert(false && sizeof(T), "This type is neither a 'value' nor an 'object'.");
- }
-}
-
-} // namespace DataStreamAdapters