summaryrefslogtreecommitdiff
path: root/modules/codec/c++
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec/c++')
-rw-r--r--modules/codec/c++/schema.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/codec/c++/schema.hpp b/modules/codec/c++/schema.hpp
index c0fb66f..65d7158 100644
--- a/modules/codec/c++/schema.hpp
+++ b/modules/codec/c++/schema.hpp
@@ -201,6 +201,14 @@ struct Interface<Member<Function<Requests, Responses>,Names>...> {
// NOLINTEND
} // namespace schema
+template<uint64_t I, typename Structural>
+struct schema_type_at_index;
+
+template<uint64_t I, typename... Members>
+struct schema_type_at_index<I, schema::Interface<Members...>> {
+ using Type = typename parameter_pack_type<I, Members...>::type;
+};
+
template<typename T, typename Schema>
struct schema_has_member{
static_assert(