Add to_json() for std::vector<bool>::reference (#3534)
This commit is contained in:
parent
af34396129
commit
9c31d54389
@ -272,6 +272,13 @@ inline void to_json(BasicJsonType& j, T b) noexcept
|
|||||||
external_constructor<value_t::boolean>::construct(j, b);
|
external_constructor<value_t::boolean>::construct(j, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename BasicJsonType,
|
||||||
|
enable_if_t<std::is_convertible<const std::vector<bool>::reference&, typename BasicJsonType::boolean_t>::value, int> = 0>
|
||||||
|
inline void to_json(BasicJsonType& j, const std::vector<bool>::reference& b) noexcept
|
||||||
|
{
|
||||||
|
external_constructor<value_t::boolean>::construct(j, static_cast<typename BasicJsonType::boolean_t>(b));
|
||||||
|
}
|
||||||
|
|
||||||
template<typename BasicJsonType, typename CompatibleString,
|
template<typename BasicJsonType, typename CompatibleString,
|
||||||
enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
|
enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
|
||||||
inline void to_json(BasicJsonType& j, const CompatibleString& s)
|
inline void to_json(BasicJsonType& j, const CompatibleString& s)
|
||||||
|
@ -5253,6 +5253,13 @@ inline void to_json(BasicJsonType& j, T b) noexcept
|
|||||||
external_constructor<value_t::boolean>::construct(j, b);
|
external_constructor<value_t::boolean>::construct(j, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename BasicJsonType,
|
||||||
|
enable_if_t<std::is_convertible<const std::vector<bool>::reference&, typename BasicJsonType::boolean_t>::value, int> = 0>
|
||||||
|
inline void to_json(BasicJsonType& j, const std::vector<bool>::reference& b) noexcept
|
||||||
|
{
|
||||||
|
external_constructor<value_t::boolean>::construct(j, static_cast<typename BasicJsonType::boolean_t>(b));
|
||||||
|
}
|
||||||
|
|
||||||
template<typename BasicJsonType, typename CompatibleString,
|
template<typename BasicJsonType, typename CompatibleString,
|
||||||
enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
|
enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
|
||||||
inline void to_json(BasicJsonType& j, const CompatibleString& s)
|
inline void to_json(BasicJsonType& j, const CompatibleString& s)
|
||||||
|
@ -474,6 +474,13 @@ TEST_CASE("constructors")
|
|||||||
json j(false);
|
json j(false);
|
||||||
CHECK(j.type() == json::value_t::boolean);
|
CHECK(j.type() == json::value_t::boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SECTION("from std::vector<bool>::refrence")
|
||||||
|
{
|
||||||
|
std::vector<bool> v{true};
|
||||||
|
json j(v[0]);
|
||||||
|
CHECK(j.type() == json::value_t::boolean);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("create a binary (explicit)")
|
SECTION("create a binary (explicit)")
|
||||||
|
Loading…
Reference in New Issue
Block a user