52tag_invoke(boost::json::value_to_tag<JsonBool>
const&, boost::json::value
const& jsonValue)
54 switch (jsonValue.kind()) {
55 case boost::json::kind::null:
57 case boost::json::kind::bool_:
58 return JsonBool{jsonValue.as_bool()};
59 case boost::json::kind::uint64:
61 case boost::json::kind::int64:
62 return JsonBool{jsonValue.as_int64() != 0};
63 case boost::json::kind::double_:
64 return JsonBool{jsonValue.as_double() != 0.0};
65 case boost::json::kind::string:
68 return JsonBool{!jsonValue.as_string().empty() && jsonValue.as_string()[0] != 0};
69 case boost::json::kind::array:
70 return JsonBool{!jsonValue.as_array().empty()};
71 case boost::json::kind::object:
72 return JsonBool{!jsonValue.as_object().empty()};
74 throw std::runtime_error(
"Invalid json value");
void tag_invoke(boost::json::value_from_tag, boost::json::value &jv, BookChange const &change)
Implementation of value_from for BookChange type.
Definition BookChangesHelper.hpp:241