diff --git a/src/puml/class_diagram_generator.cc b/src/puml/class_diagram_generator.cc index b8c918f4..c45b5913 100644 --- a/src/puml/class_diagram_generator.cc +++ b/src/puml/class_diagram_generator.cc @@ -361,7 +361,7 @@ void generator::generate(std::ostream &ostr) const } if (m_config.should_include_entities("classes")) { - for (const auto &c : m_model.classes) { + for (const auto &c : m_model.classes()) { if (!c.is_template_instantiation && !m_config.should_include(c.name())) continue; @@ -369,14 +369,14 @@ void generator::generate(std::ostream &ostr) const ostr << '\n'; } - for (const auto &e : m_model.enums) { + for (const auto &e : m_model.enums()) { if (!m_config.should_include(e.name())) continue; generate_alias(e, ostr); ostr << '\n'; } - for (const auto &c : m_model.classes) { + for (const auto &c : m_model.classes()) { if (!c.is_template_instantiation && !m_config.should_include(c.name())) continue; @@ -386,7 +386,7 @@ void generator::generate(std::ostream &ostr) const } if (m_config.should_include_entities("enums")) - for (const auto &e : m_model.enums) { + for (const auto &e : m_model.enums()) { generate(e, ostr); ostr << '\n'; } @@ -419,7 +419,7 @@ clanguml::model::class_diagram::diagram generate( { spdlog::info("Generating diagram {}.puml", name); clanguml::model::class_diagram::diagram d; - d.name = name; + d.set_name(name); // Get all translation units matching the glob from diagram // configuration diff --git a/src/uml/class_diagram_model.cc b/src/uml/class_diagram_model.cc index 2f6c5104..7d83eeb3 100644 --- a/src/uml/class_diagram_model.cc +++ b/src/uml/class_diagram_model.cc @@ -261,10 +261,17 @@ std::string enum_::full_name(bool relative) const // // diagram // +std::string diagram::name() const { return name_; } + +void diagram::set_name(const std::string &name) { name_ = name; } + +const std::vector diagram::classes() const { return classes_; } + +const std::vector diagram::enums() const { return enums_; } bool diagram::has_class(const class_ &c) const { - return std::any_of(classes.cbegin(), classes.cend(), + return std::any_of(classes_.cbegin(), classes_.cend(), [&c](const auto &cc) { return cc.full_name() == c.full_name(); }); } @@ -272,14 +279,14 @@ void diagram::add_type_alias(type_alias &&ta) { LOG_DBG("Adding global alias: {} -> {}", ta.alias, ta.underlying_type); - type_aliases[ta.alias] = std::move(ta); + type_aliases_[ta.alias] = std::move(ta); } void diagram::add_class(class_ &&c) { LOG_DBG("Adding class: {}, {}", c.name(), c.full_name()); if (!has_class(c)) - classes.emplace_back(std::move(c)); + classes_.emplace_back(std::move(c)); else LOG_DBG("Class {} ({}) already in the model", c.name(), c.full_name()); } @@ -287,9 +294,9 @@ void diagram::add_class(class_ &&c) void diagram::add_enum(enum_ &&e) { LOG_DBG("Adding enum: {}", e.name()); - auto it = std::find(enums.begin(), enums.end(), e); - if (it == enums.end()) - enums.emplace_back(std::move(e)); + auto it = std::find(enums_.begin(), enums_.end(), e); + if (it == enums_.end()) + enums_.emplace_back(std::move(e)); else LOG_DBG("Enum {} already in the model", e.name()); } @@ -298,13 +305,13 @@ std::string diagram::to_alias(const std::string &full_name) const { LOG_DBG("Looking for alias for {}", full_name); - for (const auto &c : classes) { + for (const auto &c : classes_) { if (c.full_name() == full_name) { return c.alias(); } } - for (const auto &e : enums) { + for (const auto &e : enums_) { if (e.full_name() == full_name) { return e.alias(); } diff --git a/src/uml/class_diagram_model.h b/src/uml/class_diagram_model.h index 20c7a3a3..9abaa3f5 100644 --- a/src/uml/class_diagram_model.h +++ b/src/uml/class_diagram_model.h @@ -219,11 +219,15 @@ private: std::vector constants_; }; -struct diagram { - std::string name; - std::vector classes; - std::vector enums; - std::map type_aliases; +class diagram { +public: + std::string name() const; + + void set_name(const std::string& name); + + const std::vector classes() const; + + const std::vector enums() const; bool has_class(const class_ &c) const; @@ -234,6 +238,12 @@ struct diagram { void add_enum(enum_ &&e); std::string to_alias(const std::string &full_name) const; + +private: + std::string name_; + std::vector classes_; + std::vector enums_; + std::map type_aliases_; }; } } diff --git a/tests/t00002/test_case.h b/tests/t00002/test_case.h index d6beaf68..7508d570 100644 --- a/tests/t00002/test_case.h +++ b/tests/t00002/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00002", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00002_class"); + REQUIRE(model.name() == "t00002_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00003/test_case.h b/tests/t00003/test_case.h index d8c04d41..98db2116 100644 --- a/tests/t00003/test_case.h +++ b/tests/t00003/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00003", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00003_class"); + REQUIRE(model.name() == "t00003_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00004/test_case.h b/tests/t00004/test_case.h index 6508c5ed..0d1c2e66 100644 --- a/tests/t00004/test_case.h +++ b/tests/t00004/test_case.h @@ -36,7 +36,7 @@ TEST_CASE("t00004", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00004_class"); + REQUIRE(model.name() == "t00004_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00005/test_case.h b/tests/t00005/test_case.h index 1a76961e..7935a758 100644 --- a/tests/t00005/test_case.h +++ b/tests/t00005/test_case.h @@ -37,7 +37,7 @@ TEST_CASE("t00005", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00005_class"); + REQUIRE(model.name() == "t00005_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00006/test_case.h b/tests/t00006/test_case.h index 94b7ab71..b96d68e3 100644 --- a/tests/t00006/test_case.h +++ b/tests/t00006/test_case.h @@ -38,7 +38,7 @@ TEST_CASE("t00006", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00006_class"); + REQUIRE(model.name() == "t00006_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00007/test_case.h b/tests/t00007/test_case.h index ce51e6e7..427bcbf0 100644 --- a/tests/t00007/test_case.h +++ b/tests/t00007/test_case.h @@ -38,7 +38,7 @@ TEST_CASE("t00007", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00007_class"); + REQUIRE(model.name() == "t00007_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00008/test_case.h b/tests/t00008/test_case.h index d474b2af..24bc1bc1 100644 --- a/tests/t00008/test_case.h +++ b/tests/t00008/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00008", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00008_class"); + REQUIRE(model.name() == "t00008_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00009/test_case.h b/tests/t00009/test_case.h index 6fc48835..cea1288f 100644 --- a/tests/t00009/test_case.h +++ b/tests/t00009/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00009", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00009_class"); + REQUIRE(model.name() == "t00009_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00010/test_case.h b/tests/t00010/test_case.h index 13472978..c99465a1 100644 --- a/tests/t00010/test_case.h +++ b/tests/t00010/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00010", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00010_class"); + REQUIRE(model.name() == "t00010_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00011/test_case.h b/tests/t00011/test_case.h index 14fbfe98..c6dac32c 100644 --- a/tests/t00011/test_case.h +++ b/tests/t00011/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00011", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00011_class"); + REQUIRE(model.name() == "t00011_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00012/test_case.h b/tests/t00012/test_case.h index aaf26a43..426fafe6 100644 --- a/tests/t00012/test_case.h +++ b/tests/t00012/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00012", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00012_class"); + REQUIRE(model.name() == "t00012_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00013/test_case.h b/tests/t00013/test_case.h index d8dd16d3..9d01e55a 100644 --- a/tests/t00013/test_case.h +++ b/tests/t00013/test_case.h @@ -35,7 +35,7 @@ TEST_CASE("t00013", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00013_class"); + REQUIRE(model.name() == "t00013_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00014/test_case.h b/tests/t00014/test_case.h index 17a646dd..c843de34 100644 --- a/tests/t00014/test_case.h +++ b/tests/t00014/test_case.h @@ -33,7 +33,7 @@ TEST_CASE("t00014", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00014_class"); + REQUIRE(model.name() == "t00014_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00015/test_case.h b/tests/t00015/test_case.h index f5f89f1b..0ea9d5f7 100644 --- a/tests/t00015/test_case.h +++ b/tests/t00015/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00015", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00015_class"); + REQUIRE(model.name() == "t00015_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00016/test_case.h b/tests/t00016/test_case.h index 96ac4d2e..0f617472 100644 --- a/tests/t00016/test_case.h +++ b/tests/t00016/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00016", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00016_class"); + REQUIRE(model.name() == "t00016_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00017/test_case.h b/tests/t00017/test_case.h index ef469653..e31e27b7 100644 --- a/tests/t00017/test_case.h +++ b/tests/t00017/test_case.h @@ -37,7 +37,7 @@ TEST_CASE("t00017", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00017_class"); + REQUIRE(model.name() == "t00017_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00018/test_case.h b/tests/t00018/test_case.h index d82a409d..d1ca11d7 100644 --- a/tests/t00018/test_case.h +++ b/tests/t00018/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00018", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00018_class"); + REQUIRE(model.name() == "t00018_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00019/test_case.h b/tests/t00019/test_case.h index 07d03748..48fbaf5f 100644 --- a/tests/t00019/test_case.h +++ b/tests/t00019/test_case.h @@ -37,7 +37,7 @@ TEST_CASE("t00019", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00019_class"); + REQUIRE(model.name() == "t00019_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00020/test_case.h b/tests/t00020/test_case.h index 6512f0e1..2aeb53ba 100644 --- a/tests/t00020/test_case.h +++ b/tests/t00020/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00020", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00020_class"); + REQUIRE(model.name() == "t00020_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00021/test_case.h b/tests/t00021/test_case.h index e6da5cbd..f96f965f 100644 --- a/tests/t00021/test_case.h +++ b/tests/t00021/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00021", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00021_class"); + REQUIRE(model.name() == "t00021_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00022/test_case.h b/tests/t00022/test_case.h index 9b69fb25..2cdb5b35 100644 --- a/tests/t00022/test_case.h +++ b/tests/t00022/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00022", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00022_class"); + REQUIRE(model.name() == "t00022_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00023/test_case.h b/tests/t00023/test_case.h index 1aecf485..8216c224 100644 --- a/tests/t00023/test_case.h +++ b/tests/t00023/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00023", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00023_class"); + REQUIRE(model.name() == "t00023_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00024/test_case.h b/tests/t00024/test_case.h index e0a883db..8b347b38 100644 --- a/tests/t00024/test_case.h +++ b/tests/t00024/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00024", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00024_class"); + REQUIRE(model.name() == "t00024_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00025/test_case.h b/tests/t00025/test_case.h index 61e714ea..a5283d1b 100644 --- a/tests/t00025/test_case.h +++ b/tests/t00025/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00025", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00025_class"); + REQUIRE(model.name() == "t00025_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00026/test_case.h b/tests/t00026/test_case.h index 4dc8892c..ebd3ace6 100644 --- a/tests/t00026/test_case.h +++ b/tests/t00026/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00026", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00026_class"); + REQUIRE(model.name() == "t00026_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00027/test_case.h b/tests/t00027/test_case.h index 7f04ae86..803d97fe 100644 --- a/tests/t00027/test_case.h +++ b/tests/t00027/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00027", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00027_class"); + REQUIRE(model.name() == "t00027_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00028/test_case.h b/tests/t00028/test_case.h index 0844e910..76426fbd 100644 --- a/tests/t00028/test_case.h +++ b/tests/t00028/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00028", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00028_class"); + REQUIRE(model.name() == "t00028_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00029/test_case.h b/tests/t00029/test_case.h index 8cd2bc7e..d795fe66 100644 --- a/tests/t00029/test_case.h +++ b/tests/t00029/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00029", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00029_class"); + REQUIRE(model.name() == "t00029_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00030/test_case.h b/tests/t00030/test_case.h index 3427bab5..5de10b77 100644 --- a/tests/t00030/test_case.h +++ b/tests/t00030/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00030", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00030_class"); + REQUIRE(model.name() == "t00030_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00031/test_case.h b/tests/t00031/test_case.h index fce9ac45..8f52d254 100644 --- a/tests/t00031/test_case.h +++ b/tests/t00031/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00031", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00031_class"); + REQUIRE(model.name() == "t00031_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00032/test_case.h b/tests/t00032/test_case.h index d8effc23..1d245b01 100644 --- a/tests/t00032/test_case.h +++ b/tests/t00032/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00032", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00032_class"); + REQUIRE(model.name() == "t00032_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t00033/test_case.h b/tests/t00033/test_case.h index 5d33b085..ceec5c6e 100644 --- a/tests/t00033/test_case.h +++ b/tests/t00033/test_case.h @@ -34,7 +34,7 @@ TEST_CASE("t00033", "[test-case][class]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t00033_class"); + REQUIRE(model.name() == "t00033_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml); diff --git a/tests/t90000/test_case.h b/tests/t90000/test_case.h index 8b58575e..d8ed9ac2 100644 --- a/tests/t90000/test_case.h +++ b/tests/t90000/test_case.h @@ -24,7 +24,7 @@ TEST_CASE("t90000", "[test-case][config]") auto model = generate_class_diagram(db, diagram); - REQUIRE(model.name == "t90000_class"); + REQUIRE(model.name() == "t90000_class"); auto puml = generate_class_puml(diagram, model); AliasMatcher _A(puml);