Added nontype variadic instantiation support

This commit is contained in:
Bartek Kryza
2021-03-14 10:53:10 +01:00
parent 2033ca29c0
commit 0fc862332a
5 changed files with 87 additions and 9 deletions

View File

@@ -9,5 +9,17 @@ template <typename T, typename... Ts> class A {
T value;
std::variant<Ts...> values;
};
template <int... Is> class B {
std::array<int, sizeof...(Is)> ints;
};
class R {
A<int, std::string, float> a1;
A<int, std::string, bool> a2;
B<3, 2, 1> b1;
B<1, 1, 1, 1> b2;
};
}
}

View File

@@ -45,6 +45,7 @@ TEST_CASE("Test t00012", "[unit-test]")
REQUIRE_THAT(puml, StartsWith("@startuml"));
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
REQUIRE_THAT(puml, IsClassTemplate("A", "T, Ts..."));
REQUIRE_THAT(puml, IsClassTemplate("B", "int Is..."));
save_puml(
"./" + config.output_directory + "/" + diagram->name + ".puml", puml);