# t00008 - Template and template template relationships ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t00008_class: type: class glob: - ../../tests/t00008/t00008.cc using_namespace: - clanguml::t00008 include: namespaces: - clanguml::t00008 ``` ## Source code File t00008.cc ```cpp #include #include namespace clanguml { namespace t00008 { using CMP = bool (*)(const int, const int); template class A { public: T value; T *pointer; T &reference; std::vector

values; std::array ints; CMP comparator; }; template struct Vector { std::vector values; }; template typename C> struct B { C template_template; }; struct D { B ints; template D(std::tuple * /*items*/) { } void add(int i) { ints.template_template.values.push_back(i); } }; } } ``` ## Generated UML diagrams ![t00008_class](./t00008_class.svg "Template and template template relationships")