33tag_invoke(boost::json::value_to_tag<JsonBool>
const&, boost::json::value
const& jsonValue)
35 switch (jsonValue.kind()) {
36 case boost::json::kind::null:
38 case boost::json::kind::bool_:
39 return JsonBool{jsonValue.as_bool()};
40 case boost::json::kind::uint64:
42 case boost::json::kind::int64:
43 return JsonBool{jsonValue.as_int64() != 0};
44 case boost::json::kind::double_:
45 return JsonBool{jsonValue.as_double() != 0.0};
46 case boost::json::kind::string:
49 return JsonBool{!jsonValue.as_string().empty() && jsonValue.as_string()[0] != 0};
50 case boost::json::kind::array:
51 return JsonBool{!jsonValue.as_array().empty()};
52 case boost::json::kind::object:
53 return JsonBool{!jsonValue.as_object().empty()};
55 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:233