跳转至

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 .