diff options
Diffstat (limited to 'serialize/corrade-string.cpp')
| -rw-r--r-- | serialize/corrade-string.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
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 <nlohmann/json.hpp> +#include <string_view> + +using namespace floormat; + +namespace nlohmann { + +void adl_serializer<String>::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<String>::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<StringView>::to_json(json& j, StringView val) +{ + std::string_view s{val.data(), val.size()}; + using nlohmann::to_json; + to_json(j, s); +} + +} // namespace nlohmann |
