aboutsummaryrefslogtreecommitdiff
path: root/core/src/Utils/IO/Helper.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-06-27 18:27:13 -0700
committerrtk0c <[email protected]>2022-06-27 18:27:13 -0700
commit8f0dda5eab181b0f14f2652b4e984aaaae3f258c (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /core/src/Utils/IO/Helper.hpp
parentfad6a88a13ab1f888ab25ad0aae19c1d63aa0623 (diff)
Start from a clean slate
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