38 #include <type_traits>
44 namespace fable::schema {
46 template <
typename T, std::enable_if_t<std::is_base_of_v<Confable, T>,
int>>
47 auto make_prototype(std::string desc) {
48 return FromConfable<T>(std::move(desc));
51 template <
typename T, std::enable_if_t<!std::is_base_of_v<Confable, T>,
int>>
52 auto make_prototype(std::string desc) {
53 return make_schema(
static_cast<T*
>(
nullptr), std::move(desc));