| const std::array<std::string, ${len(meta)}> meta = { |
| % for m in meta: |
| "${m.name}"s, |
| % endfor |
| }; |
| |
| const std::array<std::string, ${len(interfaces)}> interfaces = { |
| % for i in interfaces: |
| "${i.name}"s, |
| % endfor |
| }; |
| |
| const std::array<std::string, ${len(propertynames)}> properties = { |
| % for p in propertynames: |
| "${p.name}"s, |
| % endfor |
| }; |
| |
| const std::array<GroupOfProperties, ${len(propertygroups)}> groups = {{ |
| % for g in propertygroups: |
| // ${g.name} |
| { |
| % for p in g.members: |
| ::Property{ interfaces[${p[0]}], properties[${p[1]}], meta[${p[2]}] }, |
| % endfor |
| }, |
| % endfor |
| }}; |
| |
| const std::array<std::string, ${len(propertygroups)}> types = { |
| % for g in propertygroups: |
| "${g.datatype}"s, |
| % endfor |
| }; |