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