跳转至

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::Array>,
    std::is_convertible<T, typename J::Object>,
    std::is_convertible<T, typename J::String>,
    std::is_convertible<T, typename J::Number>,
    std::is_convertible<T, typename J::Bool>,
    std::is_convertible<T, typename J::Null>
>;

位于 vct::tools::json 命名空间中,用于表示某个 Json 容器类型 J 可以直接通过类型 T 构造。

J 必须是 json::Json 类模板的实例化类型。 满足此概念的类型可以作为 J 类型隐式构造的参数,或者用于 J 类型的赋值运算符。

版本

v0.8.0 至今。