diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-12-04 00:56:03 +0100 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-12-04 01:28:17 +0100 |
commit | 032409d34546a5e257a35fbfedb3e5aecaf08ebb (patch) | |
tree | ad33db79b28479d11b82606f2ff64d640215898e /c++ | |
parent | efd94d1cf1a3709365c4c144875524819a6a15a3 (diff) |
tools: Experimental changes
Diffstat (limited to 'c++')
-rw-r--r-- | c++/tools/c_gen_iface.hpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/c++/tools/c_gen_iface.hpp b/c++/tools/c_gen_iface.hpp index 469c5c0..e79e27f 100644 --- a/c++/tools/c_gen_iface.hpp +++ b/c++/tools/c_gen_iface.hpp @@ -75,15 +75,26 @@ using FlattenedSchemaElement = Struct< // Illegal, but doable with more lines of code // Just use typename... T and // "T..." for -// "Member<FlattenedSchemaElement<Ele>,Names>..." +// "Member<FlattenedSchemaElement<Ele>,Names>...>" // and specialize somewhere else template<typename... Ele, string_literal... Names> using FlattenedSchema = Struct< - Member<String, "top_schema"> + Member<String, "top_schema">, Member<FlattenedSchemaElement<Ele>, Names>... >; - */ +template<typename T> +struct schema_flattener { + static_assert(always_false<T>, "Not supported"); +}; + +template<typename... T, string_literal... Names> +struct schema_flattener<schema::Struct<schema::Member<T,Names>...>> { + +}; + +>; + using StructBindingSchema = Struct< Member<String, "kind">, Member<String, "key">, |