#pragma once #include "Utils/IO/DataStream.hpp" #include #include #include namespace DataStreamAdapters { struct String { static void ReadFromDataStream(InputDataStream& stream, std::string& str) { uint64_t size; stream.Read(size); str = {}; str.reserve(size); stream.ReadBytes(size, std::back_inserter(str)); } static void WriteToDataStream(OutputDataStream& stream, const std::string& str) { stream.Write((uint64_t)str.size()); stream.WriteBytes(str.size(), str.data()); } }; struct StringView { static void WriteToDataStream(OutputDataStream& stream, const std::string_view& str) { stream.Write((uint64_t)str.size()); stream.WriteBytes(str.size(), str.data()); } }; } // namespace DataStreamAdapters