stl: std::invocable

This commit is contained in:
skypjack
2026-04-17 10:11:26 +02:00
parent b451c43058
commit c6b343ae7d
3 changed files with 5 additions and 4 deletions

View File

@@ -22,21 +22,21 @@ template<typename, typename>
struct has_on_construct final: stl::false_type {};
template<typename Type, typename Registry>
requires std::invocable<decltype(&Type::on_construct), Registry &, typename Registry::entity_type>
requires stl::invocable<decltype(&Type::on_construct), Registry &, typename Registry::entity_type>
struct has_on_construct<Type, Registry>: stl::true_type {};
template<typename, typename>
struct has_on_update final: stl::false_type {};
template<typename Type, typename Registry>
requires std::invocable<decltype(&Type::on_update), Registry &, typename Registry::entity_type>
requires stl::invocable<decltype(&Type::on_update), Registry &, typename Registry::entity_type>
struct has_on_update<Type, Registry>: stl::true_type {};
template<typename, typename>
struct has_on_destroy final: stl::false_type {};
template<typename Type, typename Registry>
requires std::invocable<decltype(&Type::on_destroy), Registry &, typename Registry::entity_type>
requires stl::invocable<decltype(&Type::on_destroy), Registry &, typename Registry::entity_type>
struct has_on_destroy<Type, Registry>: stl::true_type {};
} // namespace internal

View File

@@ -16,7 +16,7 @@ namespace entt {
*/
template<typename Graph>
requires stl::derived_from<typename Graph::graph_category, directed_tag>
void dot(std::ostream &out, const Graph &graph, std::invocable<std::ostream &, typename Graph::vertex_type> auto writer) {
void dot(std::ostream &out, const Graph &graph, stl::invocable<std::ostream &, typename Graph::vertex_type> auto writer) {
if constexpr(stl::same_as<typename Graph::graph_category, undirected_tag>) {
out << "graph{";
} else {

View File

@@ -8,6 +8,7 @@ namespace entt::stl {
using std::constructible_from;
using std::derived_from;
using std::invocable;
using std::same_as;
} // namespace entt::stl