comparison include/core/json.h @ 258:862d0d8619f6

*: HUUUGE changes animia has been renamed to animone, so instead of thinking of a health condition, you think of a beautiful flower :) I've also edited some of the code for animone, but I have no idea if it even works or not because I don't have a mac or windows machine lying around. whoops! ... anyway, all of the changes divergent from Anisthesia are now licensed under BSD. it's possible that I could even rewrite most of the code to where I don't even have to keep the MIT license, but that's thinking too far into the future I've been slacking off on implementing the anime seasons page, mostly out of laziness. I think I'd have to create another db file specifically for the seasons anyway, this code is being pushed *primarily* because the hard drive it's on is failing! yay :)
author Paper <paper@paper.us.eu.org>
date Mon, 01 Apr 2024 02:43:44 -0400
parents 79a87a6dd39d
children 3ec7804abf17
comparison
equal deleted inserted replaced
257:699a20c57dc8 258:862d0d8619f6
6 #include <optional> 6 #include <optional>
7 7
8 namespace nlohmann { 8 namespace nlohmann {
9 9
10 template<typename T> 10 template<typename T>
11 void to_json(nlohmann::json& j, const std::optional<T>& v) 11 void to_json(nlohmann::json& j, const std::optional<T>& v) {
12 {
13 if (v.has_value()) 12 if (v.has_value())
14 j = v.value(); 13 j = v.value();
15 else 14 else
16 j = nullptr; 15 j = nullptr;
17 } 16 }
18 17
19 template<typename T> 18 template<typename T>
20 void from_json(const nlohmann::json& j, std::optional<T>& v) 19 void from_json(const nlohmann::json& j, std::optional<T>& v) {
21 {
22 v = j.is_null() ? std::nullopt : j.get<T>(); 20 v = j.is_null() ? std::nullopt : j.get<T>();
23 } 21 }
24 22
25 } // namespace nlohmann 23 } // namespace nlohmann
26 24