1.0 KiB
1.0 KiB
t00032 - Class template with template base classes test case
Config
compilation_database_dir: ..
output_directory: puml
diagrams:
t00032_class:
type: class
glob:
- ../../tests/t00032/t00032.cc
using_namespace:
- clanguml::t00032
include:
namespaces:
- clanguml::t00032
Source code
File t00032.cc
#include <memory>
#include <vector>
namespace clanguml {
namespace t00032 {
struct Base { };
struct TBase { };
struct A {
void operator()() { }
};
struct B {
void operator()() { }
};
struct C {
void operator()() { }
};
template <typename T, typename L, typename... Ts>
struct Overload : public Base, public T, public Ts... {
using Ts::operator()...;
L counter;
};
template <class... Ts> Overload(Ts...) -> Overload<Ts...>;
struct R {
Overload<TBase, int, A, B, C> overload;
};
} // namespace t00032
} // namespace clanguml