aboutsummaryrefslogtreecommitdiff
path: root/core/src/Utils/IO/TslRobinIntegration.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Utils/IO/TslRobinIntegration.hpp')
-rw-r--r--core/src/Utils/IO/TslRobinIntegration.hpp78
1 files changed, 0 insertions, 78 deletions
diff --git a/core/src/Utils/IO/TslRobinIntegration.hpp b/core/src/Utils/IO/TslRobinIntegration.hpp
deleted file mode 100644
index 50775fe..0000000
--- a/core/src/Utils/IO/TslRobinIntegration.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#pragma once
-
-#include "Utils/IO/DataStream.hpp"
-#include "Utils/IO/Helper.hpp"
-
-#include <tsl/robin_map.h>
-#include <tsl/robin_set.h>
-#include <type_traits>
-
-namespace DataStreamAdapters {
-template <class TKeyAdapter = void, class TValueAdapter = void>
-struct TslRobinMap
-{
- template <class TKey, class TValue>
- static void ReadFromDataStream(InputDataStream& stream, tsl::robin_map<TKey, TValue>& map)
- {
- static_assert(std::is_default_constructible_v<TValue>);
- static_assert(std::is_move_constructible_v<TValue>);
-
- uint64_t size;
- stream.Read(size);
- map.reserve(size);
-
- for (uint64_t i = 0; i < size; ++i) {
- TKey key;
- ReadHelper<TKeyAdapter>(stream, key);
-
- TValue value;
- ReadHelper<TValueAdapter>(stream, value);
-
- map.insert(std::move(key), std::move(value));
- }
- }
-
- template <class TKey, class TValue>
- static void WriteToDataStream(OutputDataStream& stream, const tsl::robin_map<TKey, TValue>& map)
- {
- stream.Write((uint64_t)map.size());
-
- for (auto it = map.begin(); it != map.end(); ++it) {
- WriteHelper<TKeyAdapter>(stream, it.key());
- WriteHelper<TValueAdapter>(stream, it.value());
- }
- }
-};
-
-template <class TAdapter = void>
-struct TslRobinSet
-{
- template <class TElement>
- static void ReadFromDataStream(InputDataStream& stream, tsl::robin_set<TElement>& set)
- {
- static_assert(std::is_default_constructible_v<TElement>);
- static_assert(std::is_move_constructible_v<TElement>);
-
- uint64_t size;
- stream.Read(size);
- set.reserve(size);
-
- for (uint64_t i = 0; i < size; ++i) {
- TElement element;
- ReadHelper<TAdapter>(stream, element);
-
- set.insert(std::move(element));
- }
- }
-
- template <class TElement>
- static void WriteToDataStream(OutputDataStream& stream, const tsl::robin_set<TElement>& set)
- {
- stream.Write((uint64_t)set.size());
-
- for (auto& element : set) {
- WriteHelper<TAdapter>(stream, element);
- }
- }
-};
-} // namespace DataStreamAdapters