Fixed package diagram generation

This commit is contained in:
Bartek Kryza
2022-07-31 16:14:36 +02:00
parent 79942e06d7
commit 7274809561
26 changed files with 600 additions and 78 deletions

View File

@@ -46,26 +46,33 @@ public:
common::model::diagram_t type() const override;
std::optional<
std::reference_wrapper<const clanguml::common::model::diagram_element>>
std::reference_wrapper<clanguml::common::model::diagram_element>>
get(const std::string &full_name) const override;
const std::vector<std::reference_wrapper<const class_>> &classes() const;
std::optional<
std::reference_wrapper<clanguml::common::model::diagram_element>>
get(const clanguml::common::model::diagram_element::id_t id) const override;
const std::vector<std::reference_wrapper<const enum_>> &enums() const;
const std::vector<std::reference_wrapper<class_>> &classes() const;
const std::vector<std::reference_wrapper<enum_>> &enums() const;
bool has_class(const class_ &c) const;
bool has_enum(const enum_ &e) const;
std::optional<std::reference_wrapper<const class_>> get_class(
std::optional<std::reference_wrapper<class_>> get_class(
const std::string &name) const;
std::optional<std::reference_wrapper<const class_>> get_class(
std::optional<std::reference_wrapper<class_>> get_class(
clanguml::common::model::diagram_element::id_t id) const;
std::optional<std::reference_wrapper<const enum_>> get_enum(
std::optional<std::reference_wrapper<enum_>> get_enum(
const std::string &name) const;
std::optional<std::reference_wrapper<enum_>> get_enum(
clanguml::common::model::diagram_element::id_t id) const;
void add_type_alias(std::unique_ptr<type_alias> &&ta);
bool add_class(std::unique_ptr<class_> &&c);
@@ -85,11 +92,10 @@ public:
const clanguml::common::model::diagram_element::id_t id) const override;
private:
std::vector<std::reference_wrapper<const class_>> classes_;
std::vector<std::reference_wrapper<const enum_>> enums_;
std::vector<std::reference_wrapper<class_>> classes_;
std::vector<std::reference_wrapper<enum_>> enums_;
// std::vector<type_safe::object_ref<const class_, false>> classes_;
// std::vector<type_safe::object_ref<const enum_, false>> enums_;
std::map<std::string, std::unique_ptr<type_alias>> type_aliases_;
};
}