30 , together_group_stack_{
false}
36 ostr <<
"flowchart\n";
40 const package &p, std::ostream &ostr)
const
45 if (
model().should_include(relationship_t::kDependency)) {
47 std::stringstream relstr;
49 auto destination_package =
model().get(r.destination());
51 if (!destination_package)
54 auto destination_alias =
model().to_alias(r.destination());
55 if (!destination_alias.empty()) {
56 relstr << p.
alias() <<
" -.-> " << destination_alias
58 ostr << indent(1) << relstr.str();
62 LOG_DBG(
"=== Skipping dependency relation from {} to {} due "
64 p.
full_name(
false), r.destination(), e.what());
70 for (
const auto &subpackage : p) {
72 dynamic_cast<const package &
>(*subpackage), ostr);
84 const auto &uns =
config().using_namespace();
88 if (!uns.starts_with({p.full_name(false)})) {
89 ostr << indent(1) <<
"subgraph " << p.
alias() <<
"["
90 << display_name_adapter(p).with_packages().name() <<
"]\n";
93 ostr << indent(1) <<
"%% <<deprecated>>\n";
96 for (
const auto &subpackage : p) {
97 auto &pkg =
dynamic_cast<package &
>(*subpackage);
98 auto together_group =
config().get_together_group(pkg.full_name(
false));
109 if (!uns.starts_with({p.full_name(false)})) {
110 ostr << indent(1) <<
"end" <<
'\n';
113 if (
config().generate_links) {
124 for (
const auto &[group_name, group_elements] :
126 ostr << indent(1) <<
"%% together group - not rendered in MermaidJS \n";
128 for (
auto *pkg : group_elements) {
132 ostr << indent(1) <<
"%% end together group\n";
142 for (
const auto &decorator : element.
decorators()) {
143 auto note = std::dynamic_pointer_cast<decorators::note>(decorator);
144 if (note && note->applies_to_diagram(
config.name)) {
145 auto note_id_str = fmt::format(
"N_{}",
note_id_++);
147 ostr << indent(1) << note_id_str <<
"(" << note->text <<
")\n";
149 ostr << indent(1) << note_id_str <<
"-.-" << element.
alias()
157 for (
const auto &p :
model()) {
158 auto &pkg =
dynamic_cast<package &
>(*p);
159 auto together_group =
config().get_together_group(pkg.full_name(
false));
160 if (together_group) {
171 for (
const auto &p :
model()) {