Ensure unique class instances in diagram
This commit is contained in:
@@ -226,11 +226,16 @@ struct diagram {
|
|||||||
std::vector<class_> classes;
|
std::vector<class_> classes;
|
||||||
std::vector<enum_> enums;
|
std::vector<enum_> enums;
|
||||||
|
|
||||||
|
bool has_class(const std::string &usr) const
|
||||||
|
{
|
||||||
|
return std::any_of(classes.cbegin(), classes.cend(),
|
||||||
|
[&usr](const auto &c) { return c.usr == usr; });
|
||||||
|
}
|
||||||
|
|
||||||
void add_class(class_ &&c)
|
void add_class(class_ &&c)
|
||||||
{
|
{
|
||||||
spdlog::debug("Adding class: {}, {}", c.name, c.usr);
|
spdlog::debug("Adding class: {}, {}", c.name, c.usr);
|
||||||
auto it = std::find(classes.begin(), classes.end(), c);
|
if (!has_class(c.usr))
|
||||||
if (it == classes.end())
|
|
||||||
classes.emplace_back(std::move(c));
|
classes.emplace_back(std::move(c));
|
||||||
else
|
else
|
||||||
spdlog::debug("Class {} already in the model", c.name);
|
spdlog::debug("Class {} already in the model", c.name);
|
||||||
|
|||||||
Reference in New Issue
Block a user