#pragma once #include #include namespace cpphibernate { namespace schema { namespace __impl { /** * @brief Helper type to build tables. */ template struct tables_builder; /** * @brief Helper class to find a table by it's datatype. */ template struct find_table_builder; } /** * @brief Evaluates to true_t if the passed type is a tables type. */ template struct is_tables; /** * @brief Is true if the passed type is an tables type, false otherwise. */ template constexpr bool is_tables_v = is_tables::value; /** * @brief Predicate to create an tables object from the passed tables. */ constexpr decltype(auto) make_tables = mp::generic_predicate<__impl::tables_builder> { }; /** * @brief Predicate to find a table by it's dataset type. */ constexpr decltype(auto) find_table = mp::generic_predicate<__impl::find_table_builder> { }; } } #include "tables.inl"