summaryrefslogtreecommitdiff
path: root/modules/codec/c++/schema.hpp
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-23 15:30:16 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-23 15:30:16 +0200
commite4280959f1977663be70a2ac539e44f42aea0cd3 (patch)
tree0ef973a9eaa507bb5d58c82da68dbcce9f579da5 /modules/codec/c++/schema.hpp
parent05a7fa9a2815b63b5b6f7eea107807e33aa62137 (diff)
Final stretch to have working rpc example
Diffstat (limited to 'modules/codec/c++/schema.hpp')
-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(