From ee1a527191db646850ee919b8fe3a6f8cb6cd693 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 10 Nov 2022 21:27:08 +0100 Subject: get rid of std::string --- serialize/corrade-string.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 serialize/corrade-string.cpp (limited to 'serialize/corrade-string.cpp') diff --git a/serialize/corrade-string.cpp b/serialize/corrade-string.cpp new file mode 100644 index 00000000..16ae23e1 --- /dev/null +++ b/serialize/corrade-string.cpp @@ -0,0 +1,31 @@ +#include "corrade-string.hpp" +#include +#include + +using namespace floormat; + +namespace nlohmann { + +void adl_serializer::to_json(json& j, const String& val) +{ + std::string_view s{val.data(), val.size()}; + using nlohmann::to_json; + to_json(j, s); +} + +void adl_serializer::from_json(const json& j, String& val) +{ + using nlohmann::from_json; + std::string_view s; + from_json(j, s); + val = String{s.data(), s.size()}; +} + +void adl_serializer::to_json(json& j, StringView val) +{ + std::string_view s{val.data(), val.size()}; + using nlohmann::to_json; + to_json(j, s); +} + +} // namespace nlohmann -- cgit v1.2.3