constructible
template<typename J, typename T>
concept constructible = std::disjunction_v<
std::is_arithmetic<T>,
std::is_enum<T>,
std::is_convertible<T, typename J::Arr>,
std::is_convertible<T, typename J::Obj>,
std::is_convertible<T, typename J::Str>,
std::is_convertible<T, typename J::Num>,
std::is_convertible<T, typename J::Bol>,
std::is_convertible<T, typename J::Nul>
>;
Located in the mysvac::json
namespace, this concept indicates that a JSON container type J
can be directly constructed from type T
.
J
must be an instantiation of the json::Json class template
Types satisfying this concept can be used for:
- Implicit construction of
J
objects - Assignment operations of
J
type
Version
Since v3.0.0 .