convertible
template<typename J, typename T>
concept convertible = std::disjunction_v<
std::is_arithmetic<T>,
std::is_enum<T>,
std::is_convertible<typename J::Arr, T>,
std::is_convertible<typename J::Obj, T>,
std::is_convertible<typename J::Str, T>,
std::is_convertible<typename J::Num, T>,
std::is_convertible<typename J::Bol, T>,
std::is_convertible<typename J::Nul, T>,
std::is_constructible<T, J>
>;
Located in the mysvac::json namespace, this concept indicates that a JSON container type J can attempt to convert its internal data to type T using to()/move() member functions.
Satisfying this concept only means that T can be used as a template parameter for to()/move(), while the actual success of conversion depends on the JSON container's internal data state.
Version
Since v3.0.0 .