Refactored template_builder to common namespace (#227)
This commit is contained in:
@@ -3,7 +3,7 @@ namespace clanguml::t00044 {
|
||||
|
||||
template <typename T> class sink;
|
||||
|
||||
template <typename T, typename A> class signal_handler;
|
||||
template <typename T, typename A> struct signal_handler;
|
||||
|
||||
template <typename Ret, typename... Args, typename A>
|
||||
class sink<signal_handler<Ret(Args...), A>> {
|
||||
@@ -22,7 +22,7 @@ private:
|
||||
};
|
||||
|
||||
template <typename Ret, typename... Args, typename A>
|
||||
class signal_handler<Ret(Args...), A> { };
|
||||
struct signal_handler<Ret(Args...), A> { };
|
||||
|
||||
template <typename Ret, typename... Args, typename A>
|
||||
sink(signal_handler<Ret(Args...), A> &)
|
||||
|
||||
@@ -74,9 +74,10 @@ TEST_CASE("t00044", "[test-case][class]")
|
||||
REQUIRE(IsClassTemplate(j, "sink<T>"));
|
||||
REQUIRE(IsClassTemplate(j, "signal_handler<T,A>"));
|
||||
REQUIRE(IsClassTemplate(j, "signal_handler<Ret(Args...),A>"));
|
||||
REQUIRE(IsStruct(j, "signal_handler<Ret(Args...),A>"));
|
||||
REQUIRE(IsClassTemplate(j, "signal_handler<void(int),bool>"));
|
||||
REQUIRE(IsClassTemplate(j, "sink<signal_handler<Ret(Args...),A>>"));
|
||||
REQUIRE(IsClass(j, "R"));
|
||||
REQUIRE(IsStruct(j, "R"));
|
||||
|
||||
save_json(config.output_directory(), diagram->name + ".json", j);
|
||||
}
|
||||
|
||||
@@ -1273,6 +1273,12 @@ bool IsClass(const nlohmann::json &j, const std::string &name)
|
||||
return e && e->at("type") == "class";
|
||||
}
|
||||
|
||||
bool IsStruct(const nlohmann::json &j, const std::string &name)
|
||||
{
|
||||
auto e = get_element(j, expand_name(j, name));
|
||||
return e && e->at("type") == "class" && e->at("is_struct");
|
||||
}
|
||||
|
||||
bool InPublicModule(const nlohmann::json &j, const std::string &element,
|
||||
const std::string &module)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user