From 00689114da12f6ecdabcf47f6fe94ee80b7c8d15 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 14 Oct 2024 22:01:17 +0200 Subject: Get a list of types from Interfaces --- modules/codec/c++/schema.hpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/codec/c++/schema.hpp b/modules/codec/c++/schema.hpp index 40dfe39..e5560fb 100644 --- a/modules/codec/c++/schema.hpp +++ b/modules/codec/c++/schema.hpp @@ -322,4 +322,31 @@ template struct is_primitive> { template struct is_primitive> { constexpr static bool value = true; }; + +template +struct schema_iface_type_group { + static_assert(always_false, "Expecting an Interface Type"); + + using Type = tmpl_group<>; +}; + +namespace impl { +template +struct schema_func_list_helper { + using Type = tmpl_group<>; +}; + +template +struct schema_func_list_helper { + using Type = typename tmpl_concat< + tmpl_group, + typename schema_func_list_helper::Type + >::type; +}; +} + +template +struct schema_iface_type_group> { + using Type = typename tmpl_reduce::Type>::type; +}; } // namespace saw -- cgit v1.2.3