|
- #pragma once
-
- #include <cpphibernate/config.h>
-
- namespace cpphibernate {
- namespace schema {
-
- namespace __impl
- {
-
- /**
- * @brief Helper type to build schema objects.
- */
- template<typename X, typename = void>
- struct schema_builder;
-
- }
-
- /**
- * @brief Evaluates to true_t if the passed type is a schema type.
- */
- template<typename T>
- struct is_schema;
-
- /**
- * @brief Is true if the passed type is an attributes type, false otherwise.
- */
- template<typename T>
- constexpr bool is_schema_v = is_schema<T>::value;
-
- /**
- * @brief Predicate to create an schema object from the passed attributes.
- */
- constexpr decltype(auto) make_schema = mp::generic_predicate<__impl::schema_builder> { };
-
- } }
-
- #include "schema.inl"
|