Compare commits
745 Commits
0.2.0
...
add-diagra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db857d2913 | ||
|
|
bf7b69bcca | ||
|
|
3671bf9beb | ||
|
|
913ccb6bdf | ||
|
|
a8d646d1bc | ||
|
|
f09edd8b47 | ||
|
|
c51ae5b6ee | ||
|
|
ea6892f754 | ||
|
|
f2fe1ca2cf | ||
|
|
7be848b8a1 | ||
|
|
66534af3fc | ||
|
|
8ae47dd766 | ||
|
|
079758e154 | ||
|
|
11c0305119 | ||
|
|
72013f8725 | ||
|
|
44c1a6cae4 | ||
|
|
a6962866d6 | ||
|
|
da6001728b | ||
|
|
c0faeccff9 | ||
|
|
15f8161f72 | ||
|
|
cea427e32d | ||
|
|
85ffe2cdee | ||
|
|
0a8292655a | ||
|
|
6055c5684e | ||
|
|
a1f7769ba5 | ||
|
|
d7195d5a5d | ||
|
|
f1d3695ccc | ||
|
|
9280edfafb | ||
|
|
011d5e5fec | ||
|
|
4ff42d032f | ||
|
|
f3a0d98ee6 | ||
|
|
4c1cd3578f | ||
|
|
146c79ac54 | ||
|
|
15a32bdc4c | ||
|
|
7d607848cc | ||
|
|
35f45a07e6 | ||
|
|
429e1c47a9 | ||
|
|
19233e3a62 | ||
|
|
3a8438b56e | ||
|
|
1b53dc2a01 | ||
|
|
39d3e1f0b0 | ||
|
|
055897f11b | ||
|
|
237ef26389 | ||
|
|
205d6de060 | ||
|
|
1fe8640f7c | ||
|
|
15233aa0da | ||
|
|
5435f0ac30 | ||
|
|
7cf61a98aa | ||
|
|
79801b2936 | ||
|
|
57bc2f7309 | ||
|
|
a731d3b94c | ||
|
|
7328987985 | ||
|
|
29ad94a13c | ||
|
|
ad4363acaa | ||
|
|
ce754086ee | ||
|
|
83ea9256a1 | ||
|
|
701b2c5113 | ||
|
|
0d237fec0a | ||
|
|
4f43253c0d | ||
|
|
097beb830f | ||
|
|
03ac2121bc | ||
|
|
7f595b1c54 | ||
|
|
ddbfffbf23 | ||
|
|
dd940991dc | ||
|
|
1616f79ceb | ||
|
|
03e8c867f4 | ||
|
|
c4d3d61770 | ||
|
|
600d1847c8 | ||
|
|
46649e8084 | ||
|
|
621e417e0e | ||
|
|
20e7cee28e | ||
|
|
a7b4efa80e | ||
|
|
e7d6c94a14 | ||
|
|
f339c34dd8 | ||
|
|
26abb71b4c | ||
|
|
8865a42ff0 | ||
|
|
13a1012e96 | ||
|
|
92422624cb | ||
|
|
9d43281bdd | ||
|
|
c398c6ffda | ||
|
|
1983a609a0 | ||
|
|
8a6b497cc9 | ||
|
|
03bd5ada31 | ||
|
|
fc6a63490b | ||
|
|
fda50ae211 | ||
|
|
747aca8597 | ||
|
|
4ab0d29252 | ||
|
|
9d08942a62 | ||
|
|
31ed8059e4 | ||
|
|
7e3f7dcf06 | ||
|
|
8eaa7869eb | ||
|
|
7b41295b07 | ||
|
|
509358b88f | ||
|
|
7e22b0b682 | ||
|
|
627c2e5cbe | ||
|
|
abd85534bc | ||
|
|
70e7088823 | ||
|
|
a99e987d3b | ||
|
|
9872e2d225 | ||
|
|
57af380dfa | ||
|
|
59180efebf | ||
|
|
7c70ab69ad | ||
|
|
eb00cd21c3 | ||
|
|
de5625a474 | ||
|
|
bf29ceb2df | ||
|
|
4a19c8ba23 | ||
|
|
9a6def801c | ||
|
|
2cc70bcd7e | ||
|
|
ae40a3b184 | ||
|
|
0a542a954b | ||
|
|
cfc0a42320 | ||
|
|
ee998e7a38 | ||
|
|
32fda88852 | ||
|
|
084bb20ef7 | ||
|
|
6822930a12 | ||
|
|
e8235805f8 | ||
|
|
e980816688 | ||
|
|
4b3f3b9df3 | ||
|
|
a45fffdb67 | ||
|
|
85856426f3 | ||
|
|
de9f614cb0 | ||
|
|
9ebd5f24d5 | ||
|
|
87982ab114 | ||
|
|
3bf43bbc51 | ||
|
|
13aa1d7b43 | ||
|
|
0ecb798225 | ||
|
|
d044f7f17f | ||
|
|
e830195fb7 | ||
|
|
51e0275db3 | ||
|
|
1bd60b71ec | ||
|
|
c472792ed8 | ||
|
|
4bce1888bf | ||
|
|
cdc3659c17 | ||
|
|
08520af10c | ||
|
|
18bf00d1dd | ||
|
|
519677a904 | ||
|
|
bd19fe5bfb | ||
|
|
ae55b7c054 | ||
|
|
8a362c3c7a | ||
|
|
d00ca79241 | ||
|
|
ecf07b98c0 | ||
|
|
fd06d93afb | ||
|
|
39be6014ed | ||
|
|
ad7a1c2513 | ||
|
|
66612fb244 | ||
|
|
301d424fce | ||
|
|
2e1013c12f | ||
|
|
f6efb7941f | ||
|
|
c119a622fa | ||
|
|
eded9f4292 | ||
|
|
9df58ca251 | ||
|
|
bcd32bfd41 | ||
|
|
366bb19912 | ||
|
|
18c4031047 | ||
|
|
ec0079d876 | ||
|
|
8dc0dacd3f | ||
|
|
97efbbb332 | ||
|
|
561a2b16fd | ||
|
|
f50ea3f2c9 | ||
|
|
ff5184da51 | ||
|
|
1e305ae4e2 | ||
|
|
fb370adbfd | ||
|
|
a6b48a99fd | ||
|
|
a10bf6ba9f | ||
|
|
0fd0d97786 | ||
|
|
51e31b4bf7 | ||
|
|
e6202d4e5a | ||
|
|
3bd8f7f7a8 | ||
|
|
a514532e51 | ||
|
|
2104d930a8 | ||
|
|
d944a2cead | ||
|
|
7576816f42 | ||
|
|
ed88fcd39d | ||
|
|
9ada158828 | ||
|
|
1d2f83127f | ||
|
|
fb3283d9c7 | ||
|
|
e50a7b1846 | ||
|
|
213483dd3b | ||
|
|
9e7b147244 | ||
|
|
8d1bac0af4 | ||
|
|
13ea67c1d8 | ||
|
|
ed151f45e1 | ||
|
|
ef753eaaff | ||
|
|
46b8c29907 | ||
|
|
f1250e5780 | ||
|
|
c0b0af1bda | ||
|
|
06045cee21 | ||
|
|
c49517925e | ||
|
|
d594f79155 | ||
|
|
e1b7d67c71 | ||
|
|
935d25c8f4 | ||
|
|
627a9fe1a8 | ||
|
|
6c6384e5fd | ||
|
|
525b3f74a6 | ||
|
|
321fb177a9 | ||
|
|
d8ef12d1c6 | ||
|
|
a39af67987 | ||
|
|
fb348fbaa1 | ||
|
|
6dd4089c8d | ||
|
|
7575147b71 | ||
|
|
f424ed4c8c | ||
|
|
da2cb63ab3 | ||
|
|
031235bf49 | ||
|
|
d8aa955455 | ||
|
|
94b1d51ca8 | ||
|
|
8c4e48d511 | ||
|
|
930ffb3468 | ||
|
|
408416020f | ||
|
|
c387aba82e | ||
|
|
2cfff608d8 | ||
|
|
3261838af8 | ||
|
|
01db5185b2 | ||
|
|
43cc5cb49f | ||
|
|
84ec4733cc | ||
|
|
f963c10257 | ||
|
|
fbb16859f3 | ||
|
|
3154cfd737 | ||
|
|
6ff1618827 | ||
|
|
73b446f0f7 | ||
|
|
6d329dfdf6 | ||
|
|
20fe6b1687 | ||
|
|
01ef3dcbcc | ||
|
|
7564b6408f | ||
|
|
dc74069dfd | ||
|
|
ac01127436 | ||
|
|
0a4e2c8855 | ||
|
|
7e416ffa97 | ||
|
|
658bceee4b | ||
|
|
b0501d4bfb | ||
|
|
b3b95efb65 | ||
|
|
ad2fc3f8a6 | ||
|
|
c7e61a586b | ||
|
|
399b7e1907 | ||
|
|
3430d5422a | ||
|
|
6ffed4188c | ||
|
|
d3a5ba28ff | ||
|
|
194164c8a4 | ||
|
|
9f726e495c | ||
|
|
12f129a6fe | ||
|
|
859758a1eb | ||
|
|
a78839eecf | ||
|
|
75d1daac31 | ||
|
|
e681d1a3cc | ||
|
|
e40dc3a60c | ||
|
|
e7f738c6dc | ||
|
|
112f7cb806 | ||
|
|
ae44c2413b | ||
|
|
0973289eb7 | ||
|
|
c87bd7d94b | ||
|
|
097f7a11ed | ||
|
|
75b900bf46 | ||
|
|
af7973d707 | ||
|
|
3d8a0ce428 | ||
|
|
77f3325d6a | ||
|
|
f273f6b2f7 | ||
|
|
8e801fe31d | ||
|
|
0028cf6f3d | ||
|
|
3e97a37c5f | ||
|
|
81c7ce71df | ||
|
|
5c4a98ba79 | ||
|
|
e6fa19ff39 | ||
|
|
ba32b54395 | ||
|
|
2a29968f09 | ||
|
|
467c021e17 | ||
|
|
c3dcac72da | ||
|
|
75c027262f | ||
|
|
10a28cf35e | ||
|
|
01c791e6a1 | ||
|
|
044c9ced19 | ||
|
|
bca1162b16 | ||
|
|
7dff400978 | ||
|
|
9035ee52ac | ||
|
|
90e251314f | ||
|
|
57aa174a86 | ||
|
|
02f470e563 | ||
|
|
0fbf491dfe | ||
|
|
4b0fcd631d | ||
|
|
d6db61bde0 | ||
|
|
c110d19a78 | ||
|
|
3b573ff034 | ||
|
|
2223f595cd | ||
|
|
3b99ca1313 | ||
|
|
8ae1d2a005 | ||
|
|
463f27e54e | ||
|
|
7e9944ce60 | ||
|
|
9a5a1523d9 | ||
|
|
e2b772d8d6 | ||
|
|
c4fb819014 | ||
|
|
48e845ce07 | ||
|
|
9e366ddd9e | ||
|
|
0aa6ff50c9 | ||
|
|
7fb453c1ad | ||
|
|
e14a6effd5 | ||
|
|
29a3a10ca8 | ||
|
|
f3453b595d | ||
|
|
39efdf5680 | ||
|
|
dec4b7bc3d | ||
|
|
f8876b1ed0 | ||
|
|
2bbaad2715 | ||
|
|
58572e4da7 | ||
|
|
702a1655d0 | ||
|
|
16ca3bd50a | ||
|
|
d31f282816 | ||
|
|
9b2adc5d2f | ||
|
|
023fac07f9 | ||
|
|
68a20c550b | ||
|
|
4477a1892f | ||
|
|
2367765d1f | ||
|
|
e6fb4329df | ||
|
|
5e78377cf3 | ||
|
|
d349f3e01c | ||
|
|
f912e7ae5d | ||
|
|
3b0c7ed3a2 | ||
|
|
3eb1c476b3 | ||
|
|
7277320199 | ||
|
|
2c5769982b | ||
|
|
92ec340292 | ||
|
|
475eaa2974 | ||
|
|
60c2f31060 | ||
|
|
a42009e459 | ||
|
|
665c784fed | ||
|
|
82410b345d | ||
|
|
e9a57283fc | ||
|
|
3df81d5878 | ||
|
|
3fea01d452 | ||
|
|
f01ddc63f2 | ||
|
|
640c5263ce | ||
|
|
68f067f76a | ||
|
|
6ebdc8ab77 | ||
|
|
0f4a2e1f9c | ||
|
|
47ccb561c9 | ||
|
|
3ed50ba3b2 | ||
|
|
192e1993e8 | ||
|
|
0aa4eb732d | ||
|
|
7f9d698afc | ||
|
|
6323ce8a92 | ||
|
|
758c1418a6 | ||
|
|
f034b554de | ||
|
|
0d524b38a4 | ||
|
|
c91fe43c1c | ||
|
|
9a96c03c57 | ||
|
|
b74bdab785 | ||
|
|
a06ac52865 | ||
|
|
e2a6b81f7f | ||
|
|
2a6f515b47 | ||
|
|
a682aab21d | ||
|
|
06fe24f59b | ||
|
|
14cba01a3f | ||
|
|
69a94bcc43 | ||
|
|
ade1f76640 | ||
|
|
38928cf86f | ||
|
|
cb74864d0d | ||
|
|
2b951fe170 | ||
|
|
425a13ec5b | ||
|
|
75eaef3662 | ||
|
|
a55845e29e | ||
|
|
8009db2aba | ||
|
|
65c3929cb2 | ||
|
|
b35b840b66 | ||
|
|
d9204414d9 | ||
|
|
c297616b59 | ||
|
|
15f9f9ae2b | ||
|
|
91ece95d49 | ||
|
|
8c8bd4464a | ||
|
|
e9a4504827 | ||
|
|
97177e09a1 | ||
|
|
8d136adb6d | ||
|
|
ef3f4c9759 | ||
|
|
0552810ddb | ||
|
|
6513d27e4b | ||
|
|
5b60a30855 | ||
|
|
d842bf158f | ||
|
|
017fc7025b | ||
|
|
f2062c5909 | ||
|
|
fc3110fd4e | ||
|
|
90307793d8 | ||
|
|
9e3c387fbd | ||
|
|
a797a992b4 | ||
|
|
9e7c290685 | ||
|
|
3b75da062e | ||
|
|
3a772a9102 | ||
|
|
344549ac03 | ||
|
|
aa2d3099de | ||
|
|
c1bce60656 | ||
|
|
43b81f97ce | ||
|
|
49a40723a7 | ||
|
|
491fb2b443 | ||
|
|
c59fbfa565 | ||
|
|
b412f46fb2 | ||
|
|
44cd7b0484 | ||
|
|
f0497e934d | ||
|
|
e620c86f31 | ||
|
|
4e404a362e | ||
|
|
f13ce56840 | ||
|
|
e0447f28c1 | ||
|
|
6d4533018b | ||
|
|
3a01d8689c | ||
|
|
2848090ad8 | ||
|
|
34131324ec | ||
|
|
08d6f87d23 | ||
|
|
19ae58f493 | ||
|
|
bffe9913aa | ||
|
|
4ffb36fa9e | ||
|
|
d5b279e096 | ||
|
|
eeb3d41a10 | ||
|
|
07b71aa389 | ||
|
|
9ba8fc9c05 | ||
|
|
bcba612f65 | ||
|
|
e7353d7a03 | ||
|
|
f1c125bf32 | ||
|
|
41537c5401 | ||
|
|
2092a0e3e6 | ||
|
|
0dc7445909 | ||
|
|
029a28a0d3 | ||
|
|
8f99e2fc2f | ||
|
|
8ba0239283 | ||
|
|
f16c0e4a17 | ||
|
|
b2fd763a89 | ||
|
|
69da23c4b2 | ||
|
|
cfca79182c | ||
|
|
a58b633d01 | ||
|
|
d4d749ae34 | ||
|
|
bad78c0c7a | ||
|
|
812eada63a | ||
|
|
8a4e6894fb | ||
|
|
1a4e601828 | ||
|
|
66cc92da82 | ||
|
|
184386796a | ||
|
|
464d80eca3 | ||
|
|
884e021b9a | ||
|
|
480d1bcae1 | ||
|
|
cf0d87a0bf | ||
|
|
fe99b72099 | ||
|
|
22b7b939ad | ||
|
|
65a55fa7cc | ||
|
|
afcc850087 | ||
|
|
7708ed2535 | ||
|
|
be2ad5dc9b | ||
|
|
7996cb7a00 | ||
|
|
dbb3e68c3f | ||
|
|
2ab6ed627e | ||
|
|
84f7bed05c | ||
|
|
3509853dba | ||
|
|
1fc0bf3f80 | ||
|
|
274a698713 | ||
|
|
20a0f2d338 | ||
|
|
040403382a | ||
|
|
6be07a7dfa | ||
|
|
56a8ad9ca2 | ||
|
|
6341a62857 | ||
|
|
4afb1daef0 | ||
|
|
35c4c210b1 | ||
|
|
bdf9a7e18f | ||
|
|
c2b83e2396 | ||
|
|
28572e74c5 | ||
|
|
4259733611 | ||
|
|
78ec599466 | ||
|
|
43328e3e2d | ||
|
|
865ae9d8ed | ||
|
|
7112c160f5 | ||
|
|
8b70bba0c0 | ||
|
|
cdb056a52b | ||
|
|
315147ae3f | ||
|
|
fbc4fadbb7 | ||
|
|
edba233030 | ||
|
|
4423b14b62 | ||
|
|
d7d80ab41e | ||
|
|
b910e9b02f | ||
|
|
76d14bc738 | ||
|
|
0b6893fd3b | ||
|
|
09f2db3ef9 | ||
|
|
3abc6b784f | ||
|
|
80b4b109c0 | ||
|
|
37767d7957 | ||
|
|
e6ca06bbb2 | ||
|
|
1900f20995 | ||
|
|
39851ca6d9 | ||
|
|
21e7c3d3a0 | ||
|
|
9a7d66f93f | ||
|
|
0e6532f66c | ||
|
|
bc2fc2e4aa | ||
|
|
62bbcf22ee | ||
|
|
b6aa2c0dae | ||
|
|
fada7c27b5 | ||
|
|
da30adc6c8 | ||
|
|
2136ebefb3 | ||
|
|
b802eaee3d | ||
|
|
e0a42be63a | ||
|
|
8deaf0246b | ||
|
|
3005ad7c37 | ||
|
|
023a4a0cc0 | ||
|
|
b5cf78ce82 | ||
|
|
61dcf9ef04 | ||
|
|
78cfa630e5 | ||
|
|
b3701fa810 | ||
|
|
9a527eef0c | ||
|
|
c6bb063ef2 | ||
|
|
a9f793e407 | ||
|
|
00b9321034 | ||
|
|
74353603f8 | ||
|
|
f3ef592f01 | ||
|
|
57740c0c6c | ||
|
|
bdf55d45b7 | ||
|
|
c49053dcf2 | ||
|
|
7a1cbbce9a | ||
|
|
7153666087 | ||
|
|
ada11c6047 | ||
|
|
3fbf3da27f | ||
|
|
c7d201eef9 | ||
|
|
235707c916 | ||
|
|
cf3e7ebc6e | ||
|
|
0fb0151feb | ||
|
|
e0012cca89 | ||
|
|
d1ccee9c98 | ||
|
|
a35eec2023 | ||
|
|
d64f974348 | ||
|
|
f1bae8289e | ||
|
|
0ace023985 | ||
|
|
a1a9d4ae99 | ||
|
|
f1f6051cf7 | ||
|
|
1cbc3e697d | ||
|
|
f5bcbeec0b | ||
|
|
476a7873f9 | ||
|
|
dcafeb817b | ||
|
|
2b981c30a5 | ||
|
|
cab22d3621 | ||
|
|
d140c1f1a1 | ||
|
|
93360282ad | ||
|
|
38724a8f8d | ||
|
|
e2d97f3610 | ||
|
|
232fa1ac32 | ||
|
|
afdb5b0a37 | ||
|
|
37b6e69d41 | ||
|
|
82f3a3a2e5 | ||
|
|
e4a29c7117 | ||
|
|
9d7275e388 | ||
|
|
a88ae790e8 | ||
|
|
681dd5c91e | ||
|
|
f1b7dfee0d | ||
|
|
48e8770208 | ||
|
|
139f61fdeb | ||
|
|
29eedff762 | ||
|
|
95d3339fd2 | ||
|
|
887652ed6b | ||
|
|
1a344f9d8c | ||
|
|
6a167f0835 | ||
|
|
63c3f6dc48 | ||
|
|
e45bcb6267 | ||
|
|
a1223b1471 | ||
|
|
07584c8616 | ||
|
|
87f6616783 | ||
|
|
edc35876b2 | ||
|
|
8e8984fe66 | ||
|
|
0afd64668c | ||
|
|
354bfcf67c | ||
|
|
d82ac4a46b | ||
|
|
ec9a510f76 | ||
|
|
dae4519ed7 | ||
|
|
c13cc1d118 | ||
|
|
b734018673 | ||
|
|
f48269606d | ||
|
|
5c4cf1e561 | ||
|
|
7fb4ab25ff | ||
|
|
c1d7f28f57 | ||
|
|
f07dc35e06 | ||
|
|
aecbbd704b | ||
|
|
4c7c9ff7dc | ||
|
|
91487cf49f | ||
|
|
fb2aeb6dea | ||
|
|
72bd69729e | ||
|
|
838b5a4b0d | ||
|
|
d83a1f1805 | ||
|
|
ebf87d2161 | ||
|
|
5271279175 | ||
|
|
e1b6babc93 | ||
|
|
4539ea9c64 | ||
|
|
0d7167fff2 | ||
|
|
71c772ac04 | ||
|
|
14128374ef | ||
|
|
5d8f31dbe6 | ||
|
|
6750365d54 | ||
|
|
75db32fdeb | ||
|
|
a907769c38 | ||
|
|
217edd27bd | ||
|
|
25f787785f | ||
|
|
d6a5134ba7 | ||
|
|
e32e4cd2aa | ||
|
|
8e4c2af279 | ||
|
|
134ad77f5c | ||
|
|
0687c3093e | ||
|
|
a626bed328 | ||
|
|
09d60a9d07 | ||
|
|
177c68158a | ||
|
|
6b883c4562 | ||
|
|
682c6648be | ||
|
|
1116c3ab67 | ||
|
|
0ce7b533f4 | ||
|
|
7061243113 | ||
|
|
a7c198f96d | ||
|
|
f2760a5e21 | ||
|
|
e8909c6fc1 | ||
|
|
204156d81b | ||
|
|
d6f2007a2b | ||
|
|
d1723f7b96 | ||
|
|
834ead063e | ||
|
|
e87b4dccc0 | ||
|
|
b21b60668e | ||
|
|
eac49e472c | ||
|
|
1c7e64c51e | ||
|
|
c4d8bddf96 | ||
|
|
5255fd1785 | ||
|
|
43c3e32597 | ||
|
|
ae20cb4230 | ||
|
|
5d4dfbb4b1 | ||
|
|
6454604595 | ||
|
|
3f314e0cf3 | ||
|
|
35554a2ec0 | ||
|
|
4f95f426f1 | ||
|
|
9a20aae030 | ||
|
|
8e4b670d99 | ||
|
|
1a82e46d7d | ||
|
|
0d15d09de2 | ||
|
|
fe9aa5d99a | ||
|
|
ed2b3e188b | ||
|
|
d7c8c14cda | ||
|
|
d425880462 | ||
|
|
bd61a1540e | ||
|
|
2d72d98234 | ||
|
|
3020ffd69f | ||
|
|
91a9aa861d | ||
|
|
d7c13edbf9 | ||
|
|
b2396d7b44 | ||
|
|
8dd35d11e9 | ||
|
|
62e4467665 | ||
|
|
8a167a5ccc | ||
|
|
9fcfaf4cd8 | ||
|
|
4a3f87caef | ||
|
|
452271fd45 | ||
|
|
c7b80297d7 | ||
|
|
fb2bc68d39 | ||
|
|
e5e7df43e8 | ||
|
|
29b679b0a4 | ||
|
|
70cb58fce9 | ||
|
|
cbab8b5e74 | ||
|
|
dcdde1af4b | ||
|
|
0c23ce86ba | ||
|
|
13dae33d99 | ||
|
|
dae8513529 | ||
|
|
310f311232 | ||
|
|
3b6d999520 | ||
|
|
80e94c2e32 | ||
|
|
8e3a7ed436 | ||
|
|
757dd3eed9 | ||
|
|
fef88325ab | ||
|
|
290e1ab0fe | ||
|
|
69ca8c2d8e | ||
|
|
caf0ae7928 | ||
|
|
6478cffa27 | ||
|
|
0a0b2a3d35 | ||
|
|
de4e88a92d | ||
|
|
8d8b3415f7 | ||
|
|
1ca44c5a0d | ||
|
|
db3381865e | ||
|
|
f7a1130bab | ||
|
|
14c2cb6263 | ||
|
|
1644a201d0 | ||
|
|
5a8b739eba | ||
|
|
664a74faee | ||
|
|
af8d7d704a | ||
|
|
7ddd81c1b7 | ||
|
|
10da4ad164 | ||
|
|
b87c6acd44 | ||
|
|
f07b35802a | ||
|
|
8684bc861b | ||
|
|
d1d4d5e0e7 | ||
|
|
459baa326c | ||
|
|
68241ea9c8 | ||
|
|
73f399c8a0 | ||
|
|
115ede3cc7 | ||
|
|
9c3d65bf47 | ||
|
|
0e3c69ce38 | ||
|
|
f1af5460e3 | ||
|
|
da5a4f8c5d | ||
|
|
93e95613b4 | ||
|
|
df0163cdbf | ||
|
|
b36355352d | ||
|
|
e586c9d062 | ||
|
|
c7bfcbd66f | ||
|
|
e2f34c7dda | ||
|
|
b264ef5402 | ||
|
|
4513e17275 | ||
|
|
f3aec40b2a | ||
|
|
a1e447966d | ||
|
|
558d1b6eff | ||
|
|
1dfade12f0 | ||
|
|
c94d1dea3f | ||
|
|
ae23505839 | ||
|
|
54a66ae58b | ||
|
|
488dd883cc | ||
|
|
0d90fdc133 | ||
|
|
17c463cebb | ||
|
|
6df8c790f5 | ||
|
|
c2d9596e7c | ||
|
|
08d0431a14 | ||
|
|
4f1a143a1b | ||
|
|
ad5ec1c973 | ||
|
|
1fe9918c1a | ||
|
|
a2705b10d9 | ||
|
|
511c8d0f65 | ||
|
|
9280155d40 | ||
|
|
65c813a70e | ||
|
|
9c4a7f324d | ||
|
|
5948783deb | ||
|
|
7b20a491b4 | ||
|
|
9bb2a6e8c9 | ||
|
|
0cdae33f1c | ||
|
|
4449782fb5 | ||
|
|
59aa755e6f | ||
|
|
4caf7308b2 | ||
|
|
920388d84a | ||
|
|
e45458de62 | ||
|
|
d406991681 | ||
|
|
3bbaf91511 | ||
|
|
17db587426 | ||
|
|
693a09e20d | ||
|
|
371ad836eb | ||
|
|
9a19cd50d7 | ||
|
|
0d5091418e | ||
|
|
c07809147d | ||
|
|
001b093175 | ||
|
|
56e1010142 | ||
|
|
b3382d8f04 | ||
|
|
15bbb595b7 | ||
|
|
f93cbe8ff2 | ||
|
|
ae1735855a | ||
|
|
6842825402 | ||
|
|
282481920b | ||
|
|
0f49197a69 | ||
|
|
be923fecbd | ||
|
|
68818755e5 | ||
|
|
27cf833b0d | ||
|
|
381994df99 | ||
|
|
f311aa37af | ||
|
|
d887353c24 | ||
|
|
4d4eb02e57 |
@@ -6,4 +6,5 @@
|
||||
+ src/**/*.h
|
||||
+ tests/**/*.cc
|
||||
+ tests/**/*.h
|
||||
+ tests/**/*.cppm
|
||||
- tests/catch.h
|
||||
|
||||
68
.clang-tidy
Normal file
@@ -0,0 +1,68 @@
|
||||
Checks: >-
|
||||
*,
|
||||
-altera*,
|
||||
-*braces-around-statements,
|
||||
-*osx*,
|
||||
-abseil*,
|
||||
-android*,
|
||||
-bugprone-branch-clone,
|
||||
-bugprone-exception-escape,
|
||||
-bugprone-easily-swappable-parameters,
|
||||
-clang-analyzer-alpha.*,
|
||||
-clang-analyzer-core.StackAddressEscape,
|
||||
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
|
||||
-cppcoreguidelines-macro-usage,
|
||||
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
|
||||
-cppcoreguidelines-special-member-functions,
|
||||
-cppcoreguidelines-avoid-magic-numbers,
|
||||
-cppcoreguidelines-non-private-member-variables-in-classes,
|
||||
-cert-env33-c,
|
||||
-cert-err58-cpp,
|
||||
-cert-dcl58-cpp,
|
||||
-fuchsia*,
|
||||
-hicpp-no-array-decay,
|
||||
-hicpp-special-member-functions,
|
||||
-google-readability-todo,
|
||||
-google-default-arguments,
|
||||
-google-explicit-constructor,
|
||||
-google-build-using-namespace,
|
||||
-hicpp-signed-bitwise,
|
||||
-hicpp-explicit-conversions,
|
||||
-llvmlibc-*,
|
||||
-llvm-header-guard,
|
||||
-llvm-namespace-comment,
|
||||
-misc-no-recursion,
|
||||
-misc-non-private-member-variables-in-classes,
|
||||
-misc-const-correctness,
|
||||
-modernize-use-nodiscard,
|
||||
-modernize-use-trailing-return-type,
|
||||
-modernize-concat-nested-namespaces,
|
||||
-mpi*,
|
||||
-objc*,
|
||||
-openmp*,
|
||||
-readability-inconsistent-declaration-parameter-name,
|
||||
-readability-identifier-length,
|
||||
-readability-identifier-naming,
|
||||
-readability-redundant-smartptr-get,
|
||||
-readability-convert-member-functions-to-static,
|
||||
-readability-function-cognitive-complexity,
|
||||
-readability-const-return-type,
|
||||
-readability-simplify-boolean-expr,
|
||||
-readability-make-member-function-const,
|
||||
-darwin*,
|
||||
-zircon*
|
||||
WarningsAsErrors: '*'
|
||||
HeaderFilterRegex: 'src'
|
||||
CheckOptions:
|
||||
- key: readability-identifier-naming.PrivateMemberSuffix
|
||||
value: '_'
|
||||
- key: readability-identifier-naming.PublicMemberSuffix
|
||||
value: ''
|
||||
- key: performance-unnecessary-value-param.AllowedTypes
|
||||
value: shared_ptr;weak_ptr
|
||||
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
|
||||
value: 1
|
||||
- key: hicpp-special-member-functions.AllowSoleDefaultDtor
|
||||
value: 1
|
||||
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
|
||||
value: 1
|
||||
84
.clang-uml
@@ -1,22 +1,84 @@
|
||||
compilation_database_dir: debug
|
||||
output_directory: docs/diagrams
|
||||
comment_parser: clang
|
||||
add_compile_flags:
|
||||
- -Wno-deprecated-declarations
|
||||
remove_compile_flags:
|
||||
- -Wno-class-memaccess
|
||||
- -Wno-dangling-reference
|
||||
plantuml:
|
||||
cmd: "plantuml -tsvg \"docs/diagrams/{}.puml\""
|
||||
mermaid:
|
||||
cmd: "mmdc -i \"docs/diagrams/{}.mmd\" -o \"docs/diagrams/{}.svg\""
|
||||
generate_links:
|
||||
link: 'https://github.com/bkryza/clang-uml/blob/{{ git.commit }}/{{ element.source.path }}#L{{ element.source.line }}'
|
||||
tooltip: '{% if "comment" in element %}{{ abbrv(trim(replace(element.comment, "\n+", " ")), 256) }}{% else %}{{ element.name }}{% endif %}'
|
||||
link: "{% if existsIn(element, \"doxygen_link\") %}{{ element.doxygen_link }}{% endif %}"
|
||||
tooltip: "{% if existsIn(element, \"comment\") and existsIn(element.comment, \"brief\") %}{{ abbrv(trim(replace(element.comment.brief.0, \"\\n+\", \" \")), 256) }}{% else %}{{ element.name }}{% endif %}"
|
||||
diagrams:
|
||||
main_package:
|
||||
include!: uml/main_package_diagram.yml
|
||||
# Class diagrams
|
||||
architecture_visitors_class:
|
||||
include!: uml/class/architecture_visitors_class.yml
|
||||
config_class:
|
||||
include!: uml/config_class_diagram.yml
|
||||
include!: uml/class/config_class.yml
|
||||
config_context_class:
|
||||
include!: uml/class/config_context_class.yml
|
||||
compilation_database_context_class:
|
||||
include!: uml/class/compilation_database_context_class.yml
|
||||
inheritable_diagram_options_context_class:
|
||||
include!: uml/class/inheritable_diagram_options_context_class.yml
|
||||
diagram_config_hierarchy_class:
|
||||
include!: uml/class/diagram_config_hierarchy_class.yml
|
||||
diagram_hierarchy_class:
|
||||
include!: uml/class/diagram_hierarchy_class.yml
|
||||
decorated_element_hierarchy_class:
|
||||
include!: uml/class/decorated_element_hierarchy_class.yml
|
||||
stylable_element_hierarchy_class:
|
||||
include!: uml/class/stylable_element_hierarchy_class.yml
|
||||
source_location_hierarchy_class:
|
||||
include!: uml/class/source_location_hierarchy_class.yml
|
||||
"filter_visitor_hierarchy_class":
|
||||
include!: uml/class/filter_visitor_hierarchy_class.yml
|
||||
diagram_filter_context_class:
|
||||
include!: uml/class/diagram_filter_context_class.yml
|
||||
nested_trait_hierarchy_class:
|
||||
include!: uml/class/nested_trait_hierarchy_class.yml
|
||||
package_hierarchy_class:
|
||||
include!: uml/class/package_hierarchy_class.yml
|
||||
source_file_hierarchy_class:
|
||||
include!: uml/class/source_file_hierarchy_class.yml
|
||||
template_trait_hierarchy_class:
|
||||
include!: uml/class/template_trait_hierarchy_class.yml
|
||||
comment_visitor_hierarchy_class:
|
||||
include!: uml/class/comment_visitor_hierarchy_class.yml
|
||||
decorators_class:
|
||||
include!: uml/decorators_class_diagram.yml
|
||||
include!: uml/class/decorators_class.yml
|
||||
relationship_context_class:
|
||||
include!: uml/class/relationship_context_class.yml
|
||||
common_model_class:
|
||||
include!: uml/common_model_class_diagram.yml
|
||||
include!: uml/class/common_model_class.yml
|
||||
class_model_class:
|
||||
include!: uml/class_model_class_diagram.yml
|
||||
include!: uml/class/class_model_class.yml
|
||||
diagram_element_hierarchy_class:
|
||||
include!: uml/class/diagram_element_hierarchy_class.yml
|
||||
sequence_model_class:
|
||||
include!: uml/sequence_model_class_diagram.yml
|
||||
include!: uml/class/sequence_model_class.yml
|
||||
package_model_class:
|
||||
include!: uml/package_model_class_diagram.yml
|
||||
include!: uml/class/package_model_class.yml
|
||||
# Sequence diagrams
|
||||
main_sequence:
|
||||
include!: uml/sequence/main_sequence.yml
|
||||
load_config_sequence:
|
||||
include!: uml/sequence/load_config_sequence.yml
|
||||
cli_handle_options_sequence:
|
||||
include!: uml/sequence/cli_handle_options_sequence.yml
|
||||
diagram_generate_generic_sequence:
|
||||
include!: uml/sequence/diagram_generate_generic_sequence.yml
|
||||
class_diagram_generator_sequence:
|
||||
include!: uml/sequence/class_diagram_generator_sequence.yml
|
||||
template_builder_sequence:
|
||||
include!: uml/sequence/template_builder_sequence.yml
|
||||
# Package diagrams
|
||||
architecture_package:
|
||||
include!: uml/package/architecture_package.yml
|
||||
# Include diagrams
|
||||
include_graph:
|
||||
include!: uml/include_diagram.yml
|
||||
include!: uml/include/include.yml
|
||||
|
||||
39
.github/workflows/build.yml
vendored
@@ -1,31 +1,54 @@
|
||||
name: build
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'packaging/**'
|
||||
- 'util/**'
|
||||
- 'uml/**'
|
||||
- '**.md'
|
||||
branches-ignore:
|
||||
- 'noactions/*'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'packaging/**'
|
||||
- 'util/**'
|
||||
- 'uml/**'
|
||||
- '**.md'
|
||||
- '**.svg'
|
||||
- '**.png'
|
||||
branches-ignore:
|
||||
- 'noactions/*'
|
||||
|
||||
jobs:
|
||||
build-ubuntu:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Update package database
|
||||
run: sudo apt -y update
|
||||
- name: Install deps
|
||||
run: sudo apt -y install git make gcc-10 g++-10 ccache cmake libyaml-cpp-dev llvm-12 clang-12 libclang-12-dev libclang-cpp12-dev lcov zlib1g-dev
|
||||
run: sudo apt -y install git make pkg-config gcc-11 g++-11 ccache cmake libyaml-cpp-dev llvm-15 clang-15 libclang-15-dev libclang-cpp15-dev clang-format-15 lcov zlib1g-dev libunwind-dev libdw-dev
|
||||
- name: Select g++ version
|
||||
run: |
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
|
||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
|
||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
|
||||
- name: Check code formatting
|
||||
run: |
|
||||
make check-formatting
|
||||
- name: Build and unit test
|
||||
run: |
|
||||
NUMPROC=2 CMAKE_CXX_FLAGS="--coverage -fno-inline" CMAKE_EXE_LINKER_FLAGS="-lgcov --coverage" LLVM_VERSION=12 make test
|
||||
NUMPROC=2 CMAKE_CXX_FLAGS="--coverage -fno-inline" CMAKE_EXE_LINKER_FLAGS="-lgcov --coverage" LLVM_VERSION=15 make test
|
||||
- name: Run coverage
|
||||
run: |
|
||||
lcov -c -d debug -o coverage.info
|
||||
lcov -e coverage.info "$PWD/src/*" -o coverage-src.info
|
||||
lcov -l coverage-src.info
|
||||
- name: Upload coverage
|
||||
uses: codecov/codecov-action@v2
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
files: coverage-src.info
|
||||
name: clang-uml
|
||||
|
||||
10
.gitignore
vendored
@@ -6,10 +6,11 @@ CMakeScripts
|
||||
Testing
|
||||
cmake_install.cmake
|
||||
install_manifest.txt
|
||||
compile_commands.json
|
||||
/compile_commands.json
|
||||
CTestTestfile.cmake
|
||||
Session.vim
|
||||
_deps
|
||||
_tidy
|
||||
/build/
|
||||
lib/
|
||||
bin/
|
||||
@@ -18,8 +19,14 @@ bin/
|
||||
/puml/
|
||||
/debug/
|
||||
/release/
|
||||
/debug_tidy
|
||||
/.cache
|
||||
docs/diagrams
|
||||
docs/doxygen/html
|
||||
docs/doxygen/xml
|
||||
docs/doxygen/latex
|
||||
docs/contributing.md
|
||||
docs/changelog.md
|
||||
|
||||
coverage*.info
|
||||
|
||||
@@ -31,3 +38,4 @@ packaging/conda/meta.yaml
|
||||
.idea/
|
||||
cmake-build-
|
||||
cmake-build-*
|
||||
.run/
|
||||
|
||||
3
AUTHORS.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Authors
|
||||
|
||||
Bartek Kryza <bkryza@gmail.com>
|
||||
103
CHANGELOG.md
@@ -1,8 +1,107 @@
|
||||
# CHANGELOG
|
||||
|
||||
###
|
||||
### 0.4.2
|
||||
* Fixed random typos and omissions in docs (#208)
|
||||
* Fixed handling of diagram hyperlinks with sources outside of project dir (#213)
|
||||
* Fixed test case t00014 on macos (#176)
|
||||
* Added automatic generation of diagram images using PlantUML and MermaidJS (#204)
|
||||
* Added radius parameter to context filter (#201)
|
||||
|
||||
### 0.4.1
|
||||
* Enabled manual call expression injection through comments (#196)
|
||||
* Added support for generating sequence diagram notes from comments (#194)
|
||||
* Added Bash and Zsh autocomplete scripts (#193)
|
||||
* Updated `clang-uml` to work with LLVM 17 (#190)
|
||||
* Fixed handling of compilation databases with relative header paths (#189)
|
||||
* Excluded package diagram dependencies on parent and child packages (186)
|
||||
* Excluded package diagram relationships to rejected packages (#185)
|
||||
* Added 'title' diagram property (#184)
|
||||
* Make sure sequence diagram messages generated during static variable
|
||||
initialization are rendered only once (#183)
|
||||
|
||||
### 0.4.0
|
||||
* Added MermaidJS diagram generators (#27)
|
||||
|
||||
### 0.3.9
|
||||
* Added `from_to` and `to` location constraints to sequence diagrams (#154)
|
||||
* Fixed 'else if' statement generation in sequence diagrams (#81)
|
||||
* Implemented removal of redundant dependency relationships (#28)
|
||||
* Add option to disable generation of dependency relation to template
|
||||
arguments (#141)
|
||||
* Added configuration file validation (#57)
|
||||
|
||||
### 0.3.8
|
||||
* Added option to display block conditional statements in sequence diagrams (#162)
|
||||
* Added Doxygen documentation (#161)
|
||||
* Added diagram generation progress indicators options (#158)
|
||||
* Extended source_location with column and translation unit info
|
||||
|
||||
### 0.3.7
|
||||
* Added regexp support to selected diagram filters (#51, #132)
|
||||
* Added method type diagram filter (#145)
|
||||
* Added default method grouping and sorting in class diagrams (#36)
|
||||
* Improved generation of method attributes (e.g. constexpr, noexcept) (#142)
|
||||
|
||||
### 0.3.6
|
||||
* Added generation of packages in class and package diagrams from
|
||||
filesystem directories (#144)
|
||||
* Improved handling of class template specializations and their
|
||||
relationships (#140)
|
||||
* Fixed handling of C99 typedef structs (#138)
|
||||
|
||||
### 0.3.5
|
||||
* Added `--query-driver` option to automatically detect system include paths (#109)
|
||||
* Fixed add_compile_flags and added remove_compile_flags config options (#130)
|
||||
* Added rendering of template specialization fields and methods (#128)
|
||||
* Improved template specialization/instantiation matching based on deduced
|
||||
context
|
||||
|
||||
### 0.3.4
|
||||
* Added diagram metadata to PlantUML and JSON generators (#27)
|
||||
* Improved template specialization matching for variadic and function
|
||||
template parameters (#118)
|
||||
* Fixed compilation and tests on LLVM 16 (#108)
|
||||
|
||||
### 0.3.3
|
||||
* Added 'add_compile_flags' config options (#112)
|
||||
* Added JSON generator (#114)
|
||||
* Added diagram templates support (#105)
|
||||
* Added parents (base classes) diagram filter
|
||||
* Fixed namespace handling for nested template specializations
|
||||
|
||||
### 0.3.2
|
||||
* Added initial support for C++20 concept rendering (#96)
|
||||
* Added support for plain C11 translation units (#97)
|
||||
* Added 'row' and 'column' layout hints for aligning elements (#90)
|
||||
* Added 'together' layout hint for grouping elements (#43)
|
||||
* Enabled adding notes to class methods and members (#87)
|
||||
* Improved rendering of template methods in class diagrams (#83)
|
||||
|
||||
### 0.3.1
|
||||
* Added relationship deduction from `auto` return types which are template
|
||||
specializations (#82)
|
||||
* Fixed lambda names in class diagrams to be based on relative paths
|
||||
with respect to `relative_to` config option (#78)
|
||||
* Fixed relative paths in config files to be relative to the parent of
|
||||
the configuration file by default (#69)
|
||||
* Added command line option (--dump-config) to print effective config (#77)
|
||||
* Added support for building with Microsoft Visual Studio
|
||||
|
||||
### 0.3.0
|
||||
* Added support for sequence diagrams with template code
|
||||
|
||||
### 0.2.2
|
||||
* Added structured comment parsing (#32)
|
||||
* Fixed namespace exclusive filtering
|
||||
|
||||
### 0.2.1
|
||||
* Fixed handling of classes nested in templates and anonymous nested structs
|
||||
* Fixed handling of configurable type aliases
|
||||
|
||||
### 0.2.0
|
||||
* Refactored translation units visitors from libclang to Clang LibTooling (#50)
|
||||
* Fixed root namespace handling (#45)
|
||||
* Removed `static` prefix from constructors
|
||||
|
||||
### 0.1.0
|
||||
* Initial release
|
||||
* Initial release
|
||||
|
||||
216
CMakeLists.txt
@@ -1,81 +1,89 @@
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
#
|
||||
# Project name
|
||||
#
|
||||
project(clang-uml)
|
||||
project(clang-uml C CXX)
|
||||
|
||||
#
|
||||
# CMake standard defines
|
||||
#
|
||||
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
|
||||
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
set(CMAKE_FIND_DEBUG_MODE OFF)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(LINUX TRUE)
|
||||
endif()
|
||||
|
||||
#
|
||||
# C++ setup
|
||||
#
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
#
|
||||
# clang-uml custom defines
|
||||
#
|
||||
set(CLANG_UML_INSTALL_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
|
||||
set(CLANG_UML_INSTALL_BIN_DIR ${PROJECT_SOURCE_DIR}/bin)
|
||||
set(UML_HEADERS_DIR ${PROJECT_SOURCE_DIR}/src/uml)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
if(APPLE)
|
||||
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm"
|
||||
OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64")
|
||||
set(HOMEBREW_PREFIX "/opt/homebrew")
|
||||
else()
|
||||
set(HOMEBREW_PREFIX "/usr/local")
|
||||
endif()
|
||||
endif(APPLE)
|
||||
|
||||
#
|
||||
# CMake build options
|
||||
#
|
||||
option(LINK_LLVM_SHARED "Should LLVM be linked using shared libraries or statically" ON)
|
||||
set(LLVM_VERSION CACHE STRING "Path to custom llvm-config executable")
|
||||
set(GIT_VERSION "0.1.0" CACHE STRING "clang-uml version")
|
||||
option(LINK_LLVM_SHARED "Should LLVM be linked using shared libraries" ON)
|
||||
set(LLVM_VERSION CACHE STRING "Major LLVM version to use (e.g. 15)")
|
||||
set(LLVM_CONFIG_PATH CACHE STRING "Path to llvm-config binary")
|
||||
set(CMAKE_PREFIX CACHE STRING "Path to custom cmake modules")
|
||||
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_PREFIX}")
|
||||
|
||||
#
|
||||
# Setup version string
|
||||
#
|
||||
include(GitVersion)
|
||||
setup_git_version()
|
||||
message(STATUS "clang-uml version: "
|
||||
"${GIT_VERSION_MAJOR}.${GIT_VERSION_MINOR}.${GIT_VERSION_PATCH}")
|
||||
|
||||
#
|
||||
# Setup LLVM
|
||||
#
|
||||
message(STATUS "Checking for LLVM and Clang...")
|
||||
if(LLVM_PREFIX)
|
||||
message(STATUS "Using llvm-config from ${LLVM_CONFIG_PATH}")
|
||||
set(LIBCLANG_LLVM_CONFIG_EXECUTABLE ${LLVM_CONFIG_PATH})
|
||||
set(LLVM_CONFIG_BINARY ${LLVM_CONFIG_PATH})
|
||||
endif(LLVM_PREFIX)
|
||||
include(LLVMSetup)
|
||||
|
||||
find_package(LLVM ${LLVM_VERSION} CONFIG REQUIRED)
|
||||
#
|
||||
# Setup custom compile options depending on various compiler
|
||||
# and environment quirks
|
||||
#
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "13.0")
|
||||
# Workaround over Wdangling-reference false positives in libfmt
|
||||
set(CUSTOM_COMPILE_OPTIONS ${CUSTOM_COMPILE_OPTIONS} -Wno-dangling-reference)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_DIR})
|
||||
include(AddLLVM)
|
||||
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||
message(STATUS "LLVM library dir: ${LLVM_LIBRARY_DIR}")
|
||||
|
||||
if(LINK_LLVM_SHARED)
|
||||
set(LIBTOOLING_LIBS clang-cpp LLVM)
|
||||
else(LINK_LLVM_SHARED)
|
||||
set(LIBTOOLING_LIBS
|
||||
clangLex
|
||||
clangFrontend
|
||||
clangSerialization
|
||||
clangDriver
|
||||
clangParse
|
||||
clangSema
|
||||
clangAnalysis
|
||||
clangAST
|
||||
clangBasic
|
||||
clangEdit
|
||||
clangLex
|
||||
clangTooling
|
||||
LLVMipo
|
||||
LLVMScalarOpts
|
||||
LLVMInstCombine
|
||||
LLVMTransformUtils
|
||||
LLVMAnalysis
|
||||
LLVMTarget
|
||||
LLVMOption
|
||||
LLVMMCParser
|
||||
LLVMMC
|
||||
LLVMObject
|
||||
LLVMBitReader
|
||||
LLVMCore
|
||||
LLVMSupport)
|
||||
endif(LINK_LLVM_SHARED)
|
||||
if(LLVM_VERSION_MAJOR GREATER_EQUAL 17)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CUSTOM_COMPILE_OPTIONS ${CUSTOM_COMPILE_OPTIONS} -Wno-class-memaccess)
|
||||
endif()
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set(CUSTOM_COMPILE_OPTIONS
|
||||
${CUSTOM_COMPILE_OPTIONS} -Wno-unused-private-field)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Setup threads library
|
||||
@@ -87,98 +95,66 @@ find_package(Threads REQUIRED)
|
||||
#
|
||||
message(STATUS "Checking for yaml-cpp...")
|
||||
if(APPLE)
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(YAML_CPP yaml-cpp)
|
||||
find_path(YAML_CPP_INCLUDE_DIR
|
||||
NAMES yaml.h
|
||||
PATHS ${YAML_CPP_INCLUDE_DIR} /usr/local/include/yaml-cpp)
|
||||
find_library(YAML_CPP_LIBRARY
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(YAML_CPP yaml-cpp)
|
||||
find_path(YAML_CPP_INCLUDE_DIR
|
||||
NAMES yaml-cpp/yaml.h
|
||||
PATHS ${YAML_CPP_INCLUDE_DIR} ${HOMEBREW_PREFIX}/include)
|
||||
find_library(YAML_CPP_LIBRARY
|
||||
NAMES yaml-cpp
|
||||
PATHS ${YAML_CPP_LIBRARIES} /usr/local/lib)
|
||||
set(YAML_CPP_LIBRARY_DIR /usr/local/lib)
|
||||
endif()
|
||||
else(APPLE)
|
||||
PATHS ${YAML_CPP_LIBRARIES} ${HOMEBREW_PREFIX}/lib)
|
||||
set(YAML_CPP_LIBRARY_DIR ${HOMEBREW_PREFIX}/lib)
|
||||
endif(PKG_CONFIG_FOUND)
|
||||
elseif(MSVC)
|
||||
set(YAML_CPP_LIBRARIES "yaml-cpp")
|
||||
else()
|
||||
find_package(yaml-cpp REQUIRED)
|
||||
endif(APPLE)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -std=c++17 -Wno-unused-parameter -Wno-unused-private-field")
|
||||
if("${YAML_CPP_LIBRARIES}" STREQUAL "")
|
||||
message(FATAL_ERROR "Failed to find yaml-cpp library!")
|
||||
else()
|
||||
message(STATUS "Found yaml-cpp libraries: ${YAML_CPP_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
link_directories(${LLVM_LIBRARY_DIR} ${YAML_CPP_LIBRARY_DIR})
|
||||
|
||||
#
|
||||
# Setup libdw and libunwind
|
||||
#
|
||||
if(LINUX AND (CMAKE_BUILD_TYPE MATCHES Debug))
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(DW REQUIRED IMPORTED_TARGET libdw)
|
||||
pkg_check_modules(UNWIND REQUIRED IMPORTED_TARGET libunwind)
|
||||
set(BACKWARD_CPP_LIBRARIES PkgConfig::DW PkgConfig::UNWIND)
|
||||
set(ENABLE_BACKWARD_CPP -DENABLE_BACKWARD_CPP)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Setup thirdparty sources
|
||||
#
|
||||
set(THIRDPARTY_HEADERS_DIR ${PROJECT_SOURCE_DIR}/thirdparty/)
|
||||
|
||||
#
|
||||
# Configure clang-uml executable version
|
||||
#
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/src/version)
|
||||
configure_file(src/version.h.in ${PROJECT_BINARY_DIR}/src/version/version.h)
|
||||
|
||||
#
|
||||
# Handle various compiler quirks
|
||||
#
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
execute_process(COMMAND gcc --print-file-name=include
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
OUTPUT_VARIABLE GCC_STDDEF_INCLUDE)
|
||||
message(STATUS "FOUND GCC STDDEF INCLUDE ${GCC_STDDEF_INCLUDE}")
|
||||
include_directories(${GCC_STDDEF_INCLUDE})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${GCC_STDDEF_INCLUDE}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Using CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
#
|
||||
# Setup include directories
|
||||
#
|
||||
include_directories(${LLVM_INCLUDE_DIRS})
|
||||
include_directories(${CLANG_UML_INSTALL_INCLUDE_DIR})
|
||||
include_directories(${YAML_CPP_INCLUDE_DIRS})
|
||||
include_directories(${UML_HEADERS_DIR})
|
||||
include_directories(${THIRDPARTY_HEADERS_DIR})
|
||||
include_directories(${PROJECT_SOURCE_DIR}/src/)
|
||||
include_directories(${PROJECT_BINARY_DIR}/src/version)
|
||||
include_directories(${YAML_CPP_INCLUDE_DIR})
|
||||
|
||||
|
||||
#
|
||||
# Generate source list dynamically
|
||||
#
|
||||
file(GLOB_RECURSE SOURCES src/*.cc include/*.h)
|
||||
set(MAIN_SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc)
|
||||
list(REMOVE_ITEM SOURCES ${MAIN_SOURCE_FILE})
|
||||
|
||||
|
||||
#
|
||||
# Define library target for linking with test cases and output executable
|
||||
#
|
||||
add_library(clang-umllib OBJECT ${SOURCES})
|
||||
|
||||
#
|
||||
# Define the target executable clang-uml
|
||||
#
|
||||
add_executable(clang-uml ${MAIN_SOURCE_FILE})
|
||||
target_link_libraries(clang-uml
|
||||
${YAML_CPP_LIBRARIES}
|
||||
${LIBTOOLING_LIBS}
|
||||
clang-umllib
|
||||
Threads::Threads)
|
||||
|
||||
target_compile_features(clang-uml PRIVATE cxx_std_17)
|
||||
|
||||
#
|
||||
# Setup install options
|
||||
#
|
||||
include(GNUInstallDirs)
|
||||
|
||||
install(TARGETS clang-uml DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
add_subdirectory(src)
|
||||
|
||||
#
|
||||
# Enable testing via CTest
|
||||
#
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
option(BUILD_TESTS "" ON)
|
||||
option(ENABLE_CXX_MODULES_TEST_CASES "" OFF)
|
||||
if(BUILD_TESTS)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
endif(BUILD_TESTS)
|
||||
|
||||
93
CONTRIBUTING.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# Contributing to clang-uml
|
||||
|
||||
Thanks for taking interest in `clang-uml`!
|
||||
|
||||
> Please, make sure you're ok with
|
||||
> [Code of conduct](./CODE_OF_CONDUCT.md)
|
||||
> and [LICENSE](./LICENSE.md)
|
||||
|
||||
|
||||
## If you found a bug
|
||||
|
||||
* Optimally, fork the repository, create some branch, and add a test case reproducing the issue (it's easy!) -
|
||||
check what is the highest test case number in a specific category and use the test case generation script with
|
||||
a consecutive number:
|
||||
```bash
|
||||
# To generate a class diagram test case with number 50
|
||||
./util/generate_test_case.py class 50
|
||||
```
|
||||
This will generate a new test case template in the `tests/t00050` directory. In `tests/t00050/t00050.cc` write
|
||||
the C++ code which triggers the issue, and in `tests/t00050/test_case.h` write the test checks.
|
||||
The test case must be also added manually to `tests/test_cases.cc`:
|
||||
```cpp
|
||||
// ...
|
||||
#include "t00047/test_case.h"
|
||||
#include "t00048/test_case.h"
|
||||
#include "t00049/test_case.h"
|
||||
#include "t00050/test_case.h" // <<<
|
||||
// ...
|
||||
```
|
||||
|
||||
Finally, create an issue with a link to your branch with the new test case.
|
||||
|
||||
* If the issue occurs with some publicly available code (e.g. available on GitHub), please create a new issue
|
||||
and describe the steps necessary to reproduce the issue including:
|
||||
* Link to source code and specific version used
|
||||
* `clang-uml` version used
|
||||
* Operating system, compiler and linked LLVM version
|
||||
* `.clang-uml` configuration file used
|
||||
* Exact command line used to execute `clang-uml`
|
||||
* Excerpt from the console logs
|
||||
|
||||
* If the code on which `clang-uml` fails cannot be shared, please create an issue and try to provide at least:
|
||||
* `clang-uml` version used
|
||||
* Operating system, compiler and linked LLVM version
|
||||
* `.clang-uml` configuration file used
|
||||
* Exact command line used to execute `clang-uml`
|
||||
* Excerpt from the console logs
|
||||
* Description of the code fragment on which the error occurs (e.g. a variadic template or anonymous struct)
|
||||
|
||||
## If you would like to fix a bug
|
||||
* Fork the repository and create a branch
|
||||
* Create a new test case which triggers the bug (see above how to create a new test case)
|
||||
```bash
|
||||
# Make sure the test case fails
|
||||
make test
|
||||
```
|
||||
* Fix the code so that the test case passes
|
||||
```bash
|
||||
# Again, make sure the test case fails and other still pass
|
||||
make test
|
||||
```
|
||||
* Commit the changes including all new files
|
||||
* Make sure the code is properly formatted:
|
||||
```bash
|
||||
# Requires docker to ensure consistent formatting through specific clang-format version
|
||||
make format
|
||||
git add . && git commit -m "Fixed formatting"
|
||||
```
|
||||
* Make sure the code doesn't introduce any `clang-tidy` warnings:
|
||||
```bash
|
||||
make tidy
|
||||
```
|
||||
|
||||
* Create a pull request from your branch to `master` branch
|
||||
|
||||
## If you would like to add a feature
|
||||
* First, please check if the feature isn't already mentioned in the issues or existing PR's
|
||||
* If not, create a new issue and describe as good as possible the new feature including:
|
||||
* Rationale
|
||||
* If the feature adds new configuration options, provide an example of new configuration file
|
||||
* If the feature adds a new diagram feature, please add an example C++ code and expected PlantUML diagram which should
|
||||
be generated through the feature
|
||||
* To maximize the chances of accepting the new feature, wait for some discussion on the issue before implementing
|
||||
the feature to ensure we're on the same page as to its purpose and possible implementation
|
||||
* Next, implement the feature, please try to adapt to the overall code style:
|
||||
* 80-character line width
|
||||
* snakes not camels
|
||||
* use `make format` before submitting PR to ensure consistent formatting (requires Docker)
|
||||
* use `make tidy` to check if your code doesn't introduce any `clang-tidy` warnings
|
||||
* Add test case (or multiple test cases), which cover the new feature
|
||||
* Finally, create a pull request!
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@ recommend that a file or class name and description of purpose be included on
|
||||
the same “printed page” as the copyright notice for easier identification within
|
||||
third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
Copyright 2021-2023 Bartek Kryza <bkryza@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
121
Makefile
@@ -1,6 +1,6 @@
|
||||
# Makefile
|
||||
#
|
||||
# Copyright (c) 2021-2022 Bartek Kryza <bkryza@gmail.com>
|
||||
# Copyright (c) 2021-2023 Bartek Kryza <bkryza@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -20,61 +20,119 @@
|
||||
|
||||
.DEFAULT_GOAL := debug
|
||||
|
||||
NUMPROC ?= $(shell nproc)
|
||||
OS_UNAME := $(shell uname -s)
|
||||
|
||||
ifeq ($(OS_UNAME),Linux)
|
||||
NUMPROC ?= $(shell nproc)
|
||||
else ifeq ($(OS_UNAME),Darwin)
|
||||
NUMPROC ?= $(shell sysctl -n hw.logicalcpu)
|
||||
else
|
||||
NUMPROC ?= 1
|
||||
endif
|
||||
|
||||
LLVM_VERSION ?=
|
||||
LLVM_CONFIG_PATH ?=
|
||||
CMAKE_PREFIX ?=
|
||||
CMAKE_CXX_FLAGS ?=
|
||||
CMAKE_EXE_LINKER_FLAGS ?=
|
||||
CMAKE_GENERATOR ?= Unix Makefiles
|
||||
|
||||
ENABLE_CXX_MODULES_TEST_CASES ?= OFF
|
||||
|
||||
GIT_VERSION ?= $(shell git describe --tags --always --abbrev=7)
|
||||
PKG_VERSION ?= $(shell git describe --tags --always --abbrev=7 | tr - .)
|
||||
GIT_COMMIT ?= $(shell git rev-parse HEAD)
|
||||
GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
DESTDIR ?=
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf debug release
|
||||
rm -rf debug release debug_tidy
|
||||
|
||||
debug/CMakeLists.txt:
|
||||
cmake -S . -B debug \
|
||||
-G"$(CMAKE_GENERATOR)" \
|
||||
-DGIT_VERSION=$(GIT_VERSION) \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_CXX_FLAGS="$(CMAKE_CXX_FLAGS)" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$(CMAKE_EXE_LINKER_FLAGS)" \
|
||||
-DLLVM_VERSION=${LLVM_VERSION}
|
||||
-DLLVM_VERSION=${LLVM_VERSION} \
|
||||
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
|
||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)
|
||||
|
||||
release/CMakeLists.txt:
|
||||
cmake -S . -B release \
|
||||
-G"$(CMAKE_GENERATOR)" \
|
||||
-DGIT_VERSION=$(GIT_VERSION) \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS="$(CMAKE_CXX_FLAGS)" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$(CMAKE_EXE_LINKER_FLAGS)" \
|
||||
-DLLVM_VERSION=${LLVM_VERSION}
|
||||
-DLLVM_VERSION=${LLVM_VERSION} \
|
||||
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
|
||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)
|
||||
|
||||
debug_tidy/CMakeLists.txt:
|
||||
cmake -S . -B debug_tidy \
|
||||
-G"$(CMAKE_GENERATOR)" \
|
||||
-DGIT_VERSION=$(GIT_VERSION) \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DBUILD_TESTS=OFF \
|
||||
-DCMAKE_CXX_FLAGS="$(CMAKE_CXX_FLAGS)" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$(CMAKE_EXE_LINKER_FLAGS)" \
|
||||
-DLLVM_VERSION=${LLVM_VERSION} \
|
||||
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
|
||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)
|
||||
|
||||
debug: debug/CMakeLists.txt
|
||||
echo "Using ${NUMPROC} cores"
|
||||
make -C debug -j$(NUMPROC)
|
||||
cmake --build debug -j$(NUMPROC)
|
||||
|
||||
debug_tidy: debug_tidy/CMakeLists.txt
|
||||
echo "Using ${NUMPROC} cores"
|
||||
cmake --build debug_tidy -j$(NUMPROC)
|
||||
|
||||
release: release/CMakeLists.txt
|
||||
make -C release -j$(NUMPROC)
|
||||
cmake --build release -j$(NUMPROC)
|
||||
|
||||
test: debug
|
||||
CTEST_OUTPUT_ON_FAILURE=1 make -C debug test
|
||||
CTEST_OUTPUT_ON_FAILURE=1 ctest --test-dir debug
|
||||
|
||||
test_release: release
|
||||
CTEST_OUTPUT_ON_FAILURE=1 make -C release test
|
||||
CTEST_OUTPUT_ON_FAILURE=1 ctest --test-dir release
|
||||
|
||||
test_plantuml: test
|
||||
plantuml -tsvg debug/tests/puml/*.puml
|
||||
install: release
|
||||
make -C release install DESTDIR=${DESTDIR}
|
||||
|
||||
document_test_cases: test_plantuml
|
||||
test_diagrams: test
|
||||
mkdir -p debug/tests/diagrams/plantuml
|
||||
mkdir -p debug/tests/diagrams/mermaid
|
||||
plantuml -tsvg -nometadata -o plantuml debug/tests/diagrams/*.puml
|
||||
python3 util/validate_json.py debug/tests/diagrams/*.json
|
||||
python3 util/generate_mermaid.py debug/tests/diagrams/*.mmd
|
||||
|
||||
document_test_cases: test_diagrams
|
||||
python3 util/generate_test_cases_docs.py
|
||||
# Format generated SVG files
|
||||
python3 util/format_svg.py docs/test_cases/*.svg
|
||||
|
||||
clanguml_diagrams: debug
|
||||
mkdir -p docs/diagrams
|
||||
debug/clang-uml
|
||||
plantuml -tsvg docs/diagrams/*.puml
|
||||
python3 util/format_svg.py docs/diagrams/*.svg
|
||||
mkdir -p docs/diagrams/plantuml
|
||||
mkdir -p docs/diagrams/mermaid
|
||||
debug/src/clang-uml -g plantuml -g json -g mermaid -p
|
||||
# Convert .puml files to svg images
|
||||
plantuml -tsvg -nometadata -o plantuml docs/diagrams/*.puml
|
||||
# Convert .mmd files to svg images
|
||||
python3 util/generate_mermaid.py docs/diagrams/*.mmd
|
||||
# Format generated SVG files
|
||||
python3 util/format_svg.py docs/diagrams/plantuml/*.svg
|
||||
python3 util/format_svg.py docs/diagrams/mermaid/*.svg
|
||||
|
||||
.PHONY: submodules
|
||||
submodules:
|
||||
@@ -89,14 +147,41 @@ init_compile_commands: debug
|
||||
|
||||
.PHONY: clang-format
|
||||
clang-format:
|
||||
docker run --rm -v $(CURDIR):/root/sources bkryza/clang-format-check:1.3
|
||||
docker run --rm -v $(CURDIR):/root/sources bkryza/clang-format-check:1.4
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
docker run --rm -v $(CURDIR):/root/sources bkryza/clang-format-check:1.3
|
||||
docker run --rm -v $(CURDIR):/root/sources bkryza/clang-format-check:1.4
|
||||
|
||||
.PHONY: debug_tidy
|
||||
tidy: debug_tidy
|
||||
run-clang-tidy-15 -j $(NUMPROC) -p debug_tidy ./src
|
||||
|
||||
.PHONY: check-formatting
|
||||
check-formatting:
|
||||
./util/check_formatting.sh
|
||||
|
||||
.PHONY: iwyu_fixes
|
||||
iwyu_fixes: debug
|
||||
python3 $(shell which iwyu_tool.py) -p debug > debug/iwyu.out
|
||||
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/src/.*" < debug/iwyu.out
|
||||
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/tests/.*" < debug/iwyu.out
|
||||
|
||||
.PHONY: docs
|
||||
docs:
|
||||
make -C docs toc
|
||||
|
||||
.PHONY: doxygen
|
||||
doxygen: docs
|
||||
cp CONTRIBUTING.md docs/contributing.md
|
||||
cp CHANGELOG.md docs/changelog.md
|
||||
mkdir -p docs/doxygen/html/test_cases
|
||||
cp docs/diagrams/plantuml/*.svg docs/doxygen/html/
|
||||
cp docs/test_cases/*.svg docs/doxygen/html/test_cases/
|
||||
../doxygen/_build/bin/doxygen
|
||||
|
||||
.PHONY: fedora/%
|
||||
fedora/%:
|
||||
mkdir -p packaging/_BUILD/fedora/$*
|
||||
git archive --format=tar.gz --prefix=clang-uml-$(PKG_VERSION)/ v$(GIT_VERSION) >packaging/_BUILD/fedora/$*/clang-uml-$(PKG_VERSION).tar.gz
|
||||
docker run --cpuset-cpus=0-7 -v $(PWD):$(PWD) fedora:$* sh -c "dnf install -y make git && cd ${PWD} && make OS=fedora DIST=$* VERSION=${PKG_VERSION} COMMIT=${GIT_COMMIT} BRANCH=${GIT_BRANCH} -C packaging rpm"
|
||||
|
||||
338
README.md
@@ -1,113 +1,97 @@
|
||||
# clang-uml - C++ UML diagram generator based on Clang and PlantUML
|
||||
[<div align="center"><img width="600" src="https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/img/clang-uml-logo.svg?sanitize=true"></div>](https://github.com/bkryza/clang-uml/releases)
|
||||
|
||||
# C++ UML diagram generator based on Clang
|
||||
|
||||
[](https://github.com/bkryza/clang-uml/actions)
|
||||
[](https://codecov.io/gh/bkryza/clang-uml)
|
||||
[](https://github.com/bkryza/clang-uml/releases)
|
||||
[](https://github.com/bkryza/clang-uml/releases)
|
||||
[](https://github.com/bkryza/clang-uml/releases)
|
||||
[](https://clang-uml.github.io)
|
||||
|
||||
`clang-uml` is an automatic C++ to [PlantUML](https://plantuml.com) class, sequence
|
||||
and package diagram generator, driven by YAML configuration files. The main idea behind the
|
||||
`clang-uml` is an automatic C++ to UML class, sequence, package and include diagram generator, driven by
|
||||
YAML configuration files. The main idea behind the
|
||||
project is to easily maintain up-to-date diagrams within a code-base or document
|
||||
legacy code. The configuration file or files for `clang-uml` define the
|
||||
type and contents of each generated diagram.
|
||||
types and contents of each generated diagram.
|
||||
The diagrams can be generated in [PlantUML](https://plantuml.com),
|
||||
[MermaidJS](https://mermaid.js.org/) and JSON formats.
|
||||
|
||||
`clang-uml` currently supports C++ up to version 17.
|
||||
`clang-uml` currently supports C++ up to version 17 with partial support for C++ 20.
|
||||
|
||||
> Current `master` version (and any release since `0.2.0`) has been refactored to use
|
||||
> [Clang LibTooling](https://clang.llvm.org/docs/LibTooling.html) instead of libclang.
|
||||
> Previous version is available in branch `0.1.x`, however it is not maintained.
|
||||
Full documentation can be found at [clang-uml.github.io](https://clang-uml.github.io).
|
||||
|
||||
To see what `clang-uml` can do, checkout the diagrams generated for unit
|
||||
test cases [here](./docs/test_cases.md) or examples in
|
||||
[clang-uml-examples](https://github.com/bkryza/clang-uml-examples) repository.
|
||||
|
||||
## Features
|
||||
|
||||
Main features supported so far include:
|
||||
|
||||
* **Class diagram generation**
|
||||
* Basic class properties and methods including visibility
|
||||
* Class relationships including associations, aggregations, dependencies and friendship
|
||||
* Template instantiation relationships
|
||||
* Relationship inference from C++ containers and smart pointers
|
||||
* Diagram content filtering based on namespaces, elements and relationships
|
||||
* Optional package generation from namespaces
|
||||
* Interactive links to online code to classes, methods and class fields in SVG diagrams
|
||||
* Class properties and methods including access scope - [_example_](docs/test_cases/t00003.md)
|
||||
* Class inheritance - [_example_](docs/test_cases/t00002.md)
|
||||
* Other class relationships including associations, aggregations, dependencies and friendship - [_example_](docs/test_cases/t00006.md)
|
||||
* Template instantiation relationships - [_example_](docs/test_cases/t00014.md)
|
||||
* Template specialization and instantiation based on deduced context - [_example_](docs/test_cases/t00062.md)
|
||||
* Relationship inference from C++ containers and smart pointers - [_example_](docs/test_cases/t00007.md)
|
||||
* Diagram content filtering based on namespaces, elements and relationships - [_example_](docs/test_cases/t00040.md)
|
||||
* Optional package generation from namespaces (only PlantUML) - [_example_](docs/test_cases/t00036.md)
|
||||
* Optional package generation from subdirectories (only PlantUML) - [_example_](docs/test_cases/t00065.md)
|
||||
* Interactive links to online code or docs for classes, methods and class fields in SVG diagrams - [_example_](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t00002_class.svg)
|
||||
* Support for plain C99/C11 code (struct, units and their relationships) - [_example_](docs/test_cases/t00057.md)
|
||||
* C++20 concept constraints - [_example_](docs/test_cases/t00059.md)
|
||||
* C++20 coroutines - [_example_](docs/test_cases/t00069.md)
|
||||
* Diagram content filtering based on C++20 modules - [_example_](docs/test_cases/t00070.md)
|
||||
* **Sequence diagram generation**
|
||||
* Generation of sequence diagram from one code location to another (currently only for non-template code)
|
||||
* Generation of sequence diagram from specific method or function - [_example_](docs/test_cases/t20001.md)
|
||||
* Generation of loop and conditional statements - [_example_](docs/test_cases/t20021.md)
|
||||
* Generation of switch statements - [_example_](docs/test_cases/t20024.md)
|
||||
* Generation of try/catch blocks - [_example_](docs/test_cases/t20023.md)
|
||||
* Handling of template code including constexpr conditionals - [_example_](docs/test_cases/t20018.md)
|
||||
* Handling of lambda expressions - [_example_](docs/test_cases/t20012.md)
|
||||
* Interactive links to online code to classes and call expressions - [_example_](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t20021_sequence.svg)
|
||||
* **Package diagram generation**
|
||||
* Generation of package diagram based on C++ namespaces
|
||||
* Interactive links to online code to packages
|
||||
* Generation of package diagram based on C++ namespaces - [_example_](docs/test_cases/t30001.md)
|
||||
* Generation of package diagram based on subdirectories - [_example_](docs/test_cases/t30010.md)
|
||||
* Dependencies between packages based on symbols used in the code - [_example_](docs/test_cases/t30002.md)
|
||||
* Interactive links to online code to packages - [_example_](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t30002_package.svg)
|
||||
* **Include graph diagram generation**
|
||||
* Show include graph for selected files
|
||||
* Show include graph for selected files - [_example_](docs/test_cases/t40001.md)
|
||||
|
||||
To see what `clang-uml` can do so far, checkout the diagrams generated for unit test cases [here](./docs/test_cases.md)
|
||||
and examples in [clang-uml-examples](https://github.com/bkryza/clang-uml-examples) repository.
|
||||
More comprehensive documentation can be at [clang-uml.github.io](https://clang-uml.github.io).
|
||||
|
||||
## Installation
|
||||
|
||||
### Distribution packages
|
||||
|
||||
#### Ubuntu
|
||||
```bash
|
||||
sudo add-apt-repository ppa:bkryza/clang-uml
|
||||
sudo apt update
|
||||
sudo apt install clang-uml
|
||||
```
|
||||
|
||||
#### Conda
|
||||
```bash
|
||||
conda config --add channels conda-forge
|
||||
conda config --set channel_priority strict
|
||||
conda install -c bkryza/label/clang-uml clang-uml
|
||||
```
|
||||
|
||||
### Building from source
|
||||
First make sure that you have the following dependencies installed:
|
||||
|
||||
```bash
|
||||
# Ubuntu (clang version will vary depending on Ubuntu version)
|
||||
apt install ccache cmake libyaml-cpp-dev clang-12 libclang-12-dev libclang-cpp12-dev
|
||||
|
||||
# macos
|
||||
brew install ccache cmake llvm yaml-cpp
|
||||
```
|
||||
|
||||
Then proceed with building the sources:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bkryza/clang-uml
|
||||
cd clang-uml
|
||||
# Please note that top level Makefile is just a convenience wrapper for CMake
|
||||
make release
|
||||
release/clang-uml --help
|
||||
|
||||
# To build using a specific installed version of LLVM use:
|
||||
LLVM_VERSION=14 make release
|
||||
|
||||
# Optionally
|
||||
make install
|
||||
# or
|
||||
export PATH=$PATH:$PWD/release
|
||||
|
||||
# On macos, it is necessary to build clang-uml using the same llvm against which it is linked, e.g.
|
||||
export CC=/usr/local/opt/llvm/bin/clang
|
||||
export CCX=/usr/local/opt/llvm/bin/clang++
|
||||
LLVM_VERSION=14 make release
|
||||
```
|
||||
Installation instructions for `Linux`, `macos` and `Windows` can be found
|
||||
[here](./docs/installation.md).
|
||||
|
||||
## Usage
|
||||
|
||||
### Generating compile commands database
|
||||
|
||||
`clang-uml` requires an up-to-date
|
||||
[compile_commands.json](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
||||
file, containing the list of commands used for compiling the source code.
|
||||
Nowadays, this file can be generated rather easily using multiple methods:
|
||||
* For [CMake](https://cmake.org/) projects, simply invoke the `cmake` command
|
||||
as `cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ...`
|
||||
* For Make projects checkout [compiledb](https://github.com/nickdiego/compiledb) or [Bear](https://github.com/rizsotto/Bear)
|
||||
* For Boost-based projects try [commands_to_compilation_database](https://github.com/tee3/commands_to_compilation_database)
|
||||
* For SCons, invoke `compilation_db` tool (requires SCons > 4.0.0)
|
||||
|
||||
* For [CMake](https://cmake.org/) projects, simply invoke the `cmake` command
|
||||
as `cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ...`
|
||||
* For Make projects checkout [compiledb](https://github.com/nickdiego/compiledb)
|
||||
or [Bear](https://github.com/rizsotto/Bear)
|
||||
* For Boost-based projects
|
||||
try [commands_to_compilation_database](https://github.com/tee3/commands_to_compilation_database)
|
||||
* For SCons, invoke `compilation_db` tool (requires SCons > 4.0.0)
|
||||
* For Bazel, try [bazel-compile-commands-extractor](https://github.com/hedronvision/bazel-compile-commands-extractor)
|
||||
* For Microsoft Visual Studio projects try [Clang Power Tools](https://www.clangpowertools.com)
|
||||
|
||||
### Invocation
|
||||
By default, `config-uml` will assume that the configuration file `.clang-uml`
|
||||
|
||||
By default, `clang-uml` will assume that the configuration file `.clang-uml`
|
||||
and compilation database `compile_commands.json` files are in the
|
||||
current directory, so if they are in the top level directory of a project,
|
||||
simply run:
|
||||
|
||||
```bash
|
||||
clang-uml
|
||||
```
|
||||
@@ -116,6 +100,7 @@ The output path for diagrams, as well as alternative location of
|
||||
compilation database can be specified in `.clang-uml` configuration file.
|
||||
|
||||
For other options checkout help:
|
||||
|
||||
```bash
|
||||
clang-uml --help
|
||||
```
|
||||
@@ -127,14 +112,13 @@ which should be generated by `clang-uml`. Basic example is as follows:
|
||||
|
||||
```yaml
|
||||
compilation_database_dir: .
|
||||
output_directory: puml
|
||||
output_directory: diagrams
|
||||
diagrams:
|
||||
myproject_class:
|
||||
type: class
|
||||
glob:
|
||||
- src/*.cc
|
||||
using_namespace:
|
||||
- myproject
|
||||
using_namespace: myproject
|
||||
include:
|
||||
namespaces:
|
||||
- myproject
|
||||
@@ -149,6 +133,7 @@ diagrams:
|
||||
See [here](docs/configuration_file.md) for detailed configuration file reference guide.
|
||||
|
||||
## Examples
|
||||
|
||||
To see what `clang-uml` can do, checkout the test cases documentation [here](./docs/test_cases.md).
|
||||
|
||||
In order to see diagrams for the `clang-uml` itself, based on its own [config](.clang-uml) run
|
||||
@@ -164,7 +149,7 @@ and checkout the SVG diagrams in `docs/diagrams` folder.
|
||||
|
||||
#### Example
|
||||
|
||||
Source code:
|
||||
The following C++ code:
|
||||
|
||||
```cpp
|
||||
template <typename T, typename P> struct A {
|
||||
@@ -185,6 +170,7 @@ using PairPairBA = std::pair<std::pair<B, A<long, T>>, long>;
|
||||
template <class T> using VectorPtr = std::unique_ptr<std::vector<T>>;
|
||||
template <class T> using APtr = std::unique_ptr<A<double, T>>;
|
||||
template <class T> using ASharedPtr = std::shared_ptr<A<double, T>>;
|
||||
|
||||
template <class T, class U>
|
||||
using AAPtr = std::unique_ptr<std::pair<A<double, T>, A<long, U>>>;
|
||||
|
||||
@@ -197,11 +183,13 @@ using BVector2 = BVector;
|
||||
|
||||
using AIntString = AString<int>;
|
||||
using ACharString = AString<char>;
|
||||
using AWCharString = AString<wchar_t>;
|
||||
|
||||
using AStringString = AString<std::string>;
|
||||
using BStringString = AStringString;
|
||||
|
||||
class R {
|
||||
template <typename T> class R {
|
||||
using AWCharString = AString<wchar_t>;
|
||||
|
||||
PairPairBA<bool> bapair;
|
||||
|
||||
APtr<bool> abool;
|
||||
@@ -212,6 +200,7 @@ class R {
|
||||
AIntString intstring;
|
||||
AStringString stringstring;
|
||||
BStringString bstringstring;
|
||||
AAPtr<T, float> atfloat;
|
||||
|
||||
protected:
|
||||
BVector bs;
|
||||
@@ -225,7 +214,7 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
generates the following diagram (via PlantUML):
|
||||
results in the following diagram (via PlantUML):
|
||||
|
||||

|
||||
|
||||
@@ -239,81 +228,86 @@ generates the following diagram (via PlantUML):
|
||||
The following C++ code:
|
||||
|
||||
```cpp
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
#include <vector>
|
||||
#include <atomic>
|
||||
#include <functional>
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
namespace clanguml {
|
||||
namespace t20001 {
|
||||
namespace t20029 {
|
||||
std::string encode_b64(std::string &&content) { return std::move(content); }
|
||||
|
||||
namespace detail {
|
||||
struct C {
|
||||
auto add(int x, int y) { return x + y; }
|
||||
};
|
||||
}
|
||||
|
||||
class A {
|
||||
template <typename T> class Encoder : public T {
|
||||
public:
|
||||
A() {}
|
||||
|
||||
int add(int x, int y) { return m_c.add(x, y); }
|
||||
|
||||
int add3(int x, int y, int z)
|
||||
bool send(std::string &&msg)
|
||||
{
|
||||
std::vector<int> v;
|
||||
v.push_back(x);
|
||||
v.push_back(y);
|
||||
v.push_back(z);
|
||||
auto res = add(v[0], v[1]) + v[2];
|
||||
log_result(res);
|
||||
return res;
|
||||
return T::send(std::move(
|
||||
// Encode the message using Base64 encoding and pass it to the next
|
||||
// layer
|
||||
encode(std::move(msg))));
|
||||
}
|
||||
|
||||
void log_result(int r) {}
|
||||
|
||||
private:
|
||||
detail::C m_c{};
|
||||
protected:
|
||||
std::string encode(std::string &&msg) { return encode_b64(std::move(msg)); }
|
||||
};
|
||||
|
||||
class B {
|
||||
template <typename T> class Retrier : public T {
|
||||
public:
|
||||
B(A &a)
|
||||
: m_a{a}
|
||||
bool send(std::string &&msg)
|
||||
{
|
||||
std::string buffer{std::move(msg)};
|
||||
|
||||
int retryCount = 5;
|
||||
|
||||
// Repeat until send() succeeds or retry count is exceeded
|
||||
while (retryCount--) {
|
||||
if (T::send(buffer))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
class ConnectionPool {
|
||||
public:
|
||||
void connect()
|
||||
{
|
||||
if (!is_connected_.load())
|
||||
connect_impl();
|
||||
}
|
||||
|
||||
int wrap_add(int x, int y)
|
||||
{
|
||||
auto res = m_a.add(x, y);
|
||||
m_a.log_result(res);
|
||||
return res;
|
||||
}
|
||||
|
||||
int wrap_add3(int x, int y, int z)
|
||||
{
|
||||
auto res = m_a.add3(x, y, z);
|
||||
m_a.log_result(res);
|
||||
return res;
|
||||
}
|
||||
bool send(const std::string &msg) { return true; }
|
||||
|
||||
private:
|
||||
A &m_a;
|
||||
void connect_impl() { is_connected_ = true; }
|
||||
|
||||
std::atomic<bool> is_connected_;
|
||||
};
|
||||
|
||||
int tmain()
|
||||
{
|
||||
A a;
|
||||
B b(a);
|
||||
auto pool = std::make_shared<Encoder<Retrier<ConnectionPool>>>();
|
||||
|
||||
return b.wrap_add3(1, 2, 3);
|
||||
// Establish connection to the remote server synchronously
|
||||
pool->connect();
|
||||
|
||||
// Repeat for each line in the input stream
|
||||
for (std::string line; std::getline(std::cin, line);) {
|
||||
if (!pool->send(std::move(line)))
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
generates the following diagram (via PlantUML):
|
||||
results in the following diagram (via PlantUML):
|
||||
|
||||

|
||||

|
||||
|
||||
### Package diagrams
|
||||
|
||||
@@ -356,7 +350,7 @@ class B : public ns1::ns2::Anon {
|
||||
}
|
||||
```
|
||||
|
||||
generates the following diagram (via PlantUML):
|
||||
results in the following diagram (via PlantUML):
|
||||
|
||||

|
||||
|
||||
@@ -380,25 +374,26 @@ tests/t40001
|
||||
|
||||
```
|
||||
|
||||
generates the following diagram (via PlantUML) based on include directives in the code:
|
||||
results in the following diagram (via PlantUML) based on include directives in the code:
|
||||
|
||||

|
||||
|
||||
### Default mappings
|
||||
|
||||
| UML | PlantUML |
|
||||
| ---- | --- |
|
||||
| Inheritance |  |
|
||||
| Association |  |
|
||||
| Dependency |  |
|
||||
| Aggregation |  |
|
||||
| Composition |  |
|
||||
| Template specialization/instantiation |  |
|
||||
| Nesting (inner class/enum) |  |
|
||||
| Include (local) |  |
|
||||
| Include (system) |  |
|
||||
| UML | PlantUML | MermaidJS |
|
||||
| ---- | --- |------------------------------------------------|
|
||||
| Inheritance |  |  |
|
||||
| Association |  |  |
|
||||
| Dependency |  |  |
|
||||
| Aggregation |  |  |
|
||||
| Composition |  |  |
|
||||
| Template specialization/instantiation |  |  |
|
||||
| Nesting (inner class/enum) |  |  |
|
||||
| Include (local) |  |  |
|
||||
| Include (system) |  |  |
|
||||
|
||||
### Diagram content filtering
|
||||
|
||||
For typical code bases, generating a single diagram from entire code or even a single namespace can be too big to
|
||||
be useful, e.g. as part of documentation. `clang-uml` allows specifying content to be included and excluded from
|
||||
each diagram using simple YAML configuration:
|
||||
@@ -436,43 +431,34 @@ exclude:
|
||||
- clanguml::common::ClassF
|
||||
```
|
||||
|
||||
### Comment decorators
|
||||
|
||||
`clang-uml` provides a set of in-comment directives, called decorators, which allow custom control over
|
||||
generation of UML diagrams from C++ and overriding default inference rules for relationships.
|
||||
|
||||
The following decorators are currently supported:
|
||||
- [note](docs/test_cases/t00028.md) - add a PlantUML note to a C++ entity
|
||||
- [skip](docs/test_cases/t00029.md) - skip the underlying C++ entity
|
||||
- [skiprelationship](docs/test_cases/t00029.md) - skip only relationship generation for a class property
|
||||
- [composition](docs/test_cases/t00030.md) - document the property as composition
|
||||
- [association](docs/test_cases/t00030.md) - document the property as association
|
||||
- [aggregation](docs/test_cases/t00030.md) - document the property as aggregation
|
||||
- [style](docs/test_cases/t00031.md) - add PlantUML style to a C++ entity
|
||||
|
||||
### Doxygen integration
|
||||
`clang-uml` decorstors can be omitted completely in [Doxygen](https://www.doxygen.nl/index.html), by adding the following
|
||||
lines to the Doxygen config file:
|
||||
|
||||
```
|
||||
ALIASES += clanguml=""
|
||||
ALIASES += clanguml{1}=""
|
||||
ALIASES += clanguml{2}=""
|
||||
ALIASES += clanguml{3}=""
|
||||
```
|
||||
More details on this can be found in the [diagram filters](./docs/diagram_filters.md) documentation section.
|
||||
|
||||
### Test cases
|
||||
|
||||
The build-in test cases used for unit testing of the `clang-uml`, can be browsed [here](./docs/test_cases.md).
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
This project relies on the following great tools:
|
||||
* [Clang LibTooling](https://clang.llvm.org/docs/LibTooling.html) - a C++ library for creating tools based on Clang
|
||||
* [PlantUML](https://plantuml.com/) - language and diagram for generating UML diagrams
|
||||
* [Catch2](https://github.com/catchorg/Catch2) - C++ unit test framework
|
||||
* [glob](https://github.com/p-ranav/glob) - Unix style path expansion for C++
|
||||
* [CLI11](https://github.com/CLIUtils/CLI11) - command line parser for C++
|
||||
* [inja](https://github.com/pantor/inja) - a template engine for modern C++
|
||||
|
||||
* [Clang LibTooling](https://clang.llvm.org/docs/LibTooling.html) - a C++ library for creating tools based on Clang
|
||||
* [PlantUML](https://plantuml.com/) - language and diagram for generating UML diagrams
|
||||
* [MermaidJS](https://mermaid.js.org/) - JavaScript based diagramming and charting tool
|
||||
* [Catch2](https://github.com/catchorg/Catch2) - C++ unit test framework
|
||||
* [glob](https://github.com/p-ranav/glob) - Unix style path expansion for C++
|
||||
* [indicators](https://github.com/p-ranav/indicators) - Activity indicators for modern C++
|
||||
* [CLI11](https://github.com/CLIUtils/CLI11) - command line parser for C++
|
||||
* [inja](https://github.com/pantor/inja) - a template engine for modern C++
|
||||
* [backward-cpp](https://github.com/bombela/backward-cpp) - stack trace pretty printer for C++
|
||||
* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - YAML parser library for C++
|
||||
* [spdlog](https://github.com/gabime/spdlog) - Fast C++ logging library
|
||||
* [Doxygen](https://www.doxygen.nl/) - C++ documentation generator
|
||||
* [Doxygen Awesome](https://jothepro.github.io/doxygen-awesome-css) - Doxygen CSS style
|
||||
* [miroir](https://gitlab.com/madyanov/miroir) - YAML schema validation library for C++
|
||||
|
||||
## Contributing
|
||||
|
||||
If you would like to contribute to the project, please check out [contributing guidelines](./CONTRIBUTING.md).
|
||||
|
||||
## LICENSE
|
||||
|
||||
|
||||
10
build.ps1
Normal file
@@ -0,0 +1,10 @@
|
||||
param ($Prefix="C:\clang-uml", $BuildType="Release")
|
||||
|
||||
cmake -S . -B $BuildType -DCMAKE_PREFIX_PATH="$Prefix" -Thost=x64
|
||||
cmake --build $BuildType --config $BuildType
|
||||
|
||||
# Create compile commands in Visual Studio
|
||||
# before running these tests
|
||||
cd $BuildType
|
||||
ctest -C $BuildType --output-on-failure
|
||||
cd ..
|
||||
27
cmake/GitVersion.cmake
Normal file
@@ -0,0 +1,27 @@
|
||||
find_package(Git)
|
||||
|
||||
function(setup_git_version)
|
||||
if(NOT DEFINED GIT_VERSION)
|
||||
if(GIT_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} describe --tags --always --abbrev=7
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_VERSION
|
||||
RESULT_VARIABLE GIT_ERROR_CODE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif(GIT_EXECUTABLE)
|
||||
endif(NOT DEFINED GIT_VERSION)
|
||||
|
||||
if(NOT DEFINED GIT_VERSION OR "${GIT_VERSION}" STREQUAL "")
|
||||
set(GIT_VERSION "0.0.0-unknown")
|
||||
endif(NOT DEFINED GIT_VERSION OR "${GIT_VERSION}" STREQUAL "")
|
||||
|
||||
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.(.+)"
|
||||
GIT_VERSION_MATCH ${GIT_VERSION})
|
||||
set(GIT_VERSION_MAJOR ${CMAKE_MATCH_1} PARENT_SCOPE)
|
||||
set(GIT_VERSION_MINOR ${CMAKE_MATCH_2} PARENT_SCOPE)
|
||||
set(GIT_VERSION_PATCH ${CMAKE_MATCH_3} PARENT_SCOPE)
|
||||
set(GIT_VERSION ${GIT_VERSION} PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
93
cmake/LLVMSetup.cmake
Normal file
@@ -0,0 +1,93 @@
|
||||
message(STATUS "Checking for LLVM and Clang...")
|
||||
|
||||
# If user provided a path to llvm-config executable use it to detect
|
||||
# LLVM Version and appropriate CMake module path
|
||||
if(NOT "${LLVM_CONFIG_PATH}" STREQUAL "")
|
||||
# Get LLVM prefix
|
||||
message(STATUS "Using llvm-config from ${LLVM_CONFIG_PATH}")
|
||||
set(LIBCLANG_LLVM_CONFIG_EXECUTABLE ${LLVM_CONFIG_PATH})
|
||||
set(LLVM_CONFIG_BINARY ${LLVM_CONFIG_PATH})
|
||||
execute_process(COMMAND ${LLVM_CONFIG_PATH} --prefix
|
||||
OUTPUT_VARIABLE LLVM_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(LLVM_CMAKE_DIR "${LLVM_PREFIX}/lib/cmake/llvm")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_DIR})
|
||||
|
||||
# Get LLVM version
|
||||
execute_process(COMMAND ${LLVM_CONFIG_PATH} --version
|
||||
OUTPUT_VARIABLE LLVM_VERSION_STR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.(.+)"
|
||||
GIT_VERSION_MATCH ${LLVM_VERSION_STR})
|
||||
set(LLVM_VERSION ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
|
||||
find_package(LLVM ${LLVM_VERSION} CONFIG REQUIRED)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR})
|
||||
include(AddLLVM)
|
||||
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake from: ${LLVM_CMAKE_DIR}")
|
||||
message(STATUS "LLVM library dir: ${LLVM_LIBRARY_DIR}")
|
||||
|
||||
if(MSVC)
|
||||
# LLVM_BUILD_LLVM_DYLIB is not available on Windows
|
||||
set(LINK_LLVM_SHARED NO)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
endif(MSVC)
|
||||
|
||||
if(LINK_LLVM_SHARED)
|
||||
set(LIBTOOLING_LIBS clang-cpp LLVM)
|
||||
else(LINK_LLVM_SHARED)
|
||||
set(LIBTOOLING_LIBS
|
||||
clangLex
|
||||
clangFrontend
|
||||
clangSerialization
|
||||
clangDriver
|
||||
clangParse
|
||||
clangSema
|
||||
clangSupport
|
||||
clangAnalysis
|
||||
clangAST
|
||||
clangBasic
|
||||
clangEdit
|
||||
clangLex
|
||||
clangTooling
|
||||
LLVMipo
|
||||
LLVMScalarOpts
|
||||
LLVMInstCombine
|
||||
LLVMTransformUtils
|
||||
LLVMAnalysis
|
||||
LLVMTarget
|
||||
LLVMOption
|
||||
LLVMMCParser
|
||||
LLVMMC
|
||||
LLVMObject
|
||||
LLVMBitReader
|
||||
LLVMCore
|
||||
LLVMSupport)
|
||||
if(MSVC)
|
||||
if(${LLVM_PACKAGE_VERSION} VERSION_LESS "15.0")
|
||||
list(REMOVE_ITEM LIBTOOLING_LIBS clangSupport)
|
||||
else()
|
||||
list(APPEND LIBTOOLING_LIBS
|
||||
LLVMWindowsDriver
|
||||
LLVMWindowsManifest)
|
||||
endif()
|
||||
if(${LLVM_PACKAGE_VERSION} VERSION_GREATER_EQUAL "17.0")
|
||||
list(APPEND LIBTOOLING_LIBS clangASTMatchers)
|
||||
endif()
|
||||
endif(MSVC)
|
||||
endif(LINK_LLVM_SHARED)
|
||||
|
||||
if("${LIBTOOLING_LIBS}" STREQUAL "")
|
||||
message(FATAL_ERROR "Failed to find LibTooling libraries!")
|
||||
else()
|
||||
message(STATUS "Found LibTooling libraries: ${LIBTOOLING_LIBS}")
|
||||
endif()
|
||||
|
||||
if(APPLE OR (LLVM_VERSION_MAJOR GREATER_EQUAL 16))
|
||||
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
|
||||
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
|
||||
endif()
|
||||
40
docs/Makefile
Normal file
@@ -0,0 +1,40 @@
|
||||
# docs/Makefile
|
||||
#
|
||||
# Copyright (c) 2021-2023 Bartek Kryza <bkryza@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
UPDATE_TOC := markdown-toc --bullets "*" -i
|
||||
|
||||
.PHONY: toc
|
||||
toc:
|
||||
$(UPDATE_TOC) architecture.md
|
||||
$(UPDATE_TOC) class_diagrams.md
|
||||
$(UPDATE_TOC) comment_decorators.md
|
||||
$(UPDATE_TOC) common_options.md
|
||||
$(UPDATE_TOC) generator_types.md
|
||||
$(UPDATE_TOC) configuration_file.md
|
||||
$(UPDATE_TOC) diagram_filters.md
|
||||
$(UPDATE_TOC) doxygen_integration.md
|
||||
$(UPDATE_TOC) include_diagrams.md
|
||||
$(UPDATE_TOC) installation.md
|
||||
$(UPDATE_TOC) interactive_svg_diagrams.md
|
||||
$(UPDATE_TOC) diagram_templates.md
|
||||
$(UPDATE_TOC) jinja_templates.md
|
||||
$(UPDATE_TOC) package_diagrams.md
|
||||
$(UPDATE_TOC) quick_start.md
|
||||
$(UPDATE_TOC) sequence_diagrams.md
|
||||
$(UPDATE_TOC) test_cases.md
|
||||
$(UPDATE_TOC) troubleshooting.md
|
||||
|
||||
46
docs/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
@mainpage clang-uml
|
||||
|
||||
# Documentation
|
||||
|
||||
`clang-uml` is an automatic C++ to UML class, sequence, package and include diagram generator, driven by
|
||||
YAML configuration files. The main idea behind the
|
||||
project is to easily maintain up-to-date diagrams within a code-base or document
|
||||
legacy code. The configuration file or files for `clang-uml` define the
|
||||
types and contents of each generated diagram.
|
||||
The diagrams can be generated in [PlantUML](https://plantuml.com),
|
||||
[MermaidJS](https://mermaid.js.org/) and JSON formats.
|
||||
|
||||
Example sequence diagram generated using `clang-uml` from [this code](https://github.com/bkryza/clang-uml/blob/master/tests/t20029/t20029.cc):
|
||||

|
||||
|
||||
`clang-uml` currently supports C++ up to version 17 with partial support for C++ 20.
|
||||
|
||||
To see what `clang-uml` can do, checkout the diagrams generated for unit
|
||||
test cases [here](./test_cases.md) or examples in
|
||||
[clang-uml-examples](https://github.com/bkryza/clang-uml-examples) repository.
|
||||
|
||||
These pages provide both user and developer documentation.
|
||||
|
||||
* [Quick start](./quick_start.md)
|
||||
* [Installation](./installation.md)
|
||||
* **Generating diagrams**
|
||||
* [Common options](./common_options.md)
|
||||
* [Generator types](./generator_types.md)
|
||||
* [Class diagrams](./class_diagrams.md)
|
||||
* [Sequence diagrams](./sequence_diagrams.md)
|
||||
* [Package diagrams](./package_diagrams.md)
|
||||
* [Include diagrams](./include_diagrams.md)
|
||||
* [Diagram templates](./diagram_templates.md)
|
||||
* [Comment decorators](./comment_decorators.md)
|
||||
* [Diagram filters](./diagram_filters.md)
|
||||
* [Using Jinja templates in diagram configs](./jinja_templates.md)
|
||||
* [Interactive SVG diagrams using links](./interactive_svg_diagrams.md)
|
||||
* [Configuration file reference](./configuration_file.md)
|
||||
* [Doxygen integration](./doxygen_integration.md)
|
||||
* [Test cases documentation](./test_cases.md)
|
||||
* [Troubleshooting](./troubleshooting.md)
|
||||
* [Changelog](./changelog.md)
|
||||
* [License](./license.md)
|
||||
* **Development**
|
||||
* [Architecture](./architecture.md)
|
||||
* [Contributing](./contributing.md)
|
||||
198
docs/architecture.md
Normal file
@@ -0,0 +1,198 @@
|
||||
# Architecture
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Overview](#overview)
|
||||
* [Configuration model](#configuration-model)
|
||||
* [Diagram model](#diagram-model)
|
||||
* [Common model](#common-model)
|
||||
* [Diagram filters](#diagram-filters)
|
||||
* [Translation unit visitors](#translation-unit-visitors)
|
||||
* [Diagram generators](#diagram-generators)
|
||||
* [Command line handler](#command-line-handler)
|
||||
* [Tests](#tests)
|
||||
* [Unit tests](#unit-tests)
|
||||
* [Test cases](#test-cases)
|
||||
* [Real code tests](#real-code-tests)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
This section presents general architecture and components of `clang-uml`.
|
||||
|
||||
> All diagrams below are generated by `clang-uml` and updated automatically.
|
||||
|
||||
## Overview
|
||||
|
||||
`clang-uml` is written in C++17 and
|
||||
uses [Clang LibTooling API](https://releases.llvm.org/16.0.0/tools/clang/docs/LibTooling.html)
|
||||
to traverse
|
||||
the AST (Abstract Syntax Tree) of the source code and extract any information
|
||||
relevant for a specific diagram.
|
||||
|
||||
The code is divided into several packages (namespaces), the main of them are:
|
||||
|
||||
- [`clanguml::config`](./namespaceclanguml_1_1config.html) - configuration
|
||||
handling
|
||||
- [`clanguml::common`](./namespaceclanguml_1_1common.html) - common interfaces
|
||||
- [`clanguml::class_diagram`](./namespaceclanguml_1_1class__diagram.html) -
|
||||
specializations for class diagrams
|
||||
- [`clanguml::sequence_diagram`](./namespaceclanguml_1_1sequence__diagram.html) -
|
||||
specializations for sequence diagrams
|
||||
- [`clanguml::include_diagram`](./namespaceclanguml_1_1include__diagram.html) -
|
||||
specializations for include diagrams
|
||||
- [`clanguml::package_diagram`](./namespaceclanguml_1_1package__diagram.html) -
|
||||
specializations for package diagrams
|
||||
|
||||

|
||||
|
||||
## Configuration model
|
||||
|
||||
The configuration model consists of classes representing the configuration
|
||||
specified in the YAML configuration files.
|
||||
|
||||
Depending on the option, it can either:
|
||||
|
||||
- be specified only at the top level of the configuration file
|
||||
- only in the specific diagram configuration
|
||||
- either of the above
|
||||
|
||||
The first group of options are stored in
|
||||
the [`config::config`](structclanguml_1_1config_1_1config.html) class.
|
||||
|
||||
The second group is stored in a specific diagram config subclass, e.g.
|
||||
[`config::sequence_diagram`](structclanguml_1_1config_1_1sequence__diagram.html)
|
||||
|
||||
The options in the last group are modeled in the
|
||||
[`config::inheritable_diagram_options`](./structclanguml_1_1config_1_1inheritable__diagram__options.html).
|
||||
|
||||

|
||||
|
||||
The YAML configuration file is parsed
|
||||
using [yaml-cpp](https://github.com/jbeder/yaml-cpp) library:
|
||||
|
||||

|
||||
|
||||
For each possible option type, there must an implementation of a
|
||||
YAML decoder - e.g.
|
||||
[`YAML::convert<filter>`](./structYAML_1_1convert_3_01filter_01_4.html)
|
||||
(for converting YAML nodes to configuration model classes)
|
||||
and a YAML emitter - e.g.
|
||||
[`operator<<`](./group__yaml__emitters.html#ga4c8bc075684b08daa379aef609bb6297)
|
||||
(for generating YAML from configuration model classes).
|
||||
|
||||
## Diagram model
|
||||
|
||||
The diagram model namespace is divided into the [`common`](#common-model) model
|
||||
namespace and 1 namespace for each supported diagram type.
|
||||
|
||||
### Common model
|
||||
|
||||
The [common diagram model namespace](./namespaceclanguml_1_1common_1_1model.html),
|
||||
provides a set of classes representing typical UML and C++ concepts such as
|
||||
diagram elements, packages, templates, and others which are shared by more than
|
||||
1 diagram type.
|
||||
|
||||

|
||||
|
||||
The diagram elements are composed into a hierarchy spanning all major
|
||||
namespaces,
|
||||
depending on whether the element is specific for a single diagram type (
|
||||
e.g. [`participant`](./structclanguml_1_1sequence__diagram_1_1model_1_1participant.html)),
|
||||
or whether it's common for several diagram types (
|
||||
e.g. [`package`](./classclanguml_1_1common_1_1model_1_1package.html)).
|
||||
|
||||
### Diagram filters
|
||||
|
||||
In order to ease the generation of diagrams, `clang-uml` has a (very) simple
|
||||
intermediate UML model, which covers only the features necessary for
|
||||
generation of the supported diagram types. The model can be extended if
|
||||
necessary to add new features.
|
||||
|
||||

|
||||
|
||||
## Translation unit visitors
|
||||
|
||||
The first stage in the diagram generation involves traversing the AST of
|
||||
each translation unit from the `compile_commands.json` compilation database,
|
||||
which matched at least one pattern specified in the `glob` pattern of the
|
||||
configuration file.
|
||||
|
||||
Each visitor is implemented in a subclass of
|
||||
[`translation_unit_visitor`](./classclanguml_1_1common_1_1visitor_1_1translation__unit__visitor.html),
|
||||
and must also implement relevant methods from Clang's
|
||||
[RecursiveASTVisitor](https://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html).
|
||||
|
||||

|
||||
|
||||
The output of the `translation_unit_visitor` for each diagram type is an
|
||||
intermediate diagram model, which is then passed to the relevant diagram
|
||||
generator.
|
||||
|
||||
## Diagram generators
|
||||
|
||||
Diagram generators convert the `clang-uml`'s internal UML model into actual
|
||||
diagram in one of the supported formats: PlantUML, MermaidJS and JSON.
|
||||
|
||||
Each diagram generator extends a common interface appropriate for the
|
||||
selected output format, i.e.:
|
||||
|
||||
- [PlantUML](classclanguml_1_1common_1_1generators_1_1plantuml_1_1generator.html)
|
||||
- [MermaidJS](classclanguml_1_1common_1_1generators_1_1mermaid_1_1generator.html)
|
||||
- [JSON](classclanguml_1_1common_1_1generators_1_1json_1_1generator.html)
|
||||
|
||||
and renders the output to a file. For each diagram type there is a separate
|
||||
generator for each supported output format.
|
||||
|
||||
## Command line handler
|
||||
|
||||
The [cli_handler](classclanguml_1_1cli_1_1cli__handler.html) is a command line
|
||||
handler class is a wrapper around [CLI11](https://github.com/CLIUtils/CLI11),
|
||||
and implements handlers for various actions, validates command line parameters
|
||||
and reports errors.
|
||||
|
||||
## Tests
|
||||
|
||||
### Unit tests
|
||||
|
||||
Basic set of units tests are stored in
|
||||
[tests/test_*.cc](https://github.com/bkryza/clang-uml/tree/master/tests)
|
||||
test files. The unit tests do not aim to cover the entire codebase, only
|
||||
specific algorithms or methods, which should behave as expected and if their
|
||||
errors can be difficult to diagnose when running the test cases on C++ code.
|
||||
|
||||
### Test cases
|
||||
|
||||
These tests are the main tests of `clang-uml`. Each test case tests one or
|
||||
more feature of a specific diagram type. Each of them has a separated directory
|
||||
in the `tests` directory and its own `.clang-uml` with diagram configuration
|
||||
as well as a `test_case.h` file which contains the tests assertions.
|
||||
|
||||
Any other sources in that directory are compiled and then used to generate the
|
||||
diagrams, whose contents should be then verified within `test_case.h`
|
||||
for correctness. All the sources should be wrapped within a namespace:
|
||||
`clanguml::`
|
||||
|
||||
These test directories are numbered in consecutive numbers using the following
|
||||
convention:
|
||||
- Start with a letter `t`
|
||||
- The first digit of the number is the diagram type:
|
||||
- `0` - class diagram
|
||||
- `2` - sequence diagram
|
||||
- `3` - package diagram
|
||||
- `4` - include diagram
|
||||
- `9` - other test cases
|
||||
- The rest of the name is the consecutive number of the test case
|
||||
|
||||
Each test case is also referenced in
|
||||
[test_cases.yaml](https://github.com/bkryza/clang-uml/blob/master/tests/test_cases.yaml)
|
||||
where it has assigned a title. That file is used to generate the [test cases
|
||||
documentation page](./md_docs_2test__cases.html).
|
||||
|
||||
### Real code tests
|
||||
|
||||
Each release is tested on a set of open-source C++ projects, to be sure that
|
||||
at least the new version does not crash or introduce some obvious regressions.
|
||||
|
||||
The tests are stored in a separate
|
||||
repository: [clang-uml-examples](https://github.com/bkryza/clang-uml-examples).
|
||||
|
||||
227
docs/class_diagrams.md
Normal file
@@ -0,0 +1,227 @@
|
||||
# Generating class diagrams
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Classes and their properties](#classes-and-their-properties)
|
||||
* [Excluding private or protected members from the diagram](#excluding-private-or-protected-members-from-the-diagram)
|
||||
* [Relationships](#relationships)
|
||||
* [Relationships to classes in containers or smart pointers](#relationships-to-classes-in-containers-or-smart-pointers)
|
||||
* [Inheritance diagrams](#inheritance-diagrams)
|
||||
* [Generating UML packages in the diagram](#generating-uml-packages-in-the-diagram)
|
||||
* [Class context diagram](#class-context-diagram)
|
||||
* [Disabling dependency relationships](#disabling-dependency-relationships)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
The minimal config required to generate a class diagram is presented below:
|
||||
```yaml
|
||||
# Path to the directory where `compile_commands.json` can be found
|
||||
compilation_database_dir: _build
|
||||
# Output directory for the diagrams
|
||||
output_directory: diagrams
|
||||
# Diagrams definitions
|
||||
diagrams:
|
||||
# Diagram name
|
||||
t00002_class:
|
||||
# Type of diagram (has to be `class`)
|
||||
type: class
|
||||
# Include only translation units matching the following patterns
|
||||
glob:
|
||||
- src/*.cc
|
||||
# Render all names in the diagram relative to specific namespace
|
||||
using_namespace: ns1
|
||||
# Include only classes from specific namespace
|
||||
include:
|
||||
namespaces:
|
||||
- ns1::ns2
|
||||
```
|
||||
|
||||
## Classes and their properties
|
||||
The basic class diagram generated by `clang-uml` and rendered using PlantUML
|
||||
looks like this:
|
||||
|
||||

|
||||
|
||||
Member types and method return types are rendered at the end after `:` sign.
|
||||
|
||||
Static methods and members are underlined.
|
||||
|
||||
In case method argument lists are too long and not required for diagram
|
||||
readability, they can be suppressed completely or abbreviated by setting
|
||||
`generate_method_arguments` option to either `none`, `abbreviated` or `full`
|
||||
(default).
|
||||
|
||||
|
||||
### Excluding private or protected members from the diagram
|
||||
In order to only include public members in the class diagrams, we can add the
|
||||
following inclusion filters:
|
||||
```yaml
|
||||
include:
|
||||
access:
|
||||
- public
|
||||
```
|
||||
|
||||
To render only classes without any properties an exclusion filter can be added:
|
||||
```yaml
|
||||
exclude:
|
||||
access:
|
||||
- public
|
||||
- protected
|
||||
- private
|
||||
```
|
||||
|
||||
## Relationships
|
||||
|
||||
The following table presents the PlantUML and MermaidJS arrows representing each
|
||||
type of relationship generated in the class diagrams.
|
||||
|
||||
| UML | PlantUML | MermaidJS |
|
||||
| ---- | --- |--------------------------------------------|
|
||||
| Inheritance |  |  |
|
||||
| Association |  |  |
|
||||
| Dependency |  |  |
|
||||
| Aggregation |  |  |
|
||||
| Composition |  |  |
|
||||
| Template specialization/instantiation |  |  |
|
||||
| Nesting (inner class/enum) |  |  |
|
||||
|
||||
|
||||
By default, a member from which a relationship has been added to the diagram
|
||||
between 2 classes will also be rendered inside the class. This behaviour can be
|
||||
however disabled by adding the following option to the diagram definition:
|
||||
```yaml
|
||||
include_relations_also_as_members: false
|
||||
```
|
||||
|
||||
### Relationships to classes in containers or smart pointers
|
||||
`clang-uml` will automatically detect class members as well as method arguments,
|
||||
which reference or own values of types relevant for a given diagram but wrapped
|
||||
in smart pointers or containers and still generate relationship between these
|
||||
classes, for instance the following code:
|
||||
|
||||
```cpp
|
||||
class A { };
|
||||
|
||||
class B { };
|
||||
|
||||
class C { };
|
||||
|
||||
class R {
|
||||
public:
|
||||
std::unique_ptr<A> a;
|
||||
std::shared_ptr<B> b;
|
||||
std::weak_ptr<C> c;
|
||||
};
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
|
||||
## Inheritance diagrams
|
||||
|
||||
A common type of class diagram is an inheritance diagram, where only subclasses
|
||||
of a specific base class are included and only the inheritance relationships are
|
||||
rendered. This can be easily achieved in `clang-uml` through inclusion filters:
|
||||
```yaml
|
||||
include:
|
||||
subclasses:
|
||||
- clanguml::t00039::A
|
||||
relationships:
|
||||
- inheritance
|
||||
```
|
||||
|
||||
## Generating UML packages in the diagram
|
||||
By default, `clang-uml` will render all element names including a namespace
|
||||
(relative to `using_namespace` property), e.g. `ns1::ns2::MyClass`.
|
||||
In order to generate packages in the diagram for each namespace instead, the
|
||||
following option must be set to `true`:
|
||||
|
||||
```yaml
|
||||
generate_packages: true
|
||||
```
|
||||
|
||||
which results in the following diagram:
|
||||
|
||||

|
||||
|
||||
In case the code base is structured based on subdirectory instead of namespaces
|
||||
(or this is a C project, where namespaces are not available), packages can be
|
||||
generated based on the location of a given declaration in the filesystem tree,
|
||||
by adding also the following option:
|
||||
|
||||
```yaml
|
||||
package_type: directory
|
||||
```
|
||||
|
||||
which results in the following diagram:
|
||||
|
||||

|
||||
|
||||
> In this case make sure that the root path of the configuration file is
|
||||
> properly configured for your project, if necessary add `relative_to` option to
|
||||
> denote the root path against which all relative paths in the config file are
|
||||
> calculated.
|
||||
|
||||
## Class context diagram
|
||||
Sometimes it's helpful to generate a class diagram depicting only direct
|
||||
relationships of a given class, e.g. within the classes' documentation page,
|
||||
this can be easily achieved using `context` inclusion filter:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
context:
|
||||
- ns1::MyClass
|
||||
```
|
||||
|
||||
By default, the diagram will include only elements in direct relationship to
|
||||
`ns1::MyClass`, but an addition option called `radius` can be added to this
|
||||
filter, which will extend the context to elements related to `ns1::MyClass`
|
||||
through at most N relationships, e.g:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
context:
|
||||
- match:
|
||||
radius: 3
|
||||
pattern: ns1::MyClass
|
||||
```
|
||||
|
||||
## Disabling dependency relationships
|
||||
Dependency relationships are inferred whenever a class uses another class, thus
|
||||
often dependency relationship will be rendered in addition to other
|
||||
relationships such as association or inheritance. By default, `clang-uml` will
|
||||
remove these redundant dependency relationships, however if it is necessary to
|
||||
retain them it can be done using the following option:
|
||||
|
||||
```yaml
|
||||
skip_redundant_dependencies: false
|
||||
```
|
||||
|
||||
In many cases, dependency relationships between classes can clutter the diagram
|
||||
too much. In such cases, it might be useful to disable dependency relationships
|
||||
completely for this diagram using the following exclusion filter:
|
||||
```yaml
|
||||
exclude:
|
||||
relationships:
|
||||
- dependency
|
||||
```
|
||||
|
||||
It is also possible to only disable dependency relationships generated from
|
||||
template arguments to other templates. By default, the following code:
|
||||
|
||||
```cpp
|
||||
|
||||
class A {};
|
||||
|
||||
class B {
|
||||
std::vector<A> a;
|
||||
};
|
||||
```
|
||||
|
||||
will generate a dependency from `B` to `A` in addition to aggregation
|
||||
relationship. This can be disabled by specifying the following option:
|
||||
|
||||
```yaml
|
||||
generate_template_argument_dependencies: false
|
||||
```
|
||||
231
docs/comment_decorators.md
Normal file
@@ -0,0 +1,231 @@
|
||||
# Comment decorators
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* ['note'](#note)
|
||||
* ['skip' and 'skiprelationship'](#skip-and-skiprelationship)
|
||||
* ['composition', 'association' and 'aggregation'](#composition-association-and-aggregation)
|
||||
* ['style'](#style)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
`clang-uml` provides a set of in-comment directives, called decorators, which allow custom control over
|
||||
generation of UML diagrams from C++ and overriding default inference rules for relationships.
|
||||
|
||||
`clang-uml` decorators are specified in the following format:
|
||||
|
||||
```
|
||||
\uml{<decorator>[:<diagram_name>][<options>] <text>}
|
||||
```
|
||||
|
||||
or
|
||||
```
|
||||
@uml{<decorator>[:<diagram_name>][<options>] <text>}
|
||||
```
|
||||
|
||||
The optional `:<diagram_name>` suffix will apply this decorator only to a specific diagram.
|
||||
|
||||
Currently, the following decorators are supported.
|
||||
|
||||
## 'note'
|
||||
|
||||
This decorator allows to specify directly in the code comments that should be included in the generated diagrams.
|
||||
|
||||
The following code:
|
||||
```cpp
|
||||
/// \uml{note[top] A class note.}
|
||||
class A {
|
||||
};
|
||||
|
||||
/// \uml{note[] B class note.}
|
||||
class B {
|
||||
};
|
||||
|
||||
///
|
||||
/// @uml{note:t00028_class[bottom] C class note.}
|
||||
/// This is class C.
|
||||
class C {
|
||||
};
|
||||
|
||||
/// \uml{note
|
||||
/// D
|
||||
/// class
|
||||
/// note.}
|
||||
class D {
|
||||
};
|
||||
|
||||
/// \uml{note E template class note.}
|
||||
template <typename T> class E {
|
||||
T param;
|
||||
};
|
||||
|
||||
/// \uml{note:other_diagram[left] G class note.}
|
||||
class G {
|
||||
};
|
||||
|
||||
/// @uml{note[ bottom ] F enum note.}
|
||||
enum class F { one, two, three };
|
||||
|
||||
/// \uml{note[right] R class note.}
|
||||
class R {
|
||||
explicit R(C &c)
|
||||
: ccc(c)
|
||||
{
|
||||
}
|
||||
|
||||
A aaa;
|
||||
|
||||
B *bbb;
|
||||
|
||||
C &ccc;
|
||||
|
||||
std::vector<std::shared_ptr<D>> ddd;
|
||||
|
||||
E<int> eee;
|
||||
|
||||
G **ggg;
|
||||
};
|
||||
```
|
||||
|
||||
results in the following class diagram:
|
||||
|
||||

|
||||
|
||||
## 'skip' and 'skiprelationship'
|
||||
This decorator allows to skip the specific classes or methods from the diagrams, for instance the following code:
|
||||
```cpp
|
||||
|
||||
class A {
|
||||
};
|
||||
|
||||
/// \uml{skip}
|
||||
class B {
|
||||
};
|
||||
|
||||
template <typename T> class C {
|
||||
T param;
|
||||
};
|
||||
|
||||
/// @uml{skip:t00029_class}
|
||||
template <typename T> class D {
|
||||
T param;
|
||||
};
|
||||
|
||||
enum class E { one, two, three };
|
||||
|
||||
/// \uml{skip}
|
||||
enum class F { red, green, blue };
|
||||
|
||||
class G1 {
|
||||
};
|
||||
|
||||
class G2 {
|
||||
};
|
||||
|
||||
class G3 {
|
||||
};
|
||||
|
||||
class G4 {
|
||||
};
|
||||
|
||||
struct R {
|
||||
G1 g1;
|
||||
|
||||
/// \uml{skip}
|
||||
G2 g2;
|
||||
|
||||
/// \uml{skiprelationship}
|
||||
G3 &g3;
|
||||
|
||||
std::shared_ptr<G4> g4;
|
||||
};
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
|
||||
## 'composition', 'association' and 'aggregation'
|
||||
|
||||
These decorators allow to specify explicitly the type of relationship within a class diagram that should be
|
||||
generated for a given class member. For instance the following code:
|
||||
|
||||
```cpp
|
||||
|
||||
class A {
|
||||
};
|
||||
|
||||
class B {
|
||||
};
|
||||
|
||||
class C {
|
||||
};
|
||||
|
||||
class D {
|
||||
};
|
||||
|
||||
class E {
|
||||
};
|
||||
|
||||
struct R {
|
||||
/// @uml{association[]}
|
||||
A aaa;
|
||||
|
||||
/// @uml{composition[0..1:1..*]}
|
||||
std::vector<B> bbb;
|
||||
|
||||
/// @uml{aggregation[0..1:1..5]}
|
||||
std::vector<C> ccc;
|
||||
|
||||
/// @uml{association[:1]}
|
||||
D ddd;
|
||||
|
||||
/// @uml{aggregation[:1]}
|
||||
E *eee;
|
||||
};
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
|
||||
|
||||
## 'style'
|
||||
This decorator allows to specify in the code specific styles for diagram elements, for instance:
|
||||
|
||||
```cpp
|
||||
|
||||
/// @uml{style[#back:lightgreen|yellow;header:blue/red]}
|
||||
class A {
|
||||
};
|
||||
|
||||
/// @uml{style[#line.dotted:blue]}
|
||||
enum B { one, two, three };
|
||||
|
||||
/// @uml{style[#pink;line:red;line.bold;text:red]}
|
||||
template <typename T> class C {
|
||||
T ttt;
|
||||
};
|
||||
|
||||
class D {
|
||||
};
|
||||
|
||||
struct R {
|
||||
/// @uml{style[#red,dashed,thickness=2]}
|
||||
A *aaa;
|
||||
|
||||
/// @uml{composition}
|
||||
/// @uml{style[#green,dashed,thickness=4]}
|
||||
std::vector<B> bbb;
|
||||
|
||||
/// @uml{style[#blue,dotted,thickness=8]}
|
||||
C<int> ccc;
|
||||
|
||||
/// @uml{style[#blue,plain,thickness=16]}
|
||||
D *ddd;
|
||||
};
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
218
docs/common_options.md
Normal file
@@ -0,0 +1,218 @@
|
||||
# Common diagram generation options
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Overall configuration file structure](#overall-configuration-file-structure)
|
||||
* [Diagram titles](#diagram-titles)
|
||||
* [Translation unit glob patterns](#translation-unit-glob-patterns)
|
||||
* [Custom directives](#custom-directives)
|
||||
* [Adding debug information in the generated diagrams](#adding-debug-information-in-the-generated-diagrams)
|
||||
* [Resolving include path and compiler flags issues](#resolving-include-path-and-compiler-flags-issues)
|
||||
* [Use '--query-driver' command line option](#use---query-driver-command-line-option)
|
||||
* [Manually add and remove compile flags from the compilation database](#manually-add-and-remove-compile-flags-from-the-compilation-database)
|
||||
* [Using 'CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES'](#using-cmake_cxx_implicit_include_directories)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Overall configuration file structure
|
||||
By default, `clang-uml` will look for file `.clang-uml` in the project's directory and read all diagrams definitions
|
||||
configuration from it. The file must be specified in YAML and it's overall structure is as follows:
|
||||
|
||||
```yaml
|
||||
# common options for all diagrams
|
||||
...
|
||||
diagrams:
|
||||
first_diagram_name:
|
||||
type: class|sequence|package|include
|
||||
# diagram specific options
|
||||
...
|
||||
second_diagram_name:
|
||||
type: class|sequence|package|include
|
||||
# diagram specific options
|
||||
...
|
||||
...
|
||||
```
|
||||
|
||||
The top level common options are inherited by specific diagrams, if the option is applicable to them and they themselves
|
||||
do not override this option.
|
||||
|
||||
For detailed reference of all configuration options see [here](./configuration_file.md).
|
||||
|
||||
Effective configuration, including default values can be printed out in YAML format using the following option:
|
||||
|
||||
```bash
|
||||
clang-uml --dump-config
|
||||
```
|
||||
|
||||
## Diagram titles
|
||||
Each type of diagram can have a `title` property, which will be generated in the
|
||||
diagram using directives specific to a given diagram generator, for instance:
|
||||
|
||||
```yaml
|
||||
diagrams:
|
||||
diagram1:
|
||||
type: class
|
||||
title: Some explanatory diagram title
|
||||
```
|
||||
|
||||
## Translation unit glob patterns
|
||||
One of the key options of the diagram configuration is the list of translation units, which should be parsed to
|
||||
get all necessary information for a diagram.
|
||||
|
||||
The syntax is simple and based on glob patterns, which can be added to the configuration file as follows:
|
||||
|
||||
```yaml
|
||||
glob:
|
||||
- src/dir1/*.cc
|
||||
- src/dir3/*.cc
|
||||
```
|
||||
|
||||
The glob patterns only need to match the translation units, which are also in the `compile_commands.json` file, i.e.
|
||||
any files that match the glob patterns, but are not in `compile_commands.json` will be ignored. In case the `glob`
|
||||
pattern set does not match any translation units an error will be printed on the standard output.
|
||||
|
||||
For small projects, the `glob` property can be omitted, which will result in `clang-uml` parsing all translation units
|
||||
from `compile_commands.json` for the diagram. However, for large projects, constraining the number of translation units
|
||||
for each diagram to absolute minimum will significantly decrease the diagram generation times.
|
||||
|
||||
## Custom directives
|
||||
In case it's necessary to add some custom PlantUML or MermaidJS declarations
|
||||
before or after the generated diagram content, it can be achieved using
|
||||
the `plantuml` or `mermaid` configuration properties, for instance for PlantUML:
|
||||
|
||||
```yaml
|
||||
plantuml:
|
||||
before:
|
||||
- left to right direction
|
||||
after:
|
||||
- note left of {{ alias("ns1::ns2::MyClass") }} This is my class.
|
||||
```
|
||||
|
||||
or for MermaidJS:
|
||||
|
||||
```yaml
|
||||
mermaid:
|
||||
before:
|
||||
- direction LR
|
||||
after:
|
||||
- note for {{ alias("ns1::ns2::MyClass") }} "This is my class."
|
||||
```
|
||||
|
||||
These directives are useful for instance for adding notes to elements in the
|
||||
diagrams or customizing diagram layout and style.
|
||||
|
||||
Please note that when referring to diagram elements in PlantUML or MermaidJS
|
||||
directives, they must be added using Jinja templates `alias` command as in the
|
||||
example above.
|
||||
|
||||
More options can be found in the official docs for each respective generator:
|
||||
* [PlantUML](https://plantuml.com/)
|
||||
* [MermaidJS](https://mermaid.js.org/intro/)
|
||||
|
||||
## Adding debug information in the generated diagrams
|
||||
Sometimes it is useful for debugging issues with the diagrams to have information
|
||||
on the exact source location, from which given declaration or call expression was
|
||||
derived. By adding option:
|
||||
|
||||
```yaml
|
||||
debug_mode: true
|
||||
```
|
||||
|
||||
the generated PlantUML diagram will contain comments before each line containing
|
||||
the source location of the specific diagram element.
|
||||
|
||||
## Resolving include path and compiler flags issues
|
||||
Due to the fact, that your project can be compiled with different compilers
|
||||
and toolchains, the system paths and compilation flags detected by the Clang
|
||||
version linked to your `clang-uml` installation might differ from the ones
|
||||
actually used to compile your project.
|
||||
|
||||
> This is often an issue on macOS, when `clang-uml` uses Homebrew version of LLVM
|
||||
> and your project was built using system Apple Clang
|
||||
|
||||
Typically, this results in error messages on the console during diagram
|
||||
generation, such as:
|
||||
|
||||
```
|
||||
... fatal: 'stddef.h' file not found
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
... warning: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Wimplicit-const-int-float-conversion]
|
||||
```
|
||||
|
||||
These errors can be overcome, by ensuring that the Clang parser has the correct
|
||||
include paths to analyse your code base on the given platform. `clang-uml`
|
||||
provides several mechanisms to resolve this issue:
|
||||
|
||||
### Use '--query-driver' command line option
|
||||
|
||||
> This option is not available on Windows.
|
||||
|
||||
Providing this option on the `clang-uml` command line will result in `clang-uml`
|
||||
executing the specified compiler with the following command, e.g.:
|
||||
|
||||
```bash
|
||||
/usr/bin/c++ -E -v -x c /dev/null 2>&1
|
||||
```
|
||||
|
||||
and extracting from the output the target and system include paths, which are
|
||||
then injected to each entry of the compilation database. For instance, on my
|
||||
system, when generating diagrams for an embedded project and providing
|
||||
`arm-none-eabi-gcc` as driver:
|
||||
|
||||
```bash
|
||||
clang-uml --query-driver arm-none-eabi-gcc
|
||||
```
|
||||
|
||||
the following options are appended to each command line after `argv[0]` of the
|
||||
command:
|
||||
|
||||
```bash
|
||||
--target=arm-none-eabi -isystem /usr/lib/gcc/arm-none-eabi/10.3.1/include -isystem /usr/lib/gcc/arm-none-eabi/10.3.1/include-fixed -isystem /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/include
|
||||
```
|
||||
|
||||
If you want to include the system headers reported by the compiler specified
|
||||
already as first argument of each compile command in your
|
||||
`compile_commands.json`, you can simply invoke `clang-uml` as:
|
||||
|
||||
```bash
|
||||
clang-uml --query-driver .
|
||||
```
|
||||
|
||||
however please make sure that the `compile_commands.json` contains a command,
|
||||
which is safe to execute.
|
||||
|
||||
### Manually add and remove compile flags from the compilation database
|
||||
If the system paths extracted from the compiler are not sufficient to resolve
|
||||
include paths issues, it is possible to manually adjust the compilation
|
||||
flags by providing `add_compile_flags` and `remove_compile_flags` in the
|
||||
configuration file, or providing `--add-compile-flag` and `--remove-compile-flag`
|
||||
on the `clang-uml` command line.
|
||||
|
||||
For instance:
|
||||
|
||||
```yaml
|
||||
add_compile_flags:
|
||||
- -I/opt/my_toolchain/include
|
||||
remove_compile_flags:
|
||||
- -I/usr/include
|
||||
```
|
||||
|
||||
These options can be also passed on the command line, for instance:
|
||||
|
||||
```bash
|
||||
clang-uml --add-compile-flag -I/opt/my_toolchain/include \
|
||||
--remove-compile-flag -I/usr/include ...
|
||||
```
|
||||
|
||||
### Using 'CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES'
|
||||
Yet another option, for CMake based projects, is to use the following CMake option:
|
||||
|
||||
```cmake
|
||||
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
|
||||
```
|
||||
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
# Configuration file reference
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Top level options](#top-level-options)
|
||||
* [Diagram options](#diagram-options)
|
||||
* [Example complete config](#example-complete-config)
|
||||
* [Determining config file location](#determining-config-file-location)
|
||||
* [Paths](#paths)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Top level options
|
||||
* `compilation_database_dir` - path to the directory containing `compile_commands.json`
|
||||
* `output_directory` - path to the directory where PlantUML diagrams will be generated
|
||||
* `diagrams` - the map of diagrams to be generated, each diagram name is provided as
|
||||
the key of the diagram YAML node
|
||||
* `debug_mode` - add inline debug information in the generated diagrams
|
||||
* `add_compile_flags` - add compile flags to all compilation database entries
|
||||
* `remove_compile_flags` - remove compile flags from all compilation database entries
|
||||
* `query_driver` - name or path to compiler driver, which should be queried for system include paths (e.g. arm-none-eabi-g++)
|
||||
|
||||
### Diagram options
|
||||
* `type` - type of diagram, one of [`class`, `sequence`, `package`, `include`]
|
||||
@@ -12,20 +26,24 @@
|
||||
* `include_relations_also_as_members` - when set to `false`, class members for relationships are rendered in UML are skipped from class definition (default: `true`)
|
||||
* `generate_method_arguments` - determines whether the class diagrams methods contain full arguments (`full`), are abbreviated (`abbreviated`) or skipped (`none`)
|
||||
* `using_namespace` - similar to C++ `using namespace`, a `A::B` value here will render a class `A::B::C::MyClass` in the diagram as `C::MyClass`, at most 1 value is supported
|
||||
* `generate_packages` - whether or not the class diagram should contain packages generated from namespaces or subdirectories
|
||||
* `package_type` - determines how the packages are inferred: `namespace` - use C++ namespaces, `directory` - use project's directory structure
|
||||
* `include` - definition of inclusion patterns:
|
||||
* `namespaces` - list of namespaces to include
|
||||
* `relationships` - list of relationships to include
|
||||
* `elements` - list of elements, i.e. specific classes, enums, templates to include
|
||||
* `element_types` - list of element types e.g. `enum`, `class`, `concept`
|
||||
* `access` - list of visibility scopes to include (e.g. `private`)
|
||||
* `subclasses` - include only subclasses of specified classes (and themselves)
|
||||
* `specializations` - include all specializations or instantiations of a given template
|
||||
* `dependants` - include all classes, which depend on the specified class
|
||||
* `dependencies` - include all classes, which are dependencies of the specified class
|
||||
* `context` - include only entities in direct relationship with specified classes
|
||||
* `exclude` - definition of excqlusion patterns:
|
||||
* `exclude` - definition of exclusion patterns:
|
||||
* `namespaces` - list of namespaces to exclude
|
||||
* `relationships` - list of relationships to exclude
|
||||
* `elements` - list of elements, i.e. specific classes, enums, templates to exclude
|
||||
* `element_types` - list of element types e.g. `enum`, `class`, `concept`
|
||||
* `access` - list of visibility scopes to exclude (e.g. `private`)
|
||||
* `subclasses` - exclude subclasses of specified classes (and themselves)
|
||||
* `specializations` - exclude all specializations or instantiations of a given template
|
||||
@@ -36,28 +54,24 @@
|
||||
* `plantuml` - verbatim PlantUML directives which should be added to a diagram
|
||||
* `before` - list of directives which will be added before the generated diagram
|
||||
* `after` - list of directives which will be added after the generated diagram
|
||||
|
||||
### Template engine
|
||||
`clang-uml` integrates [inja](https://github.com/pantor/inja) template engine, with several
|
||||
additional functions which can be used in textual directives within the configuration files,
|
||||
notes and to generate links and tooltips to diagrams.
|
||||
|
||||
The following, are the `clang-uml` additional template functions:
|
||||
* `ltrim(string)` - left trims a string
|
||||
* `rtrim(string)` - right trims a string
|
||||
* `trim(string)` - trims a string
|
||||
* `substr(string, offset, length)` - returns a substring of a string from offset of length
|
||||
* `split(string)` - splits a string and returns a list of strings
|
||||
* `replace(string, regex, replacement)` - returns a string with replace matches to regex with replacement string
|
||||
* `abbrv(string, length)` - returns a string truncated to length including trailing ellipsis
|
||||
* `alias(string)` - returns a PlantUML alias of an C++ entity represented by string name
|
||||
|
||||
|
||||
* `mermaid` - verbatim MermaidJS directives which should be added to a diagram
|
||||
* `before` - list of directives which will be added before the generated diagram
|
||||
* `after` - list of directives which will be added after the generated diagram
|
||||
*
|
||||
## Example complete config
|
||||
|
||||
```yaml
|
||||
# Directory containing the compile_commands.json file
|
||||
compilation_database_dir: debug
|
||||
# Inject additional compile commands to the compilation database entries
|
||||
add_compile_flags:
|
||||
- '-Wno-vla-extension'
|
||||
# Remove specified compile flags from all compilation database entries
|
||||
remove_compile_flags:
|
||||
- '-Wshadow'
|
||||
# Compiler driver command to query for system include paths
|
||||
query_driver:
|
||||
- arm-none-eabi-g++
|
||||
# The directory where *.puml files will be generated
|
||||
output_directory: docs/diagrams
|
||||
# Set this as default for all diagrams
|
||||
@@ -77,8 +91,10 @@ diagrams:
|
||||
type: class
|
||||
# Do not include rendered relations in the class box
|
||||
include_relations_also_as_members: false
|
||||
# Generate packages from the namespaces
|
||||
generate_packages: true
|
||||
package_type: namespace # or 'directory' to generate from projects subdirectories
|
||||
# Limiting the number of files to include can significantly
|
||||
# improve the generation time
|
||||
glob:
|
||||
- src/common/model/*.h
|
||||
- src/common/model/*.cc
|
||||
@@ -101,6 +117,11 @@ diagrams:
|
||||
ClassA:
|
||||
- up: ClassB
|
||||
- left: ClassC
|
||||
ClassD:
|
||||
- together: [ClassE, ClassF, EnumG]
|
||||
ClassX:
|
||||
- row: [ClassY1, ClassZ1]
|
||||
- column: [ClassY2, ClassZ2]
|
||||
# Specify customized relationship hints for types which are
|
||||
# arguments in template instantiations
|
||||
relationship_hints:
|
||||
@@ -120,4 +141,36 @@ diagrams:
|
||||
# Add this line to the beginning of the resulting puml file
|
||||
before:
|
||||
- 'title clang-uml class diagram model'
|
||||
```
|
||||
mermaid:
|
||||
# Add this line at the end of a Mermaid diagram
|
||||
end:
|
||||
- 'direction LR'
|
||||
```
|
||||
|
||||
## Determining config file location
|
||||
|
||||
If `-c,--config` option is not provided, `clang-uml` will try to open file
|
||||
`.clang-uml` in the current directory and fail if it doesn't exist.
|
||||
|
||||
With `-c,--config` option pointing to a valid `.clang-uml` file path, the file
|
||||
configuration will be loaded from that file.
|
||||
|
||||
Furthermore, when the value of `-c,--config` option is `-` - the entire config
|
||||
will be read from `stdin`, which can be useful for scripting and generating
|
||||
config Yaml documents on the fly.
|
||||
|
||||
## Paths
|
||||
By default, all paths specified in the configuration file, including:
|
||||
|
||||
* `glob`
|
||||
* `output_directory`
|
||||
* `compilation_database_dir`
|
||||
* `paths` filter
|
||||
|
||||
are relative to the parent directory of the configuration file. This can be
|
||||
changed in the following ways:
|
||||
* by specifying `relative_to` option in the configuration file
|
||||
* by providing `--paths-relative-to-pwd` command line option, in which
|
||||
case all paths will be relative to the directory where `clang-uml` is
|
||||
executed (this only makes sense for automation where `clang-uml` is executed
|
||||
from the same location relative to the project directory
|
||||
318
docs/diagram_filters.md
Normal file
@@ -0,0 +1,318 @@
|
||||
# Diagram filters
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [namespaces](#namespaces)
|
||||
* [elements](#elements)
|
||||
* [element_types](#element_types)
|
||||
* [paths](#paths)
|
||||
* [context](#context)
|
||||
* [relationships](#relationships)
|
||||
* [subclasses](#subclasses)
|
||||
* [parents](#parents)
|
||||
* [specializations](#specializations)
|
||||
* [access](#access)
|
||||
* [method_types](#method_types)
|
||||
* [callee_types](#callee_types)
|
||||
* [dependants and dependencies](#dependants-and-dependencies)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
Diagram filters are at the core of generating diagrams with `clang-uml`, as they allow to fine tune the scope
|
||||
of each diagram, and thus provide you with a several small, but readable diagrams instead of a single huge diagram
|
||||
that cannot be effectively browsed, printed or included in an online documentation of your project.
|
||||
|
||||
Filters can be specified separate for each diagram, and they can be added as either `include` or `exclude` filters,
|
||||
depending on which is more appropriate for a given diagram.
|
||||
|
||||
For instance to include only C++ entities from a namespace `ns1::ns2` but not `ns1::ns2::detail` add the following
|
||||
to your diagram configuration:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
namespaces:
|
||||
- ns1::ns2
|
||||
exclude:
|
||||
namespaces:
|
||||
- ns1::ns2::detail
|
||||
```
|
||||
|
||||
Some filters accept either specified exact values, some support regular
|
||||
expressions while some except glob patterns.
|
||||
|
||||
For filters which accept regular expressions, the regular expression has to
|
||||
be provided as a map ```r: 'pattern'``` due to the fact the pointer (```*```) otherwise
|
||||
would have to be escaped in situations such as ```mycontainer<char*>```, so for
|
||||
instance to specify that the diagram should exclude all classes containing the
|
||||
word ```test``` simply add the following filter:
|
||||
|
||||
```yaml
|
||||
exclude:
|
||||
elements:
|
||||
- r: '.*test.*'
|
||||
```
|
||||
|
||||
`paths` filter is currently the only filter which accepts `glob` like patterns.
|
||||
|
||||
The following table specifies the values allowed in each filter:
|
||||
|
||||
| Filter name | Possible values | Example values |
|
||||
|-------------------|----------------------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||
| `namespaces` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: '.*detail.*'``` |
|
||||
| `elements` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: '.*detail.*'``` |
|
||||
| `element_types` | Types of diagram elements | ```class```, ```enum```, ```concept``` |
|
||||
| `paths` | File or dir path or glob pattern | ```src/dir1```, ```src/dir2/a.cpp```, ```src/dir3/*.cpp``` |
|
||||
| `context` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `relationships` | Type of relationship | ```inheritance```, ```composition```, ```aggregation```, ```ownership```, ```association```, ```instantiation```, ```friendship```, ```dependency``` |
|
||||
| `subclasses` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `parents` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `specializations` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `access` | Method or member access scope | ```public```, ```protected```, ```private``` |
|
||||
| `method_types` | Type of class method | ```constructor```, ```destructor```, ```assignment```, ```operator```, ```defaulted```, ```deleted```, ```static``` |
|
||||
| `dependants` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `dependencies` | Qualified name or regex | ```ns1::ns2::ClassA```, ```r: 'ns1::ns2::ClassA.+'``` |
|
||||
| `callee_types` | Callee types in sequence diagrams| ```constructor```, ```assignment```, ```operator```, ```defaulted```, ```static```, ```method```, ```function```, ```function_template```, ```lambda``` |
|
||||
|
||||
The following filters are available:
|
||||
|
||||
## namespaces
|
||||
|
||||
Allows to include or exclude entities from specific namespaces.
|
||||
|
||||
```yaml
|
||||
include:
|
||||
namespaces:
|
||||
- ns1::ns2
|
||||
exclude:
|
||||
namespaces:
|
||||
- ns1::ns2::detail
|
||||
```
|
||||
|
||||
## elements
|
||||
|
||||
Allows to directly include or exclude specific entities from the diagrams, for instance to exclude a specific class
|
||||
from an included namespace:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
namespaces:
|
||||
- ns1::ns2
|
||||
exclude:
|
||||
elements:
|
||||
- ns1::ns2::MyClass
|
||||
```
|
||||
|
||||
## element_types
|
||||
|
||||
Allows to include or exclude elements of specific type from the diagram, for instance
|
||||
to remove all enums from a diagram add the following:
|
||||
|
||||
```yaml
|
||||
exclude:
|
||||
element_types:
|
||||
- enum
|
||||
```
|
||||
|
||||
## paths
|
||||
|
||||
This filter allows to include or exclude from the diagram elements declared
|
||||
in specific files.
|
||||
|
||||
```yaml
|
||||
diagrams:
|
||||
t00061_class:
|
||||
type: class
|
||||
glob:
|
||||
- t00061.cc
|
||||
include:
|
||||
paths:
|
||||
- include/t00061_a.h
|
||||
using_namespace:
|
||||
- clanguml::t00061
|
||||
```
|
||||
|
||||
Currently, this filter does not allow any globbing or wildcards, however
|
||||
paths to directories can be specified.
|
||||
|
||||
## context
|
||||
|
||||
This filter allows to limit the diagram elements only to classes which are in
|
||||
direct relationship (of any kind) with the specified class, enum or concept:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
context:
|
||||
- ns1::ns2::MyClass
|
||||
```
|
||||
|
||||
By default, the filter will only include or exclude items in direct
|
||||
relationship (radius 1). It is however possible to define the context filter
|
||||
and provide a custom radius:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
context:
|
||||
- match:
|
||||
radius: 3
|
||||
pattern: ns1::ns2::MyClass
|
||||
- match:
|
||||
radius: 2
|
||||
pattern: ns1::ns2::MyOtherClass
|
||||
```
|
||||
|
||||
Please note that you can specify multiple context filters in a single diagram
|
||||
with different radius. Radius set to 0 will match only the given element.
|
||||
|
||||
## relationships
|
||||
|
||||
This filter allows to include or exclude specific types of relationships from the diagram, for instance to only
|
||||
include inheritance and template specialization/instantiation relationships add the following to the diagram:
|
||||
|
||||
```yaml
|
||||
include:
|
||||
relationships:
|
||||
- inheritance
|
||||
- instantiation
|
||||
```
|
||||
|
||||
The following relationships can be used in this filter:
|
||||
* `inheritance`
|
||||
* `composition`
|
||||
* `aggregation`
|
||||
* `ownership`
|
||||
* `association`
|
||||
* `instantiation`
|
||||
* `friendship`
|
||||
* `dependency`
|
||||
|
||||
## subclasses
|
||||
|
||||
This filter allows to include or exclude all subclasses of a given class in the diagram.
|
||||
|
||||
## parents
|
||||
|
||||
This filter allows to include or exclude all parents (base classes) of a given class in the diagram.
|
||||
|
||||
## specializations
|
||||
|
||||
This filter allows to include or exclude specializations and instantiations of a specific template from the diagram.
|
||||
|
||||
## access
|
||||
|
||||
This filter allows to include or exclude class methods and members based on their access scope, allowed values ar:
|
||||
|
||||
* `public`
|
||||
* `protected`
|
||||
* `private`
|
||||
|
||||
## method_types
|
||||
|
||||
This filter allows to include or exclude various method types from the class diagram, allowed values ar:
|
||||
* `constructor`
|
||||
* `destructor`
|
||||
* `assignment`
|
||||
* `operator`
|
||||
* `defaulted`
|
||||
* `deleted`
|
||||
* `static`
|
||||
|
||||
This filter is independent of the `access` filter, which controls which methods
|
||||
are included based on access scope (e.g. `public`).
|
||||
|
||||
## callee_types
|
||||
|
||||
This filter is specific for `sequence diagrams` and allows to control, which
|
||||
types of callees should be included/excluded from the diagram. In a sequence diagram,
|
||||
a `callee` is the receiver of a message, and this filter specifies which types
|
||||
of receivers should match.
|
||||
|
||||
The following callee types are supported:
|
||||
* `constructor`
|
||||
* `assignment`
|
||||
* `operator`
|
||||
* `defaulted`
|
||||
* `static`
|
||||
* `method`
|
||||
* `function`
|
||||
* `function_template`
|
||||
* `lambda`
|
||||
|
||||
## dependants and dependencies
|
||||
|
||||
These filters allow to specify that only dependants or dependencies of a given
|
||||
class should be included in the diagram. This can be useful for analyzing what
|
||||
classes in your project depend on some other class, which could have impact for
|
||||
instance on refactoring.
|
||||
|
||||
For instance the following code:
|
||||
```cpp
|
||||
|
||||
namespace dependants {
|
||||
struct A {
|
||||
};
|
||||
|
||||
struct B {
|
||||
void b(A *a) { }
|
||||
};
|
||||
|
||||
struct BB {
|
||||
void bb(A *a) { }
|
||||
};
|
||||
|
||||
struct C {
|
||||
void c(B *b) { }
|
||||
};
|
||||
|
||||
struct D {
|
||||
void d(C *c) { }
|
||||
void dd(BB *bb) { }
|
||||
};
|
||||
|
||||
struct E {
|
||||
void e(D *d) { }
|
||||
};
|
||||
|
||||
struct F {
|
||||
};
|
||||
} // namespace dependants
|
||||
|
||||
namespace dependencies {
|
||||
|
||||
struct G {
|
||||
};
|
||||
|
||||
struct GG {
|
||||
};
|
||||
|
||||
struct H {
|
||||
void h(G *g) { }
|
||||
void hh(GG *gg) { }
|
||||
};
|
||||
|
||||
struct HH {
|
||||
void hh(G *g) { }
|
||||
};
|
||||
|
||||
struct I {
|
||||
void i(H *h) { }
|
||||
};
|
||||
|
||||
struct J {
|
||||
void i(I *i) { }
|
||||
};
|
||||
```
|
||||
|
||||
and the following filter:
|
||||
```yaml
|
||||
include:
|
||||
dependants:
|
||||
- clanguml::t00043::dependants::A
|
||||
dependencies:
|
||||
- clanguml::t00043::dependencies::J
|
||||
relationships:
|
||||
- dependency
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
97
docs/diagram_templates.md
Normal file
@@ -0,0 +1,97 @@
|
||||
# Diagram templates
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Diagram template syntax](#diagram-template-syntax)
|
||||
* [Adding templates to the configuration file](#adding-templates-to-the-configuration-file)
|
||||
* [Adding diagram to configuration from a template](#adding-diagram-to-configuration-from-a-template)
|
||||
* [Builtin templates](#builtin-templates)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
When working with large codebases, it is often necessary to create diagram
|
||||
configurations for a large number of classes or groups of classes.
|
||||
|
||||
Diagram templates feature makes this easier, by allowing to define (or use
|
||||
one of the builtin) templates and generate using them any number of diagram
|
||||
configurations. Diagram templates can be defined using Jinja like template
|
||||
syntax (current renderer implementation is
|
||||
[inja](https://github.com/pantor/inja)).
|
||||
|
||||
## Diagram template syntax
|
||||
Diagram templates are defined as part of the configuration file using the
|
||||
following YAML node:
|
||||
|
||||
```yaml
|
||||
diagram_templates:
|
||||
# Name of the template
|
||||
parents_hierarchy_tmpl:
|
||||
# Description of the template
|
||||
description: Generate class parents inheritance diagram
|
||||
# Diagram type
|
||||
type: class
|
||||
# Template definition - it has to be valid YAML after it is rendered
|
||||
template: |
|
||||
{{ diagram_name }}:
|
||||
type: class
|
||||
{% if exists("glob") %}
|
||||
glob: [{{ glob }}]
|
||||
{% endif %}
|
||||
{% if exists("using_namespace") %}
|
||||
using_namespace: {{ using_namespace }}
|
||||
{% endif %}
|
||||
include:
|
||||
parents: [{{ class_name }}]
|
||||
namespaces: [{{ namespace_names }}]
|
||||
relationships:
|
||||
- inheritance
|
||||
exclude:
|
||||
access: [public, protected, private]
|
||||
plantuml:
|
||||
before:
|
||||
- left to right direction
|
||||
```
|
||||
|
||||
## Adding templates to the configuration file
|
||||
Diagram templates can be added directly to the `.clang-uml` configuration file,
|
||||
under a `diagram_templates:` key. However, for practical reasons it is better
|
||||
to keep diagram template definitions in a separate Yaml file, and reference
|
||||
it in the configuration file using `include!` directive, e.g.:
|
||||
|
||||
```yaml
|
||||
diagram_templates:
|
||||
include!: .clang-uml-templates
|
||||
```
|
||||
|
||||
## Adding diagram to configuration from a template
|
||||
To add a new diagram definition to the configuration file based on the template,
|
||||
simply call the `clang-uml` using the following options:
|
||||
|
||||
```bash
|
||||
clang-uml --add-diagram-from-template parents_hierarchy_tmpl \
|
||||
--template-var class_name=clanguml::config::include_diagram \
|
||||
--template-var namespace_names=clanguml \
|
||||
--template-var diagram_name=abcd \
|
||||
--template-var "glob=src/config/*.cc" \
|
||||
--template-var using_namespace=clanguml::config
|
||||
```
|
||||
|
||||
To see what variables are necessary to provide for a template, the template
|
||||
can be printed from the command line using the following command:
|
||||
|
||||
```bash
|
||||
clang-uml --show-template parents_hierarchy_tmpl
|
||||
```
|
||||
|
||||
## Builtin templates
|
||||
`clang-uml` has some predefined templates, which can be used directly. If the
|
||||
users configuration file defines another template with a name which already
|
||||
exists as built-in template it will override the predefined templates.
|
||||
|
||||
Currently, the following templates are built-in:
|
||||
* `parents_hierarchy_tmpl` - generate inheritance hierarchy diagram including
|
||||
parents of a specified class
|
||||
* `subclass_hierarchy_tmpl` - generate inheritance hierarchy diagram including
|
||||
c children of a specified class
|
||||
* `class_context_tmpl` - generate diagram including all classes in direct
|
||||
relationship (of any kind) with a specific class
|
||||
28
docs/doxygen/footer.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<!-- HTML footer for doxygen 1.9.1-->
|
||||
<!-- start footer part -->
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">
|
||||
$generatedby
|
||||
<a href="https://www.doxygen.org/index.html">
|
||||
<img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/>
|
||||
</a> $doxygenversion
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
<hr class="footer"/><address class="footer">
|
||||
<small>
|
||||
<span class="copyright">  Copyright © 2022-present <a href="https://github.com/bkryza">Bartek Kryza</a>
|
||||
</span>
|
||||
$generatedby 
|
||||
<a href="https://www.doxygen.org/index.html">
|
||||
<img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/>
|
||||
</a> $doxygenversion
|
||||
</small></address>
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
</body>
|
||||
</html>
|
||||
7
docs/doxygen/github.min.css
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
Theme: Github
|
||||
Author: Defman21
|
||||
License: ~ MIT (or more permissive) [via base16-schemes-source]
|
||||
Maintainer: @highlightjs/core-team
|
||||
Version: 2021.09.0
|
||||
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#333;background:#fff}.hljs ::selection,.hljs::selection{background-color:#c8c8fa;color:#333}.hljs-comment{color:#969896}.hljs-tag{color:#e8e8e8}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#333}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ed6a43}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#0086b3}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#795da3}.hljs-strong{font-weight:700;color:#795da3}.hljs-addition,.hljs-built_in,.hljs-code,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp,.hljs-string,.hljs-title.class_.inherited__{color:#183691}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#795da3}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#a71d5d}.hljs-emphasis{color:#a71d5d;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#333}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
||||
111
docs/doxygen/header.html
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
|
||||
<!-- BEGIN opengraph metadata -->
|
||||
<meta property="og:title" content="clang-uml" />
|
||||
<meta property="og:image" content="$relpath^clang-uml-logo.svg" />
|
||||
<meta property="og:description" content="C++ to UML diagram generator based on Clang." />
|
||||
<meta property="og:url" content="https://clang-uml.github.io/" />
|
||||
<!-- END opengraph metadata -->
|
||||
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/>
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
<!--<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>-->
|
||||
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
|
||||
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
|
||||
<!--<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>-->
|
||||
<!--<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>-->
|
||||
<!--<script type="text/javascript" src="$relpath^toggle-alternative-theme.js"></script>-->
|
||||
<script type="text/javascript">
|
||||
DoxygenAwesomeFragmentCopyButton.init()
|
||||
// DoxygenAwesomeDarkModeToggle.init()
|
||||
DoxygenAwesomeParagraphLink.init()
|
||||
// DoxygenAwesomeInteractiveToc.init()
|
||||
// DoxygenAwesomeTabs.init()
|
||||
</script>
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link rel="stylesheet" href="$relpath^github.min.css">
|
||||
<script src="$relpath^highlight.min.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
hljs.configure({useBR: false});
|
||||
$(".fragment").each(function(i,node) {
|
||||
var $node = $(node);
|
||||
// Only apply highlight.js to non-cpp code blocks
|
||||
if (!$node.hasClass("language-cpp")) {
|
||||
$node.html("<pre><code class='" +
|
||||
$node.attr("class") + "'>" +
|
||||
$node.text() + "</code></pre>");
|
||||
hljs.highlightElement(node);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
$extrastylesheet
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- https://tholman.com/github-corners/ -->
|
||||
<!--<a href="https://github.com/bkryza/clang-uml" class="github-corner" title="View source on GitHub" target="_blank">-->
|
||||
<!-- <svg viewBox="0 0 250 250" width="70" height="70" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true">-->
|
||||
<!-- <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>-->
|
||||
|
||||
<div id="top" style="background-color: gainsboro"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo">
|
||||
<a href="$relpath^index.html">
|
||||
<img alt="Main page" src="$relpath^$projectlogo"/>
|
||||
</a>
|
||||
</td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">
|
||||
<span id="projectnumber">$projectnumber</span>
|
||||
</div>
|
||||
<div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<!-- <td style="padding-left: 0.5em;">-->
|
||||
<!-- <div id="projectbrief">$projectbrief</div>-->
|
||||
<!-- </td>-->
|
||||
<td>
|
||||
<div>
|
||||
<a href="https://github.com/bkryza/clang-uml">
|
||||
<img alt="GitHub" src="$relpath^github-mark.svg"/>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<td>$searchbox</td>
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
||||
2575
docs/doxygen/highlight.js
Normal file
611
docs/doxygen/highlight.min.js
vendored
Normal file
234
docs/doxygen/layout-clang-uml.xml
Normal file
@@ -0,0 +1,234 @@
|
||||
<doxygenlayout version="1.0">
|
||||
<!-- Generated by doxygen 1.9.7 -->
|
||||
<!-- Navigation index tabs for HTML output -->
|
||||
<navindex>
|
||||
<!-- <tab type="mainpage" visible="yes" title=""/>-->
|
||||
<!-- <tab type="pages" visible="yes" title="" intro=""/>-->
|
||||
<!-- <tab type="modules" visible="yes" title="" intro=""/>-->
|
||||
<tab type="user" url="./md_docs_2installation.html" title="Installation"/>
|
||||
<tab type="user" url="./md_docs_2test__cases.html" title="Test cases"/>
|
||||
<tab type="user" visible="yes" url="./index.html" title="Doxygen">
|
||||
<tab type="namespaces" visible="yes" title="">
|
||||
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="classes" visible="yes" title="">
|
||||
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="structs" visible="yes" title="">
|
||||
<tab type="structlist" visible="yes" title="" intro=""/>
|
||||
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
</tab>
|
||||
<tab type="files" visible="yes" title="">
|
||||
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||
<tab type="globals" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
</tab>
|
||||
<tab type="user" url="https://github.com/bkryza/clang-uml-examples" title="Examples"/>
|
||||
<tab type="user" url="https://github.com/bkryza/clang-uml" title="GitHub"/>
|
||||
</navindex>
|
||||
|
||||
<!-- Layout definition for a class page -->
|
||||
<class>
|
||||
<briefdescription visible="yes"/>
|
||||
<detaileddescription title=""/>
|
||||
<includes visible="$SHOW_HEADERFILE"/>
|
||||
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||
<memberdecl>
|
||||
<nestedclasses visible="yes" title=""/>
|
||||
<publictypes title=""/>
|
||||
<services title=""/>
|
||||
<interfaces title=""/>
|
||||
<publicslots title=""/>
|
||||
<signals title=""/>
|
||||
<publicmethods title=""/>
|
||||
<publicstaticmethods title=""/>
|
||||
<publicattributes title=""/>
|
||||
<publicstaticattributes title=""/>
|
||||
<protectedtypes title=""/>
|
||||
<protectedslots title=""/>
|
||||
<protectedmethods title=""/>
|
||||
<protectedstaticmethods title=""/>
|
||||
<protectedattributes title=""/>
|
||||
<protectedstaticattributes title=""/>
|
||||
<packagetypes title=""/>
|
||||
<packagemethods title=""/>
|
||||
<packagestaticmethods title=""/>
|
||||
<packageattributes title=""/>
|
||||
<packagestaticattributes title=""/>
|
||||
<properties title=""/>
|
||||
<events title=""/>
|
||||
<privatetypes title=""/>
|
||||
<privateslots title=""/>
|
||||
<privatemethods title=""/>
|
||||
<privatestaticmethods title=""/>
|
||||
<privateattributes title=""/>
|
||||
<privatestaticattributes title=""/>
|
||||
<friends title=""/>
|
||||
<related title="" subtitle=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<typedefs title=""/>
|
||||
<enums title=""/>
|
||||
<services title=""/>
|
||||
<interfaces title=""/>
|
||||
<constructors title=""/>
|
||||
<functions title=""/>
|
||||
<related title=""/>
|
||||
<variables title=""/>
|
||||
<properties title=""/>
|
||||
<events title=""/>
|
||||
</memberdef>
|
||||
<allmemberslink visible="yes"/>
|
||||
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||
<authorsection visible="yes"/>
|
||||
</class>
|
||||
|
||||
<!-- Layout definition for a namespace page -->
|
||||
<namespace>
|
||||
<briefdescription visible="yes"/>
|
||||
<detaileddescription title=""/>
|
||||
<memberdecl>
|
||||
<nestednamespaces visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</namespace>
|
||||
|
||||
<!-- Layout definition for a concept page -->
|
||||
<concept>
|
||||
<briefdescription visible="yes"/>
|
||||
<detaileddescription title=""/>
|
||||
<includes visible="$SHOW_HEADERFILE"/>
|
||||
<definition visible="yes" title=""/>
|
||||
<detaileddescription title=""/>
|
||||
<authorsection visible="yes"/>
|
||||
</concept>
|
||||
|
||||
<!-- Layout definition for a file page -->
|
||||
<file>
|
||||
<briefdescription visible="yes"/>
|
||||
<!-- <detaileddescription title=""/>-->
|
||||
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||
<sourcelink visible="yes"/>
|
||||
<memberdecl>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
</memberdef>
|
||||
<authorsection/>
|
||||
</file>
|
||||
|
||||
<!-- Layout definition for a group page -->
|
||||
<group>
|
||||
<briefdescription visible="yes"/>
|
||||
<detaileddescription title=""/>
|
||||
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||
<memberdecl>
|
||||
<nestedgroups visible="yes" title=""/>
|
||||
<dirs visible="yes" title=""/>
|
||||
<files visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<enumvalues title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<signals title=""/>
|
||||
<publicslots title=""/>
|
||||
<protectedslots title=""/>
|
||||
<privateslots title=""/>
|
||||
<events title=""/>
|
||||
<properties title=""/>
|
||||
<friends title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<pagedocs/>
|
||||
<inlineclasses title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<enumvalues title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<signals title=""/>
|
||||
<publicslots title=""/>
|
||||
<protectedslots title=""/>
|
||||
<privateslots title=""/>
|
||||
<events title=""/>
|
||||
<properties title=""/>
|
||||
<friends title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</group>
|
||||
|
||||
<!-- Layout definition for a directory page -->
|
||||
<directory>
|
||||
<briefdescription visible="yes"/>
|
||||
<directorygraph visible="yes"/>
|
||||
<memberdecl>
|
||||
<dirs visible="yes"/>
|
||||
<files visible="yes"/>
|
||||
</memberdecl>
|
||||
<!-- <detaileddescription title=""/>-->
|
||||
</directory>
|
||||
</doxygenlayout>
|
||||
7
docs/doxygen/solarized-light.min.css
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
Theme: Solarized Light
|
||||
Author: Ethan Schoonover (modified by aramisgithub)
|
||||
License: ~ MIT (or more permissive) [via base16-schemes-source]
|
||||
Maintainer: @highlightjs/core-team
|
||||
Version: 2021.09.0
|
||||
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#586e75;background:#fdf6e3}.hljs ::selection,.hljs::selection{background-color:#93a1a1;color:#586e75}.hljs-comment{color:#839496}.hljs-tag{color:#657b83}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#586e75}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#dc322f}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#cb4b16}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#b58900}.hljs-strong{font-weight:700;color:#b58900}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#859900}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#2aa198}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#268bd2}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6c71c4}.hljs-emphasis{color:#6c71c4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#d33682}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
||||
62
docs/doxygen_integration.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Doxygen integration
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
`clang-uml` diagrams can be easily added to the Doxygen documentation using the
|
||||
`image` tag, however [Doxygen](https://www.doxygen.nl/index.html) does not
|
||||
support the `clang-uml` specific [commands](./comment_decorators.md), which
|
||||
will appear in the documentation unprocessed.
|
||||
|
||||
The best solution to this is to tell Doxygen to ignore them, by adding the
|
||||
following lines to the Doxygen config file:
|
||||
|
||||
```
|
||||
ALIASES += uml=""
|
||||
ALIASES += uml{1}=""
|
||||
ALIASES += uml{2}=""
|
||||
ALIASES += uml{3}=""
|
||||
```
|
||||
|
||||
Furthermore, Doxygen adds images to HTML documentation as `<img src=""/>`,
|
||||
which disables interactive links in SVG diagrams. One way to go around it
|
||||
is to use a special command for these images, for instance:
|
||||
|
||||
```
|
||||
ALIASES += embed{1}="\htmlonly <embed src=\"\1\"/> \endhtmlonly"
|
||||
```
|
||||
|
||||
and then use the following in the source code comments:
|
||||
|
||||
```cpp
|
||||
/**
|
||||
* @brief Base class for all diagram models
|
||||
*
|
||||
* @embed{diagram_hierarchy_class.svg}
|
||||
*/
|
||||
class diagram {
|
||||
public:
|
||||
// ...
|
||||
```
|
||||
|
||||
This directive in the configuration file will add the SVG diagrams using
|
||||
`<embed>` HTML tag, and enable the links in the diagram on most browsers.
|
||||
|
||||
Finally, to have `clang-uml` generate links from diagram elements such as classes
|
||||
or packages to Doxygen pages, it is only necessary to add the following
|
||||
configuration file option:
|
||||
|
||||
```yaml
|
||||
generate_links:
|
||||
link: "{% if existsIn(element, \"doxygen_link\") %}{{ element.doxygen_link }}{% endif %}"
|
||||
tooltip: "{% if existsIn(element, \"comment\") and existsIn(element.comment, \"brief\") %}{{ abbrv(trim(replace(element.comment.brief.0, \"\\n+\", \" \")), 256) }}{% else %}{{ element.name }}{% endif %}"
|
||||
```
|
||||
|
||||
This option will tell `clang-uml` to generate a link to a local Doxygen
|
||||
documentation page, provided that it is possible to generate it. Currently,
|
||||
this only works for diagram elements, it will not work for instance
|
||||
for individual methods.
|
||||
|
||||
928
docs/generator_types.md
Normal file
46
docs/img/clang-uml-logo.svg
Normal file
|
After Width: | Height: | Size: 12 KiB |
1
docs/img/github-mark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg>
|
||||
|
After Width: | Height: | Size: 963 B |
BIN
docs/img/mermaid_aggregation.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
docs/img/mermaid_association.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
docs/img/mermaid_composition.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
docs/img/mermaid_dependency.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
docs/img/mermaid_inheritance.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
docs/img/mermaid_instantiation.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
docs/img/mermaid_nested.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
60
docs/include_diagrams.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Generating include diagrams
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Tracking system headers directly included by project sources](#tracking-system-headers-directly-included-by-project-sources)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
Include diagrams allow to document the include dependencies among different
|
||||
parts of the project. This can be very useful for instance to detect that a file
|
||||
was included from a module directory, on which specific part of the project
|
||||
should never depend.
|
||||
|
||||
The minimal config required to generate an include diagram is presented below:
|
||||
```yaml
|
||||
diagrams:
|
||||
# Diagram name
|
||||
my_class_diagram:
|
||||
# Type of diagram (has to be `include`)
|
||||
type: include
|
||||
# Include only translation units matching the following patterns
|
||||
glob:
|
||||
- src/*.cc
|
||||
# Include also external system headers
|
||||
generate_system_headers: true
|
||||
# Include only classes and functions from files in `src` directory
|
||||
include:
|
||||
# Include only files belonging to these paths
|
||||
paths:
|
||||
- src
|
||||
```
|
||||
|
||||
One distinctive option in `include` diagrams is `relative_to`, which tells
|
||||
`clang-uml` to render all filename paths relative to this directory.
|
||||
|
||||
The following table presents the PlantUML arrows representing relationships in
|
||||
the include diagrams.
|
||||
|
||||
| UML | PlantUML | MermaidJS |
|
||||
|-----------------------------------------|------------------------------------------|---------------------------------------------|
|
||||
| Include (local) |  |  |
|
||||
| Include (system) |  |  |
|
||||
|
||||
## Tracking system headers directly included by project sources
|
||||
|
||||
In case you would like to include the information about what system headers your
|
||||
project files include simply add the following option to the diagram:
|
||||
|
||||
```yaml
|
||||
generate_system_headers: true
|
||||
```
|
||||
|
||||
This will include only system headers directly included from the project's
|
||||
source files (matched by `glob`) and not their dependencies, for example:
|
||||
|
||||

|
||||
|
||||
Please note that generating include diagram, which contains third party and
|
||||
system library headers will result in a huge diagram that will be unlikely to
|
||||
be useful.
|
||||
243
docs/installation.md
Normal file
@@ -0,0 +1,243 @@
|
||||
# Installation
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Distribution packages](#distribution-packages)
|
||||
* [Ubuntu](#ubuntu)
|
||||
* [Fedora](#fedora)
|
||||
* [Conda](#conda)
|
||||
* [Windows](#windows)
|
||||
* [Building from source](#building-from-source)
|
||||
* [Linux](#linux)
|
||||
* [macos](#macos)
|
||||
* [Windows](#windows-1)
|
||||
* [Visual Studio native build](#visual-studio-native-build)
|
||||
* [Shell autocompletion scripts](#shell-autocompletion-scripts)
|
||||
* [Bash](#bash)
|
||||
* [Zsh](#zsh)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
### Distribution packages
|
||||
|
||||
#### Ubuntu
|
||||
|
||||
```bash
|
||||
# Currently supported Ubuntu versions are Focal, Jammy, Lunar and Mantic
|
||||
sudo add-apt-repository ppa:bkryza/clang-uml
|
||||
sudo apt update
|
||||
sudo apt install clang-uml
|
||||
```
|
||||
|
||||
#### Fedora
|
||||
|
||||
```bash
|
||||
# Fedora 37
|
||||
wget https://github.com/bkryza/clang-uml/releases/download/0.4.2/clang-uml-0.4.2-1.fc37.x86_64.rpm
|
||||
sudo dnf install ./clang-uml-0.4.2-1.fc37.x86_64.rpm
|
||||
|
||||
# Fedora 38
|
||||
wget https://github.com/bkryza/clang-uml/releases/download/0.4.2/clang-uml-0.4.2-1.fc38.x86_64.rpm
|
||||
sudo dnf install ./clang-uml-0.4.2-1.fc38.x86_64.rpm
|
||||
|
||||
# Fedora 39
|
||||
wget https://github.com/bkryza/clang-uml/releases/download/0.4.2/clang-uml-0.4.2-1.fc39.x86_64.rpm
|
||||
sudo dnf install ./clang-uml-0.4.2-1.fc39.x86_64.rpm
|
||||
```
|
||||
|
||||
#### Conda
|
||||
|
||||
```bash
|
||||
conda config --add channels conda-forge
|
||||
conda config --set channel_priority strict
|
||||
conda install -c bkryza/label/clang-uml clang-uml
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
Download and run the latest Windows installer from
|
||||
[Releases page](https://github.com/bkryza/clang-uml/releases).
|
||||
|
||||
### Building from source
|
||||
|
||||
#### Linux
|
||||
First make sure that you have the following dependencies installed:
|
||||
|
||||
```bash
|
||||
# Ubuntu (Clang version will vary depending on Ubuntu version - below example is for Ubuntu 22.04)
|
||||
apt install make gcc g++ ccache cmake libyaml-cpp-dev llvm-15 clang-15 libclang-15-dev libclang-cpp15-dev clang-format-15
|
||||
```
|
||||
|
||||
Then proceed with building the sources:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bkryza/clang-uml
|
||||
cd clang-uml
|
||||
# Please note that top level Makefile is just a convenience wrapper for CMake
|
||||
make release
|
||||
release/src/clang-uml --help
|
||||
|
||||
# To build using a specific installed version of LLVM use:
|
||||
LLVM_VERSION=16 make release
|
||||
# or specify path to a specific llvm-config binary, e.g.:
|
||||
LLVM_CONFIG_PATH=/usr/bin/llvm-config-16 make release
|
||||
# or directly specify the path where LLVMConfig.cmake can be found on your system, e.g.:
|
||||
CMAKE_PREFIX=/usr/lib/llvm-16/lib/cmake/llvm make release
|
||||
|
||||
|
||||
# Optionally, to install in default prefix
|
||||
make install
|
||||
# or to install in custom prefix
|
||||
make install DESTDIR=/opt/clang-uml
|
||||
# or simply
|
||||
export PATH=$PATH:$PWD/release
|
||||
```
|
||||
|
||||
#### macos
|
||||
|
||||
```bash
|
||||
brew install ccache cmake llvm yaml-cpp
|
||||
|
||||
export CC=/usr/local/opt/llvm/bin/clang
|
||||
export CXX=/usr/local/opt/llvm/bin/clang++
|
||||
LLVM_VERSION=16 make release
|
||||
# or, if this fails, try:
|
||||
CMAKE_PREFIX=/usr/local/opt/llvm/lib/cmake/llvm make release
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
##### Visual Studio native build
|
||||
|
||||
These steps present how to build and use `clang-uml` natively using Visual Studio only.
|
||||
|
||||
First, install the following dependencies manually:
|
||||
|
||||
* [Python 3](https://www.python.org/downloads/windows/)
|
||||
* [Git](https://git-scm.com/download/win)
|
||||
* [CMake](https://cmake.org/download/)
|
||||
* [Visual Studio](https://visualstudio.microsoft.com/vs/community/)
|
||||
|
||||
> All the following steps should be invoked in `Developer PowerShell for VS`.
|
||||
|
||||
Create installation directory for `clang-uml` and its dependencies:
|
||||
|
||||
```bash
|
||||
# This is where clang-uml binary and its dependencies will be installed after build
|
||||
# If you change this path, adapt all consecutive steps
|
||||
mkdir C:\clang-uml
|
||||
# This directory will be removed after build
|
||||
mkdir C:\clang-uml-tmp
|
||||
cd C:\clang-uml-tmp
|
||||
```
|
||||
|
||||
Build and install `yaml-cpp`:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/jbeder/yaml-cpp
|
||||
cd yaml-cpp
|
||||
git checkout yaml-cpp-0.7.0
|
||||
cd ..
|
||||
cmake -S .\yaml-cpp\ -B .\yaml-cpp-build\ -DCMAKE_INSTALL_PREFIX="C:\clang-uml" -Thost=x64
|
||||
cd yaml-cpp-build
|
||||
msbuild .\INSTALL.vcxproj -maxcpucount /p:Configuration=Release
|
||||
```
|
||||
|
||||
Build and install `LLVM`:
|
||||
|
||||
```bash
|
||||
pip install psutil
|
||||
# Update the LLVM branch if necessary
|
||||
git clone --branch llvmorg-15.0.6 --depth 1 https://github.com/llvm/llvm-project.git llvm
|
||||
cmake -S .\llvm\llvm -B llvm-build -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_INSTALL_PREFIX="C:\clang-uml" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64
|
||||
cd llvm-build
|
||||
msbuild .\INSTALL.vcxproj -maxcpucount /p:Configuration=Release
|
||||
```
|
||||
|
||||
Build and install `clang-uml`:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bkryza/clang-uml
|
||||
cmake -S .\clang-uml\ -B .\clang-uml-build\ -DCMAKE_INSTALL_PREFIX="C:\clang-uml" -DCMAKE_PREFIX_PATH="C:\clang-uml" -DBUILD_TESTS=OFF -Thost=x64
|
||||
cd clang-uml-build
|
||||
msbuild .\INSTALL.vcxproj -maxcpucount /p:Configuration=Release
|
||||
```
|
||||
|
||||
Check if `clang-uml` works:
|
||||
|
||||
```bash
|
||||
cd C:\clang-uml
|
||||
bin\clang-uml.exe --version
|
||||
```
|
||||
It should produce something like:
|
||||
```bash
|
||||
clang-uml 0.4.2
|
||||
Copyright (C) 2021-2023 Bartek Kryza <bkryza@gmail.com>
|
||||
Linux x86_64 6.2.0-36-generic
|
||||
Built against LLVM/Clang libraries version: 17.0.3
|
||||
Using LLVM/Clang libraries version: Ubuntu clang version 17.0.3 (++20231010073202+37b79e779f44-1~exp1~20231010073304.52)
|
||||
|
||||
```
|
||||
|
||||
Finally, remove the temporary build directory:
|
||||
|
||||
```bash
|
||||
rm -r C:\clang-uml-tmp
|
||||
```
|
||||
|
||||
### Shell autocompletion scripts
|
||||
For `Linux` and `macos`, Bash and Zsh autocomplete scripts are available, and
|
||||
if `clang-uml` is installed from a distribution package they should work
|
||||
out of the box. When installing `clang-uml` from sources the files need to be
|
||||
installed manually. The completion scripts are available in directory:
|
||||
* [`packaging/autocomplete`](./packaging/autocomplete)
|
||||
|
||||
#### Bash
|
||||
The `clang-uml` script can be either directly loaded to the
|
||||
current Bash session using:
|
||||
|
||||
```shell
|
||||
source clang-uml
|
||||
```
|
||||
|
||||
or the script can be copied to `/usr/share/bash-completion/completions/`
|
||||
or `/etc/bash_completion.d` on Linux or to `/usr/local/etc/bash_completion.d` on
|
||||
`macos` with `Homebrew`.
|
||||
|
||||
```shell
|
||||
sudo cp packaging/autocomplete/clang-uml /usr/share/bash-completion/completions/
|
||||
```
|
||||
|
||||
Make sure autocompletion is enabled in your `~/.bashrc` or `~/.bash_profile`:
|
||||
|
||||
```shell
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
```
|
||||
|
||||
On OSX you might need to install `bash-completion` using Homebrew:
|
||||
```shell
|
||||
brew install bash-completion
|
||||
```
|
||||
Make sure to the following lines are uncommented in the `~/.bashrc`:
|
||||
|
||||
```shell
|
||||
if [ -f $(brew --prefix)/etc/bash_completion ]; then
|
||||
. $(brew --prefix)/etc/bash_completion
|
||||
fi
|
||||
```
|
||||
|
||||
#### Zsh
|
||||
In Zsh, the `_clang-uml` Zsh completion file must be copied to one of the
|
||||
folders under `$FPATH` variable, and the Zsh terminal should be reopened.
|
||||
|
||||
For testing, `_clang-uml` completion function can be updated without
|
||||
restarting Zsh:
|
||||
|
||||
```shell
|
||||
# Copy _clang-uml somewhere under $FPATH
|
||||
$ unfunction _clang-uml
|
||||
$ autoload -U _clang-uml
|
||||
```
|
||||
|
||||
23
docs/interactive_svg_diagrams.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Interactive SVG diagrams
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
`clang-uml` in combination with PlantUML and MermaidJS link generation in
|
||||
diagrams allows to generate interactive diagrams, where clicking on any class,
|
||||
method or call expression can direct the user directly to the source code or
|
||||
some other diagram or document available online.
|
||||
|
||||
For instance to generate links to GitHub repository directly for most diagram
|
||||
elements simply add this to your `.clang-uml` file:
|
||||
|
||||
```yaml
|
||||
generate_links:
|
||||
link: 'https://github.com/myorg/myrepo/blob/{{ git.commit }}/{{ element.source.path }}#L{{ element.source.line }}'
|
||||
tooltip: '{% if "comment" in element %}{{ abbrv(trim(replace(element.comment, "\n+", " ")), 256) }}{% else %}{{ element.name }}{% endif %}'
|
||||
```
|
||||
|
||||
You can open example diagram [here](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t00014_class.svg) to see how it works in action.
|
||||
120
docs/jinja_templates.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# Template engine
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Accessing comment content](#accessing-comment-content)
|
||||
* ['plain' comment parser](#plain-comment-parser)
|
||||
* ['clang' comment parser](#clang-comment-parser)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
`clang-uml` integrates [inja](https://github.com/pantor/inja) template engine, with several
|
||||
additional functions which can be used in textual directives within the configuration files,
|
||||
notes and to generate links and tooltips in diagrams.
|
||||
|
||||
The following, are the `clang-uml` additional template functions:
|
||||
* `ltrim(string)` - left trims a string
|
||||
* `rtrim(string)` - right trims a string
|
||||
* `trim(string)` - trims a string
|
||||
* `substr(string, offset, length)` - returns a substring of a string from offset of length
|
||||
* `split(string)` - splits a string and returns a list of strings
|
||||
* `replace(string, regex, replacement)` - returns a string with replace matches to regex with replacement string
|
||||
* `abbrv(string, length)` - returns a string truncated to length including trailing ellipsis
|
||||
* `element(string)` - returns the entire JSON context a given diagram element, including the following properties:
|
||||
* `name` - name of the element
|
||||
* `type` - type of diagram element (e.g. `class`, `enum`, `package`)
|
||||
* `namespace` - fully qualified element namespace
|
||||
* `full_name` - fully qualified element name
|
||||
* `comment` [optional] - elements comment, if any
|
||||
* `alias` - internal diagram element alias (e.g. PlantUML alias)
|
||||
* `alias(string)` - returns a PlantUML alias of an C++ entity represented by string name
|
||||
* `comment(string)` - returns a comment of an C++ entity represented by string name
|
||||
|
||||
Templates allow complex postprocessing of the diagrams, for instance creation of customized PlantUML
|
||||
notes in the diagrams from comments in the code. Below is an example of using the above commands to
|
||||
generate notes in the PlantUML diagram from code comments (see also test case [t00050](./test_cases/t00050.md)):
|
||||
|
||||
```yaml
|
||||
plantuml:
|
||||
after:
|
||||
# Add a note left of the `A` class with the entire clas comment as content
|
||||
- >
|
||||
note left of {{ alias("A") }}
|
||||
{{ comment("clanguml::t00050::A").formatted }}
|
||||
end note
|
||||
# Same as above
|
||||
- >
|
||||
note right of {{ element("clanguml::t00050::A").alias }}
|
||||
{% set e=element("clanguml::t00050::A") %} {{ e.comment.formatted }}
|
||||
end note
|
||||
# Add a note left of class 'C' using trimmed text content from the class comment
|
||||
- >
|
||||
note left of {{ alias("C") }} #AABBCC
|
||||
{{ trim(comment("clanguml::t00050::C").text) }}
|
||||
end note
|
||||
# For each element in the diagram (class, template, enum):
|
||||
# - Add a note with \brief comment if exists
|
||||
# - Add a note with \todo for each element which has it
|
||||
# - Add a note with template parameter descriptions based on \tparam comment
|
||||
- >
|
||||
{# Render brief comments and todos, if any were written for an element #}
|
||||
{% for e in diagram.elements %}
|
||||
{% if existsIn(e, "comment") and existsIn(e.comment, "brief") %}
|
||||
|
||||
note top of {{ e.alias }} {% if e.type == "class" %} #22AA22 {% else %} #2222AA {% endif %}
|
||||
{% set c=e.comment %} {{ c.brief.0 }}
|
||||
end note
|
||||
|
||||
{% endif %}
|
||||
{% if existsIn(e, "comment") and existsIn(e.comment, "todo") %}
|
||||
{% set c=e.comment %}
|
||||
{% for t in c.todo %}
|
||||
note top of {{ e.alias }} #882222
|
||||
**TODO**
|
||||
{{ t }}
|
||||
end note
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{# Render template paramete if any #}
|
||||
{% if existsIn(e, "comment") and existsIn(e.comment, "tparam") %}
|
||||
{% set c=e.comment %}
|
||||
|
||||
note top of {{ e.alias }} #AAAAFF
|
||||
**Template parameters**
|
||||
{% for tp in c.tparam %}
|
||||
//{{ tp.name }}// {{ trim(tp.description) }}
|
||||
{% endfor %}
|
||||
end note
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
```
|
||||
|
||||
### Accessing comment content
|
||||
Text available in the code comment blocks can be accessed in the templates depending on the selected comment
|
||||
parser.
|
||||
|
||||
Currently there are 2 available comment parsers:
|
||||
* `plain` - default
|
||||
* `clang` - Clang's comment parser
|
||||
|
||||
They can be selected using `comment_parser` config option.
|
||||
|
||||
#### 'plain' comment parser
|
||||
This parser provides only 2 options to the Jinja context:
|
||||
* `comment.raw` - raw comment text, including comment markers such as `///` or `/**`
|
||||
* `comment.formatted` - formatted entire comment
|
||||
|
||||
#### 'clang' comment parser
|
||||
This parser uses Clang comment parsing API to extract commands from the command:
|
||||
* `comment.raw` - raw comment text, including comment markers such as `///` or `/**`
|
||||
* `comment.formatted` - formatted entire comment
|
||||
* `comment.<command>.<N>` - where command is the command used in the command e.g. `brief`, `todo`, etc.
|
||||
and `N` is the index of the command in the array (each comment can have multiple instances of the
|
||||
same command such as `\todo`)
|
||||
* `comment.text` - entire text of the comment that is not attached to any command
|
||||
* `comment.paragraph.<N>` - array of plain text paragraphs, for instance if you don't use `\brief`
|
||||
commands but often provide brief description as first sentence of the comment separated with a new line
|
||||
from the rest of the comment
|
||||
15
docs/license.md
Normal file
@@ -0,0 +1,15 @@
|
||||
## LICENSE
|
||||
|
||||
Copyright 2021-present Bartek Kryza <bkryza@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
164
docs/package_diagrams.md
Normal file
@@ -0,0 +1,164 @@
|
||||
# Generating package diagrams
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
Package diagrams are simple diagrams, which can be useful to visualize a high
|
||||
level structure of a C++ project, by rendering project's namespaces or
|
||||
subdirectories as UML packages and their interdependencies.
|
||||
|
||||
The minimal config required to generate a package diagram is presented below:
|
||||
```yaml
|
||||
diagrams:
|
||||
# Diagram name
|
||||
my_class_diagram:
|
||||
# Type of diagram (has to be `package`)
|
||||
type: package
|
||||
# Include only translation units matching the following patterns
|
||||
glob:
|
||||
- src/*.cc
|
||||
# Include only classes and functions from files in `src` directory
|
||||
include:
|
||||
namespaces:
|
||||
- ns1::ns2
|
||||
```
|
||||
|
||||
For instance the following C++ code:
|
||||
```cpp
|
||||
namespace A::AA {
|
||||
namespace A1 {
|
||||
struct CA {
|
||||
};
|
||||
}
|
||||
namespace A2 {
|
||||
struct CB {
|
||||
};
|
||||
}
|
||||
namespace A3 {
|
||||
struct CC {
|
||||
};
|
||||
}
|
||||
namespace A4 {
|
||||
struct CD {
|
||||
};
|
||||
}
|
||||
namespace A5 {
|
||||
struct CE {
|
||||
};
|
||||
}
|
||||
namespace A6 {
|
||||
struct CF {
|
||||
};
|
||||
}
|
||||
namespace A7 {
|
||||
struct CG {
|
||||
};
|
||||
}
|
||||
namespace A8 {
|
||||
struct CH {
|
||||
};
|
||||
}
|
||||
namespace A9 {
|
||||
struct CI {
|
||||
};
|
||||
}
|
||||
namespace A10 {
|
||||
struct CJ {
|
||||
};
|
||||
}
|
||||
namespace A11 {
|
||||
struct CK {
|
||||
};
|
||||
}
|
||||
namespace A12 {
|
||||
struct CL {
|
||||
};
|
||||
}
|
||||
namespace A13 {
|
||||
struct CM {
|
||||
};
|
||||
}
|
||||
namespace A14 {
|
||||
struct CN {
|
||||
};
|
||||
}
|
||||
namespace A15 {
|
||||
struct CO {
|
||||
};
|
||||
}
|
||||
namespace A16 {
|
||||
struct CP {
|
||||
};
|
||||
}
|
||||
namespace A17 {
|
||||
struct CR {
|
||||
};
|
||||
}
|
||||
}
|
||||
namespace B::BB::BBB {
|
||||
class CBA : public A::AA::A6::CF {
|
||||
public:
|
||||
A::AA::A1::CA *ca_;
|
||||
A::AA::A2::CB cb_;
|
||||
std::shared_ptr<A::AA::A3::CC> cc_;
|
||||
std::map<std::string, std::unique_ptr<A::AA::A4::CD>> *cd_;
|
||||
std::array<A::AA::A15::CO, 5> co_;
|
||||
static A::AA::A16::CP *cp_;
|
||||
|
||||
CBA() = default;
|
||||
|
||||
CBA(A::AA::A14::CN *cn) { }
|
||||
|
||||
friend A::AA::A17::CR;
|
||||
|
||||
template <typename... Item> CBA(std::tuple<Item...> &items) { }
|
||||
|
||||
void ce(const std::vector<A::AA::A5::CE> /*ce_*/) { }
|
||||
|
||||
std::shared_ptr<A::AA::A7::CG> cg() { return {}; }
|
||||
|
||||
template <typename T>
|
||||
void ch(std::map<T, std::shared_ptr<A::AA::A8::CH>> &ch_)
|
||||
{
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
std::map<T, std::shared_ptr<A::AA::A9::CI>> ci(T * /*t*/)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
void cj(std::unique_ptr<A::AA::A10::CJ> /*cj_*/) { }
|
||||
|
||||
std::unique_ptr<A::AA::A11::CK> ck() { return {}; }
|
||||
|
||||
template <typename T>
|
||||
void cl(std::map<T, std::shared_ptr<A::AA::A12::CL>> & /*ch_*/)
|
||||
{
|
||||
}
|
||||
|
||||
template <typename T> std::map<T, std::shared_ptr<A::AA::A13::CM>> cm()
|
||||
{
|
||||
return {};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
results the following diagram:
|
||||
|
||||

|
||||
|
||||
By default, packages are generated from C++ namespaces in the code. However,
|
||||
they can also be generated from the subdirectories in the filesystem tree by
|
||||
adding the following option to the configuration file:
|
||||
|
||||
```yaml
|
||||
package_type: directory
|
||||
```
|
||||
|
||||
for example checkout this diagram
|
||||

|
||||
75
docs/quick_start.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Quick start
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
To add an initial class diagram to your project, follow these steps:
|
||||
|
||||
1. Enter your project's top level directory and run:
|
||||
```bash
|
||||
clang-uml --init
|
||||
```
|
||||
2. Edit the generated `.clang-uml` file and set the following:
|
||||
```yaml
|
||||
# Path to `compile_commands.json` directory
|
||||
compilation_database_dir: .
|
||||
# Path to diagram output directory
|
||||
output_directory: diagrams
|
||||
diagrams:
|
||||
# This is the name of the diagram
|
||||
some_class_diagram:
|
||||
type: class
|
||||
# Parse only translation units in `src` subdirectory
|
||||
glob:
|
||||
- src/*.cc
|
||||
# Render all names relative to `myproject` namespace
|
||||
using_namespace: myproject
|
||||
include:
|
||||
# Include only elements in `myproject` namespace
|
||||
namespaces:
|
||||
- myproject
|
||||
exclude:
|
||||
# Exclude elements in `myproject::detail` namespace
|
||||
namespaces:
|
||||
- myproject::detail
|
||||
```
|
||||
3. Run `clang-uml` in the project's top directory:
|
||||
```bash
|
||||
clang-uml
|
||||
# or to see generation progress for each diagram
|
||||
clang-uml --progress
|
||||
```
|
||||
4. Generate SVG images from the PlantUML diagrams:
|
||||
```bash
|
||||
plantuml -tsvg diagrams/*.puml
|
||||
```
|
||||
or generate also MermaidJS diagram (requires [mermaid-cli](https://github.com/mermaid-js/mermaid-cli)):
|
||||
```
|
||||
clang-uml --progress -n some_class_diagram -g mermaid
|
||||
mmdc -i diagrams/some_class_diagram.mmd -o diagrams/some_class_diagram.svg
|
||||
```
|
||||
|
||||
Steps 3 and 4 can be combined into one step like follows:
|
||||
```
|
||||
clang-uml -p -n some_class_diagram -g plantuml -r --plantuml-cmd="plantuml -tsvg diagrams/{}.puml"
|
||||
```
|
||||
where `-r` enables diagram rendering and `--plantuml-cmd` specifies command
|
||||
to execute on each generated diagram.
|
||||
5. Add another diagram:
|
||||
```bash
|
||||
clang-uml --add-sequence-diagram another_diagram
|
||||
```
|
||||
6. Now list the diagrams defined in the config file:
|
||||
```bash
|
||||
clang-uml -l
|
||||
The following diagrams are defined in the config file:
|
||||
- another_diagram [sequence]
|
||||
- some_class_diagram [class]
|
||||
```
|
||||
7. Generate only the new diagram in JSON format:
|
||||
```bash
|
||||
clang-uml -n another_diagram -g json
|
||||
```
|
||||
376
docs/sequence_diagrams.md
Normal file
@@ -0,0 +1,376 @@
|
||||
# Generating sequence diagrams
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
* [Sequence diagram overview](#sequence-diagram-overview)
|
||||
* [Specifying diagram location constraints](#specifying-diagram-location-constraints)
|
||||
* [Grouping free functions by file](#grouping-free-functions-by-file)
|
||||
* [Lambda expressions in sequence diagrams](#lambda-expressions-in-sequence-diagrams)
|
||||
* [Customizing participants order](#customizing-participants-order)
|
||||
* [Generating return types](#generating-return-types)
|
||||
* [Generating condition statements](#generating-condition-statements)
|
||||
* [Injecting call expressions manually through comments](#injecting-call-expressions-manually-through-comments)
|
||||
* [Including comments in sequence diagrams](#including-comments-in-sequence-diagrams)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
The minimal config required to generate a sequence diagram is presented below:
|
||||
```yaml
|
||||
# Path to the directory where `compile_commands.json` can be found
|
||||
compilation_database_dir: _build
|
||||
# Output directory for the diagrams
|
||||
output_directory: diagrams
|
||||
# Diagrams definitions
|
||||
diagrams:
|
||||
# Diagram name
|
||||
my_class_diagram:
|
||||
# Type of diagram (has to be `sequence`)
|
||||
type: sequence
|
||||
# Include only translation units matching the following patterns
|
||||
glob:
|
||||
- src/*.cc
|
||||
# Include only classes and functions from files in `src` directory
|
||||
include:
|
||||
paths:
|
||||
- src
|
||||
# Exclude calls to/from `std` namespace
|
||||
exclude:
|
||||
namespaces:
|
||||
- std
|
||||
start_from:
|
||||
- function: "main(int,const char**)"
|
||||
```
|
||||
|
||||
## Sequence diagram overview
|
||||
|
||||
Consider the following diagram:
|
||||
|
||||

|
||||
|
||||
`clang-uml` generated sequence diagrams are not strictly speaking conforming to
|
||||
the UML specification. In order to make them more useful for documenting modern
|
||||
C++ code, the following assumptions were made:
|
||||
* Free functions are included in the sequence diagrams as standalone
|
||||
participants (in fact `clang-uml` can be used to generate sequence diagrams
|
||||
from plain old C code). Functions can also be aggregated into file
|
||||
participants, based on their place of declaration
|
||||
* Call expressions in conditional expressions in block statements (e.g. `if`
|
||||
or `while`) are rendered inside the PlantUML or MermaidJS `alt` or `loop`
|
||||
blocks but wrapped in `[`, `]` brackets
|
||||
* Lambda expressions are generated as standalone participants, whose name
|
||||
comprises the parent context where they are defined and the exact source code
|
||||
location
|
||||
|
||||
## Specifying diagram location constraints
|
||||
Sequence diagrams require specification of location constraints in order to
|
||||
determine, which call chains should be included in the diagram. Currently,
|
||||
there are 3 types of constraints:
|
||||
* `from` - will include all message call chains, which start at the
|
||||
locations specified in this constraint (this was previously named
|
||||
`start_from`)
|
||||
* `to` - will include all message call chains, which end at the specified
|
||||
locations
|
||||
* `from_to` - will include all call chains, which start and end at the specified
|
||||
locations
|
||||
|
||||
Currently, the constraints can be a method or a free function, both specified
|
||||
using the full signature of the function, e.g.
|
||||
|
||||
```yaml
|
||||
from:
|
||||
- function: "main(int,const char**)"
|
||||
```
|
||||
or
|
||||
```yaml
|
||||
to:
|
||||
- function: "clanguml::sequence_diagram::visitor::translation_unit_visitor::VisitCXXRecordDecl(clang::CXXRecordDecl *)"
|
||||
```
|
||||
|
||||
The locations must be fully qualified, and they must match exactly the string
|
||||
representation of a given function or method in the `clang-uml` model.
|
||||
|
||||
In case of the `from_to` constraint, it is necessary to provide both `from`
|
||||
and `to` locations as follows:
|
||||
```yaml
|
||||
from_to:
|
||||
- [function: "clanguml::t20034::D::d2()",
|
||||
function: "clanguml::t20034::A::a2()"]
|
||||
```
|
||||
|
||||
To find the exact function signature which, can be used as a `from` location,
|
||||
run `clang-uml` as follows:
|
||||
|
||||
```bash
|
||||
clang-uml --print-from -n main_sequence | grep main
|
||||
```
|
||||
|
||||
or to get all possible `to` locations, run:
|
||||
|
||||
```bash
|
||||
clang-uml --print-to -n main_sequence | grep main
|
||||
```
|
||||
|
||||
Command line flags `--print-from` and `--print-to` will print on stdout all
|
||||
functions and methods available in the diagram model, and each line of this
|
||||
output can be directly used as a value of `start_from`, `from_to` or `to`
|
||||
properties in the config file.
|
||||
|
||||
Since that list can be quite large, it's best to filter the output to limit
|
||||
the number of lines to a subset of possible candidates.
|
||||
|
||||
## Grouping free functions by file
|
||||
By default, `clang-uml` will generate a new participant for each call to a free
|
||||
function (not method), which can lead to a very large number of participants in
|
||||
the diagram. If it's an issue, an option can be provided in the diagram
|
||||
definition:
|
||||
|
||||
```yaml
|
||||
combine_free_functions_into_file_participants: true
|
||||
```
|
||||
|
||||
which will aggregate free functions per source file where they were declared
|
||||
thus minimizing the diagram size. An example of such diagram is presented below:
|
||||
|
||||

|
||||
|
||||
## Lambda expressions in sequence diagrams
|
||||
Lambda expressions in sequence diagrams are... tricky. There is currently
|
||||
tentative support, which follows the following rules:
|
||||
* If lambda expression is called within the scope of the diagram, the calls
|
||||
from the lambda will be placed at the lambda invocation and not declaration
|
||||
* If lambda expression is passed to some function or method, which is outside
|
||||
the scope of the diagram (e.g. used in `std::transform` call) the call will
|
||||
not be generated
|
||||
* If the lambda is passed as template parameter in instantiation it will not
|
||||
be generated
|
||||
|
||||
Another issue is the naming of lambda participants. Currently, each lambda is
|
||||
rendered in the diagram as a separate class whose name is composed of the lambda
|
||||
location in the code (the only unique way of identifying lambdas I was able
|
||||
to find). For example the following code:
|
||||
|
||||
```cpp
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
namespace clanguml {
|
||||
namespace t20012 {
|
||||
struct A {
|
||||
void a() { aa(); }
|
||||
|
||||
void aa() { aaa(); }
|
||||
|
||||
void aaa() { }
|
||||
};
|
||||
|
||||
struct B {
|
||||
void b() { bb(); }
|
||||
|
||||
void bb() { bbb(); }
|
||||
|
||||
void bbb() { }
|
||||
|
||||
void eb() { }
|
||||
};
|
||||
|
||||
struct C {
|
||||
void c() { cc(); }
|
||||
|
||||
void cc() { ccc(); }
|
||||
|
||||
void ccc() { }
|
||||
};
|
||||
|
||||
struct D {
|
||||
int add5(int arg) const { return arg + 5; }
|
||||
};
|
||||
|
||||
class E {
|
||||
std::optional<std::shared_ptr<B>> maybe_b;
|
||||
std::shared_ptr<A> a;
|
||||
|
||||
public:
|
||||
template <typename F> void setup(F &&f) { f(maybe_b); }
|
||||
};
|
||||
|
||||
template <typename F> struct R {
|
||||
R(F &&f)
|
||||
: f_{std::move(f)}
|
||||
{
|
||||
}
|
||||
|
||||
void r() { f_(); }
|
||||
|
||||
F f_;
|
||||
};
|
||||
|
||||
void tmain()
|
||||
{
|
||||
A a;
|
||||
B b;
|
||||
C c;
|
||||
|
||||
// The activity shouldn't be marked at the lambda definition, but
|
||||
// wherever it is actually called...
|
||||
auto alambda = [&a, &b]() {
|
||||
a.a();
|
||||
b.b();
|
||||
};
|
||||
|
||||
// ...like here
|
||||
alambda();
|
||||
|
||||
// There should be no call to B in the sequence diagram as the blambda
|
||||
// is never called
|
||||
[[maybe_unused]] auto blambda = [&b]() { b.b(); };
|
||||
|
||||
// Nested lambdas should also work
|
||||
auto clambda = [alambda, &c]() {
|
||||
c.c();
|
||||
alambda();
|
||||
};
|
||||
clambda();
|
||||
|
||||
R r{[&c]() { c.c(); }};
|
||||
|
||||
r.r();
|
||||
|
||||
D d;
|
||||
|
||||
std::vector<int> ints{0, 1, 2, 3, 4};
|
||||
std::transform(ints.begin(), ints.end(), ints.begin(),
|
||||
[&d](auto i) { return d.add5(i); });
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
results in the following diagram:
|
||||
|
||||

|
||||
|
||||
## Customizing participants order
|
||||
The default participant order in the sequence diagram can be suboptimal in the
|
||||
sense that consecutive calls can go right, then left, then right again
|
||||
depending on the specific call chain in the code. It is however possible to
|
||||
override this order in the diagram definition using `participants_order`
|
||||
property, for instance like this test case:
|
||||
|
||||
```yaml
|
||||
diagrams:
|
||||
t20029_sequence:
|
||||
type: sequence
|
||||
glob:
|
||||
- t20029.cc
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t20029
|
||||
exclude:
|
||||
access:
|
||||
- private
|
||||
using_namespace: clanguml::t20029
|
||||
start_from:
|
||||
- function: clanguml::t20029::tmain()
|
||||
participants_order:
|
||||
- "clanguml::t20029::tmain()"
|
||||
- "clanguml::t20029::Encoder<clanguml::t20029::Retrier<clanguml::t20029::ConnectionPool>>"
|
||||
- "clanguml::t20029::Retrier<clanguml::t20029::ConnectionPool>"
|
||||
- "clanguml::t20029::ConnectionPool"
|
||||
- "clanguml::t20029::encode_b64(std::string &&)"
|
||||
```
|
||||
|
||||
## Generating return types
|
||||
By default, return messages do not contain the return type information from
|
||||
the function or method. Instead, if the result is void there is no return
|
||||
arrow from the activity representing the function body.
|
||||
|
||||
It is however possible to enable rendering of return types, by adding the
|
||||
following configuration option:
|
||||
|
||||
```yaml
|
||||
generate_return_types: true
|
||||
```
|
||||
|
||||
This option only affects the `plantuml` and `mermaid` generators, in `json`
|
||||
generator `return_type` property is always present in the message nodes.
|
||||
|
||||
The diagram below presents what it looks like in a PlantUML generated diagram:
|
||||

|
||||
|
||||
## Generating condition statements
|
||||
Sometimes, it is useful to include actual condition statements (for instance
|
||||
contents of the `if()` condition in the `alt` or `loop` blocks in the sequence
|
||||
diagrams, to make them more readable.
|
||||
|
||||
This can be enabled using the following option:
|
||||
|
||||
```yaml
|
||||
generate_condition_statements: true
|
||||
```
|
||||
|
||||
An example of a diagram with this feature enabled is presented below:
|
||||

|
||||
|
||||
## Injecting call expressions manually through comments
|
||||
In some cases, `clang-uml` is not yet able to discover a call expression target
|
||||
in some line of code. This can include passing function or method address to
|
||||
some executor (e.g. thread), async calls etc.
|
||||
|
||||
However, a call expression can be injected manually through a comment
|
||||
directive
|
||||
```cpp
|
||||
// \uml{note CALLEE}
|
||||
```
|
||||
|
||||
It should be placed in the comment just before such line of code, for example:
|
||||
|
||||
```cpp
|
||||
// \uml{call clanguml::t20038::B::bbb()}
|
||||
auto bbb_future = std::async(std::launch::deferred, &B::bbb, b);
|
||||
```
|
||||
|
||||
also see the [t20038](test_cases/t20038.md) test case.
|
||||
|
||||
Please note that the callee must have fully qualified name including complete
|
||||
namespace.
|
||||
|
||||
In order to enable this, the `.clang-uml` must contain the following option:
|
||||
|
||||
```yaml
|
||||
add_compile_flags:
|
||||
- -fparse-all-comments
|
||||
```
|
||||
|
||||
otherwise Clang will skip these comments during AST traversal.
|
||||
|
||||
## Including comments in sequence diagrams
|
||||
`clang-uml` can add code comments placed directly before or next to a call
|
||||
expression as notes in the diagram (see for instance
|
||||
[t20038](test_cases/t20038_sequence.svg)).
|
||||
|
||||
This however is not enabled by default. In order to enable this feature it is
|
||||
necessary to first of all force Clang to parse all comments in the source
|
||||
code by adding the following compile flag at the top of `.clang-uml`:
|
||||
|
||||
```yaml
|
||||
add_compile_flags:
|
||||
- -fparse-all-comments
|
||||
```
|
||||
|
||||
or adding it to the `compile_commands.json` database somehow directly.
|
||||
|
||||
Another option needed to generate these comments in the diagram is to set
|
||||
|
||||
```yaml
|
||||
generate_message_comments: true
|
||||
```
|
||||
|
||||
for each sequence diagram, which should include these comments.
|
||||
|
||||
In case only selected messages should have some specific comments, instead
|
||||
of enabling the `generate_message_comments` option, it is possible to use
|
||||
`\uml{note TEXT}` directive in the comment above the expression, see
|
||||
[t20001](test_cases/t20001_sequence.svg).
|
||||
@@ -1,7 +1,13 @@
|
||||
# Test cases index
|
||||
* [Class diagrams](#class-diagrams)
|
||||
* [Sequence diagrams](#sequence-diagrams)
|
||||
* [Package diagrams](#package-diagrams)
|
||||
* [Include diagrams](#include-diagrams)
|
||||
* [Configuration diagrams](#configuration-diagrams)
|
||||
|
||||
## Class diagrams
|
||||
* [t00002](./test_cases/t00002.md) - Basic class inheritance
|
||||
* [t00003](./test_cases/t00003.md) - Class field and methods
|
||||
* [t00003](./test_cases/t00003.md) - Class fields and methods
|
||||
* [t00004](./test_cases/t00004.md) - Nested classes and enums
|
||||
* [t00005](./test_cases/t00005.md) - Basic class field relationships
|
||||
* [t00006](./test_cases/t00006.md) - Class field relationships inferred from templates
|
||||
@@ -47,9 +53,68 @@
|
||||
* [t00046](./test_cases/t00046.md) - Test case for root namespace handling with packages
|
||||
* [t00047](./test_cases/t00047.md) - Test case for recursive variadic template
|
||||
* [t00048](./test_cases/t00048.md) - Test case for unique entity id with multiple translation units
|
||||
* [t00049](./test_cases/t00049.md) - Test case configurable type aliases
|
||||
* [t00050](./test_cases/t00050.md) - Test case for generating notes from comments using jinja templates
|
||||
* [t00051](./test_cases/t00051.md) - Test case for relative paths in lambda names
|
||||
* [t00052](./test_cases/t00052.md) - Test case for template methods rendering
|
||||
* [t00053](./test_cases/t00053.md) - Test case for `together` layout hint in class diagram
|
||||
* [t00054](./test_cases/t00054.md) - Test case for `together` layout hint in class diagram with rendered namespaces
|
||||
* [t00055](./test_cases/t00055.md) - Test case for `row` and `column` layout hints
|
||||
* [t00056](./test_cases/t00056.md) - Basic C++20 concepts test case
|
||||
* [t00057](./test_cases/t00057.md) - Test case C99/C11 translation units with structs and unions
|
||||
* [t00058](./test_cases/t00058.md) - Test case for concepts with variadic parameters and type aliases
|
||||
* [t00059](./test_cases/t00059.md) - Non-virtual abstract factory pattern using concepts test case
|
||||
* [t00060](./test_cases/t00060.md) - Parents (base classes) diagram filter test case
|
||||
* [t00061](./test_cases/t00061.md) - Paths diagram filter test case
|
||||
* [t00062](./test_cases/t00062.md) - Template specialization matching based on deduced context
|
||||
* [t00063](./test_cases/t00063.md) - Element types diagram filter test case
|
||||
* [t00064](./test_cases/t00064.md) - Template type list test case
|
||||
* [t00065](./test_cases/t00065.md) - Class diagram with packages from directory structure
|
||||
* [t00066](./test_cases/t00066.md) - Class fields and methods without grouping and sorting
|
||||
* [t00067](./test_cases/t00067.md) - Class method type filter test case
|
||||
* [t00068](./test_cases/t00068.md) - Context filter radius parameter test case
|
||||
* [t00069](./test_cases/t00069.md) - Coroutine methods in class diagrams
|
||||
* [t00070](./test_cases/t00070.md) - Diagram filter based on C++20 modules
|
||||
* [t00071](./test_cases/t00071.md) - Class diagram with C++20 modules generated as packages
|
||||
## Sequence diagrams
|
||||
* [t20001](./test_cases/t20001.md) - Basic sequence diagram test case
|
||||
* [t20002](./test_cases/t20002.md) - Free function sequence diagram test case
|
||||
* [t20003](./test_cases/t20003.md) - Function template sequence diagram test case
|
||||
* [t20004](./test_cases/t20004.md) - Function template instantiation sequence diagram test case
|
||||
* [t20005](./test_cases/t20005.md) - Class template basic sequence diagram
|
||||
* [t20006](./test_cases/t20006.md) - Class template specialization basic sequence diagram
|
||||
* [t20007](./test_cases/t20007.md) - Class template variadic argument list sequence diagram
|
||||
* [t20008](./test_cases/t20008.md) - Constexpr if sequence diagram test case
|
||||
* [t20009](./test_cases/t20009.md) - Smart pointer dereference call expression test case
|
||||
* [t20010](./test_cases/t20010.md) - Container sequence diagram test case
|
||||
* [t20011](./test_cases/t20011.md) - Recursive calls sequence diagram test case
|
||||
* [t20012](./test_cases/t20012.md) - Lambda expression call sequence diagram test case
|
||||
* [t20013](./test_cases/t20013.md) - Function and method arguments in sequence diagrams test case
|
||||
* [t20014](./test_cases/t20014.md) - Multiple translation units sequence diagram test case
|
||||
* [t20015](./test_cases/t20015.md) - Class exclusion by namespace in sequence diagram test case
|
||||
* [t20016](./test_cases/t20016.md) - Template method specialization sequence diagram test case
|
||||
* [t20017](./test_cases/t20017.md) - Test case for combine_free_functions_into_file_participants option
|
||||
* [t20018](./test_cases/t20018.md) - Recursive template sequence diagram test case
|
||||
* [t20019](./test_cases/t20019.md) - Curiously Recurring Template Pattern sequence diagram test case
|
||||
* [t20020](./test_cases/t20020.md) - If statement sequence diagram test case
|
||||
* [t20021](./test_cases/t20021.md) - Loop statements sequence diagram test case
|
||||
* [t20022](./test_cases/t20022.md) - Forward class declaration sequence diagram test case
|
||||
* [t20023](./test_cases/t20023.md) - Try/catch statement sequence diagram test case
|
||||
* [t20024](./test_cases/t20024.md) - Switch statement sequence diagram test case
|
||||
* [t20025](./test_cases/t20025.md) - Skip decorator sequence diagram test case
|
||||
* [t20026](./test_cases/t20026.md) - Virtual method call sequence diagram test case
|
||||
* [t20027](./test_cases/t20027.md) - Filter call expressions based on access test case
|
||||
* [t20028](./test_cases/t20028.md) - Conditional (ternary) '?:' operator test case
|
||||
* [t20029](./test_cases/t20029.md) - Combined feature sequence diagram test case
|
||||
* [t20030](./test_cases/t20030.md) - Constructor and operator call test case
|
||||
* [t20031](./test_cases/t20031.md) - Callee type sequence diagram filter test case
|
||||
* [t20032](./test_cases/t20032.md) - Return type generation option sequence diagram test case
|
||||
* [t20033](./test_cases/t20033.md) - Control statement text in sequence diagram test case
|
||||
* [t20034](./test_cases/t20034.md) - Test case for rendering all call chains from one activity to another (from_to)
|
||||
* [t20035](./test_cases/t20035.md) - from_to sequence diagram test case with free functions
|
||||
* [t20036](./test_cases/t20036.md) - Test case for rendering all call chains leading to an activity (to)
|
||||
* [t20037](./test_cases/t20037.md) - Test case checking if activities in static variable declarations appear only once
|
||||
* [t20038](./test_cases/t20038.md) - Sequence diagram comment decorator test case
|
||||
## Package diagrams
|
||||
* [t30001](./test_cases/t30001.md) - Basic package diagram test case
|
||||
* [t30002](./test_cases/t30002.md) - Package dependency test case
|
||||
@@ -59,6 +124,11 @@
|
||||
* [t30006](./test_cases/t30006.md) - Package split namespace test case
|
||||
* [t30007](./test_cases/t30007.md) - Package diagram layout hints test case
|
||||
* [t30008](./test_cases/t30008.md) - Dependants and dependencies package diagram filter test
|
||||
* [t30009](./test_cases/t30009.md) - Together layout hint test
|
||||
* [t30010](./test_cases/t30010.md) - Package diagram with packages from directory structure
|
||||
* [t30011](./test_cases/t30011.md) - Package diagram with packages from directory structure for plain C
|
||||
* [t30012](./test_cases/t30012.md) - C++20 modules package diagram test
|
||||
* [t30013](./test_cases/t30013.md) - C++20 modules package dependencies diagram test
|
||||
## Include diagrams
|
||||
* [t40001](./test_cases/t40001.md) - Basic include graph diagram test case
|
||||
* [t40002](./test_cases/t40002.md) - Cyclic include graph diagram test case
|
||||
|
||||
@@ -1,114 +1,183 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="362px" preserveAspectRatio="none" style="width:562px;height:362px;" version="1.1" viewBox="0 0 562 362" width="562px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="422px" preserveAspectRatio="none" style="width:567px;height:422px;background:#FFFFFF;" version="1.1" viewBox="0 0 567 422" width="567px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f1e4izffzgdypx" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L7" target="_top" title="This is class A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L7" xlink:show="new" xlink:title="This is class A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1e4izffzgdypx)" height="73.6094" id="C_0000987634239855407298" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="294" y="8"/>
|
||||
<ellipse cx="348.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M348.3594,19.3438 L347.2031,24.4219 L349.5313,24.4219 L348.3594,19.3438 Z M346.875,17.1094 L349.8594,17.1094 L353.2188,29.5 L350.7656,29.5 L350,26.4375 L346.7188,26.4375 L345.9688,29.5 L343.5313,29.5 L346.875,17.1094 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="368.75" y="28.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="295" x2="418" y1="40" y2="40"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="295" x2="418" y1="48" y2="48"/>
|
||||
<ellipse cx="305" cy="59" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="99" x="314" y="62.2104">foo_a() = 0 : void</text>
|
||||
<ellipse cx="305" cy="71.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="98" x="314" y="75.0151">foo_c() = 0 : void</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="198" x="177.75" y="23.0059">Basic class diagram example</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L7" target="_top" title="This is class A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L7" xlink:show="new" xlink:title="This is class A" xlink:type="simple">
|
||||
<g id="elem_C_0000987634239855407298">
|
||||
<rect codeLine="3" fill="#F1F1F1" height="85.7998" id="C_0000987634239855407298" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="134" x="292" y="44.7999"/>
|
||||
<ellipse cx="350.25" cy="60.7999" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M351.7813,62.7374 L352.1094,63.5343 L351.8281,63.5343 C351.375,63.5343 351.25,63.5656 351.0781,63.6749 C350.7969,63.8156 350.625,64.1124 350.625,64.4093 C350.625,64.7062 350.7656,64.9562 351,65.1281 C351.1719,65.2531 351.4063,65.2999 351.8281,65.2999 L354.1875,65.2999 C354.5469,65.2999 354.7969,65.2687 354.9375,65.1749 C355.2031,65.0343 355.375,64.7218 355.375,64.4093 C355.375,64.1437 355.2344,63.8781 355,63.7062 C354.8125,63.5812 354.6563,63.5499 354.2031,63.5343 L350.8125,55.7062 L347.0938,55.7062 C346.6406,55.7062 346.5,55.7218 346.3281,55.8312 C346.0625,56.0031 345.8906,56.2843 345.8906,56.5812 C345.8906,56.8624 346.0313,57.1281 346.2813,57.2999 C346.4531,57.4249 346.6406,57.4562 347.0938,57.4562 L348.0625,57.4562 L345.4844,63.5343 C344.7344,63.5343 344.3281,63.8312 344.3281,64.4093 C344.3281,65.0187 344.7188,65.2999 345.5156,65.2999 L347.7813,65.2999 C348.1406,65.2999 348.3906,65.2687 348.5313,65.1749 C348.7969,65.0187 348.9688,64.7218 348.9688,64.4093 C348.9688,64.1437 348.8281,63.8781 348.5938,63.7062 C348.4063,63.5656 348.25,63.5343 347.7813,63.5343 L347.4844,63.5343 L347.8281,62.7374 L351.7813,62.7374 Z M351.0156,60.9874 L348.5625,60.9874 L349.7969,58.1124 L351.0156,60.9874 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="9" x="370.75" y="66.7499">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="293" x2="425" y1="76.7999" y2="76.7999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L10" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L10" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="298" y="86.7499"/>
|
||||
<ellipse cx="303" cy="91.7499" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L10" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L10" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="108" x="312" y="96.1999">foo_a() = 0 : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L12" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L12" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="298" y="105.6498"/>
|
||||
<ellipse cx="303" cy="110.6498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L12" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L12" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="107" x="312" y="115.0998">foo_c() = 0 : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="293" x2="425" y1="122.5998" y2="122.5998"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L16" target="_top" title="This is class B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L16" xlink:show="new" xlink:title="This is class B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1e4izffzgdypx)" height="60.8047" id="C_0000594234458687375950" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="69.5" y="143"/>
|
||||
<ellipse cx="111.5" cy="159" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M114.4688,164.6406 Q113.8906,164.9375 113.25,165.0781 Q112.6094,165.2344 111.9063,165.2344 Q109.4063,165.2344 108.0781,163.5938 Q106.7656,161.9375 106.7656,158.8125 Q106.7656,155.6875 108.0781,154.0313 Q109.4063,152.375 111.9063,152.375 Q112.6094,152.375 113.25,152.5313 Q113.9063,152.6875 114.4688,152.9844 L114.4688,155.7031 Q113.8438,155.125 113.25,154.8594 Q112.6563,154.5781 112.0313,154.5781 Q110.6875,154.5781 110,155.6563 Q109.3125,156.7188 109.3125,158.8125 Q109.3125,160.9063 110,161.9844 Q110.6875,163.0469 112.0313,163.0469 Q112.6563,163.0469 113.25,162.7813 Q113.8438,162.5 114.4688,161.9219 L114.4688,164.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="131.5" y="163.1543">B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="70.5" x2="168.5" y1="175" y2="175"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="70.5" x2="168.5" y1="183" y2="183"/>
|
||||
<ellipse cx="80.5" cy="194" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="89.5" y="197.2104">foo_a() : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L16" target="_top" title="This is class B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L16" xlink:show="new" xlink:title="This is class B" xlink:type="simple">
|
||||
<g id="elem_C_0000594234458687375950">
|
||||
<rect codeLine="9" fill="#F1F1F1" height="64.7999" id="C_0000594234458687375950" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="110" x="61" y="191.5999"/>
|
||||
<ellipse cx="107.25" cy="207.5999" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M102.25,208.7562 C102.25,211.2562 104.3906,213.0687 107.3125,213.0687 C108.5469,213.0687 109.7188,212.7718 110.4688,212.2562 C111.0781,211.8343 111.4063,211.4124 111.4063,211.0062 C111.4063,210.5374 110.9844,210.1312 110.4844,210.1312 C110.25,210.1312 110.0313,210.2093 109.8281,210.4124 C109.3906,210.8499 109.3906,210.8499 109.2188,210.9437 C108.7656,211.1781 108.125,211.3187 107.3594,211.3187 C105.3594,211.3187 104.0781,210.3031 104.0781,208.7249 L104.0781,207.6781 C104.0781,205.9749 105.2969,204.7718 107,204.7718 C107.5781,204.7718 108.1563,204.9124 108.625,205.1624 C109.0938,205.4281 109.2656,205.6156 109.3281,205.9749 C109.4531,206.6468 109.7031,206.8968 110.2344,206.8968 C110.5156,206.8968 110.7969,206.7562 110.9844,206.5374 C111.1094,206.3656 111.1563,206.1937 111.1563,205.7562 L111.1563,204.3968 C111.1563,203.9749 111.1406,203.8343 111.0156,203.6624 C110.8438,203.4124 110.5625,203.2562 110.2344,203.2562 C109.9219,203.2562 109.7188,203.3656 109.5,203.6312 C108.3281,203.1312 107.8906,203.0218 106.9375,203.0218 C104.2656,203.0218 102.25,205.0374 102.25,207.6624 L102.25,208.7562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="127.75" y="212.2059">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="62" x2="170" y1="223.5999" y2="223.5999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L18" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L18" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="67" y="232.4999"/>
|
||||
<ellipse cx="72" cy="237.4999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L18" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L18" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="81" y="240.6059">foo_a() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="62" x2="170" y1="248.3999" y2="248.3999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L27" target="_top" title="@brief This is class C - class C has a long comment Vivamus integer non suscipit taciti mus etiam at primis tempor sagittis sit, euismod libero facilisi aptent elementum felis blandit cursus gravida sociis erat ante, eleifend lectus nullam dapibus netus..." xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L27" xlink:show="new" xlink:title="@brief This is class C - class C has a long comment Vivamus integer non suscipit taciti mus etiam at primis tempor sagittis sit, euismod libero facilisi aptent elementum felis blandit cursus gravida sociis erat ante, eleifend lectus nullam dapibus netus..." xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1e4izffzgdypx)" height="60.8047" id="C_0001142499429598587507" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="307" y="143"/>
|
||||
<ellipse cx="348.55" cy="159" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M351.5188,164.6406 Q350.9406,164.9375 350.3,165.0781 Q349.6594,165.2344 348.9563,165.2344 Q346.4563,165.2344 345.1281,163.5938 Q343.8156,161.9375 343.8156,158.8125 Q343.8156,155.6875 345.1281,154.0313 Q346.4563,152.375 348.9563,152.375 Q349.6594,152.375 350.3,152.5313 Q350.9563,152.6875 351.5188,152.9844 L351.5188,155.7031 Q350.8938,155.125 350.3,154.8594 Q349.7063,154.5781 349.0813,154.5781 Q347.7375,154.5781 347.05,155.6563 Q346.3625,156.7188 346.3625,158.8125 Q346.3625,160.9063 347.05,161.9844 Q347.7375,163.0469 349.0813,163.0469 Q349.7063,163.0469 350.3,162.7813 Q350.8938,162.5 351.5188,161.9219 L351.5188,164.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="368.45" y="163.1543">C</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="308" x2="405" y1="175" y2="175"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="308" x2="405" y1="183" y2="183"/>
|
||||
<ellipse cx="318" cy="194" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="327" y="197.2104">foo_c() : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L27" target="_top" title="This is class C - class C has a long comment" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L27" xlink:show="new" xlink:title="This is class C - class C has a long comment" xlink:type="simple">
|
||||
<g id="elem_C_0001142499429598587507">
|
||||
<rect codeLine="14" fill="#F1F1F1" height="64.7999" id="C_0001142499429598587507" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="109" x="304.5" y="191.5999"/>
|
||||
<ellipse cx="349.75" cy="207.5999" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M344.75,208.7562 C344.75,211.2562 346.8906,213.0687 349.8125,213.0687 C351.0469,213.0687 352.2188,212.7718 352.9688,212.2562 C353.5781,211.8343 353.9063,211.4124 353.9063,211.0062 C353.9063,210.5374 353.4844,210.1312 352.9844,210.1312 C352.75,210.1312 352.5313,210.2093 352.3281,210.4124 C351.8906,210.8499 351.8906,210.8499 351.7188,210.9437 C351.2656,211.1781 350.625,211.3187 349.8594,211.3187 C347.8594,211.3187 346.5781,210.3031 346.5781,208.7249 L346.5781,207.6781 C346.5781,205.9749 347.7969,204.7718 349.5,204.7718 C350.0781,204.7718 350.6563,204.9124 351.125,205.1624 C351.5938,205.4281 351.7656,205.6156 351.8281,205.9749 C351.9531,206.6468 352.2031,206.8968 352.7344,206.8968 C353.0156,206.8968 353.2969,206.7562 353.4844,206.5374 C353.6094,206.3656 353.6563,206.1937 353.6563,205.7562 L353.6563,204.3968 C353.6563,203.9749 353.6406,203.8343 353.5156,203.6624 C353.3438,203.4124 353.0625,203.2562 352.7344,203.2562 C352.4219,203.2562 352.2188,203.3656 352,203.6312 C350.8281,203.1312 350.3906,203.0218 349.4375,203.0218 C346.7656,203.0218 344.75,205.0374 344.75,207.6624 L344.75,208.7562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="370.25" y="212.2059">C</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="305.5" x2="412.5" y1="223.5999" y2="223.5999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L30" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L30" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="310.5" y="232.4999"/>
|
||||
<ellipse cx="315.5" cy="237.4999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L30" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L30" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="324.5" y="240.6059">foo_c() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="305.5" x2="412.5" y1="248.3999" y2="248.3999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L36" target="_top" title="This is class D which is a little like B and a little like C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L36" xlink:show="new" xlink:title="This is class D which is a little like B and a little like C" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1e4izffzgdypx)" height="86.4141" id="C_0000060950494980414724" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="33.5" y="265"/>
|
||||
<ellipse cx="98.75" cy="281" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M101.7188,286.6406 Q101.1406,286.9375 100.5,287.0781 Q99.8594,287.2344 99.1563,287.2344 Q96.6563,287.2344 95.3281,285.5938 Q94.0156,283.9375 94.0156,280.8125 Q94.0156,277.6875 95.3281,276.0313 Q96.6563,274.375 99.1563,274.375 Q99.8594,274.375 100.5,274.5313 Q101.1563,274.6875 101.7188,274.9844 L101.7188,277.7031 Q101.0938,277.125 100.5,276.8594 Q99.9063,276.5781 99.2813,276.5781 Q97.9375,276.5781 97.25,277.6563 Q96.5625,278.7188 96.5625,280.8125 Q96.5625,282.9063 97.25,283.9844 Q97.9375,285.0469 99.2813,285.0469 Q99.9063,285.0469 100.5,284.7813 Q101.0938,284.5 101.7188,283.9219 L101.7188,286.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="119.25" y="285.1543">D</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="34.5" x2="180.5" y1="297" y2="297"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L36" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L36" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<g id="elem_C_0000060950494980414724">
|
||||
<rect codeLine="19" fill="#F1F1F1" height="98.3998" id="C_0000060950494980414724" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="39.5" y="317.3999"/>
|
||||
<ellipse cx="106.75" cy="333.3999" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M101.75,334.5562 C101.75,337.0562 103.8906,338.8687 106.8125,338.8687 C108.0469,338.8687 109.2188,338.5718 109.9688,338.0562 C110.5781,337.6343 110.9063,337.2124 110.9063,336.8062 C110.9063,336.3374 110.4844,335.9312 109.9844,335.9312 C109.75,335.9312 109.5313,336.0093 109.3281,336.2124 C108.8906,336.6499 108.8906,336.6499 108.7188,336.7437 C108.2656,336.9781 107.625,337.1187 106.8594,337.1187 C104.8594,337.1187 103.5781,336.1031 103.5781,334.5249 L103.5781,333.4781 C103.5781,331.7749 104.7969,330.5718 106.5,330.5718 C107.0781,330.5718 107.6563,330.7124 108.125,330.9624 C108.5938,331.2281 108.7656,331.4156 108.8281,331.7749 C108.9531,332.4468 109.2031,332.6968 109.7344,332.6968 C110.0156,332.6968 110.2969,332.5562 110.4844,332.3374 C110.6094,332.1656 110.6563,331.9937 110.6563,331.5562 L110.6563,330.1968 C110.6563,329.7749 110.6406,329.6343 110.5156,329.4624 C110.3438,329.2124 110.0625,329.0562 109.7344,329.0562 C109.4219,329.0562 109.2188,329.1656 109,329.4312 C107.8281,328.9312 107.3906,328.8218 106.4375,328.8218 C103.7656,328.8218 101.75,330.8374 101.75,333.4624 L101.75,334.5562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="127.25" y="338.0059">D</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="40.5" x2="191.5" y1="349.3999" y2="349.3999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L41" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L41" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="45.5" y="358.2999"/>
|
||||
<ellipse cx="50.5" cy="363.2999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L41" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L41" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="59.5" y="366.4059">foo_a() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L50" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L50" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="45.5" y="375.0998"/>
|
||||
<ellipse cx="50.5" cy="380.0998" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L50" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L50" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="59.5" y="383.2058">foo_c() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="40.5" x2="191.5" y1="390.9998" y2="390.9998"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="45.5" y="399.8997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="47.5" y="401.8997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="59.5" y="408.0057">as : std::vector<A *></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L58" target="_top" title="All the A pointers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="All the A pointers" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="39.5" y="303"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="41.5" y="305"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L61" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L61" xlink:show="new" xlink:title="E" xlink:type="simple">
|
||||
<g id="elem_C_0002237886670308966220">
|
||||
<rect codeLine="26" fill="#F1F1F1" height="98.3998" id="C_0002237886670308966220" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="407.5" y="317.3999"/>
|
||||
<ellipse cx="475.25" cy="333.3999" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M470.25,334.5562 C470.25,337.0562 472.3906,338.8687 475.3125,338.8687 C476.5469,338.8687 477.7188,338.5718 478.4688,338.0562 C479.0781,337.6343 479.4063,337.2124 479.4063,336.8062 C479.4063,336.3374 478.9844,335.9312 478.4844,335.9312 C478.25,335.9312 478.0313,336.0093 477.8281,336.2124 C477.3906,336.6499 477.3906,336.6499 477.2188,336.7437 C476.7656,336.9781 476.125,337.1187 475.3594,337.1187 C473.3594,337.1187 472.0781,336.1031 472.0781,334.5249 L472.0781,333.4781 C472.0781,331.7749 473.2969,330.5718 475,330.5718 C475.5781,330.5718 476.1563,330.7124 476.625,330.9624 C477.0938,331.2281 477.2656,331.4156 477.3281,331.7749 C477.4531,332.4468 477.7031,332.6968 478.2344,332.6968 C478.5156,332.6968 478.7969,332.5562 478.9844,332.3374 C479.1094,332.1656 479.1563,331.9937 479.1563,331.5562 L479.1563,330.1968 C479.1563,329.7749 479.1406,329.6343 479.0156,329.4624 C478.8438,329.2124 478.5625,329.0562 478.2344,329.0562 C477.9219,329.0562 477.7188,329.1656 477.5,329.4312 C476.3281,328.9312 475.8906,328.8218 474.9375,328.8218 C472.2656,328.8218 470.25,330.8374 470.25,333.4624 L470.25,334.5562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="495.75" y="338.0059">E</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="408.5" x2="559.5" y1="349.3999" y2="349.3999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L66" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L66" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="413.5" y="358.2999"/>
|
||||
<ellipse cx="418.5" cy="363.2999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L66" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L66" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="427.5" y="366.4059">foo_a() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L75" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L75" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="413.5" y="375.0998"/>
|
||||
<ellipse cx="418.5" cy="380.0998" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L75" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L75" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="427.5" y="383.2058">foo_c() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="408.5" x2="559.5" y1="390.9998" y2="390.9998"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="413.5" y="399.8997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="415.5" y="401.8997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="427.5" y="408.0057">as : std::vector<A *></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L58" target="_top" title="All the A pointers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="All the A pointers" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="53.5" y="311.2104">as : std::vector<A *></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="34.5" x2="180.5" y1="317.8047" y2="317.8047"/>
|
||||
<ellipse cx="44.5" cy="328.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="53.5" y="332.0151">foo_a() : void</text>
|
||||
<ellipse cx="44.5" cy="341.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="53.5" y="344.8198">foo_c() : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L61" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L61" xlink:show="new" xlink:title="E" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1e4izffzgdypx)" height="86.4141" id="C_0002237886670308966220" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="403.5" y="265"/>
|
||||
<ellipse cx="469.25" cy="281" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M472.2188,286.6406 Q471.6406,286.9375 471,287.0781 Q470.3594,287.2344 469.6563,287.2344 Q467.1563,287.2344 465.8281,285.5938 Q464.5156,283.9375 464.5156,280.8125 Q464.5156,277.6875 465.8281,276.0313 Q467.1563,274.375 469.6563,274.375 Q470.3594,274.375 471,274.5313 Q471.6563,274.6875 472.2188,274.9844 L472.2188,277.7031 Q471.5938,277.125 471,276.8594 Q470.4063,276.5781 469.7813,276.5781 Q468.4375,276.5781 467.75,277.6563 Q467.0625,278.7188 467.0625,280.8125 Q467.0625,282.9063 467.75,283.9844 Q468.4375,285.0469 469.7813,285.0469 Q470.4063,285.0469 471,284.7813 Q471.5938,284.5 472.2188,283.9219 L472.2188,286.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="489.75" y="285.1543">E</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="404.5" x2="550.5" y1="297" y2="297"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L83" target="_top" title="All the A pointers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="All the A pointers" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="409.5" y="303"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="411.5" y="305"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L83" target="_top" title="All the A pointers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="All the A pointers" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="423.5" y="311.2104">as : std::vector<A *></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="404.5" x2="550.5" y1="317.8047" y2="317.8047"/>
|
||||
<ellipse cx="414.5" cy="328.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="423.5" y="332.0151">foo_a() : void</text>
|
||||
<ellipse cx="414.5" cy="341.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="423.5" y="344.8198">foo_c() : void</text>
|
||||
<path d="M150,32.5 L150,57.6328 A0,0 0 0 0 150,57.6328 L259,57.6328 A0,0 0 0 0 259,57.6328 L259,50.5 L293.74,45 L259,42.5 L259,42.5 L249,32.5 L150,32.5 A0,0 0 0 0 150,32.5 " fill="#FBFB77" filter="url(#f1e4izffzgdypx)" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M249,32.5 L249,42.5 L259,42.5 L249,32.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="156" y="49.5669">This is class A</text>
|
||||
<path d="M6,32.5 L6,57.6328 A0,0 0 0 0 6,57.6328 L61.94,57.6328 L105.69,142.88 L69.94,57.6328 L115,57.6328 A0,0 0 0 0 115,57.6328 L115,42.5 L105,32.5 L6,32.5 A0,0 0 0 0 6,32.5 " fill="#FBFB77" filter="url(#f1e4izffzgdypx)" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M105,32.5 L105,42.5 L115,42.5 L105,32.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="12" y="49.5669">This is class B</text>
|
||||
<path d="M217,280.5 L217,304 L181.57,308 L217,312 L217,335.8984 A0,0 0 0 0 217,335.8984 L368,335.8984 A0,0 0 0 0 368,335.8984 L368,290.5 L358,280.5 L217,280.5 A0,0 0 0 0 217,280.5 " fill="#FBFB77" filter="url(#f1e4izffzgdypx)" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M358,280.5 L358,290.5 L368,290.5 L358,280.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="223" y="297.5669">This is class D</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="130" x="223" y="312.6997">which is a little like B</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="223" y="327.8325">and a little like C</text>
|
||||
<path d="M275.32,82.96 C250.75,94.38 227.18,105.62 215.5,112 C198.38,121.35 180.15,132.52 164.22,142.7 " fill="none" id="C_0000987634239855407298<-C_0000594234458687375950" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="272.59,76.51,293.68,74.48,278.46,89.22,272.59,76.51" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M356.5,102.55 C356.5,116.38 356.5,130.64 356.5,142.64 " fill="none" id="C_0000987634239855407298<-C_0001142499429598587507" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="349.5,102.25,356.5,82.25,363.5,102.25,349.5,102.25" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M146.15,264.89 C176.88,231.57 221.11,183.99 260.5,143 C278.66,124.1 299.06,103.42 316.36,86.03 " fill="none" id="C_0000060950494980414724->C_0000987634239855407298" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="320.23,82.14,311.0448,85.6941,316.7016,85.6827,316.713,91.3395,320.23,82.14" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="263.5" y="171.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="15" x="273.5" y="178.0669">as</text>
|
||||
<path d="M114.96,224.61 C113.76,237.85 112.48,252.02 111.32,264.8 " fill="none" id="C_0000594234458687375950<-C_0000060950494980414724" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="108.03,223.52,116.81,204.24,121.97,224.79,108.03,223.52" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M299.39,215.54 C288.99,222.37 278.07,229.14 267.5,235 C238.61,251.02 229.64,251.47 199.5,265 C193.73,267.59 187.77,270.28 181.78,272.99 " fill="none" id="C_0001142499429598587507<-C_0000060950494980414724" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="295.79,209.52,316.28,204.12,303.64,221.12,295.79,209.52" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M467.23,264.93 C458.11,231.01 443.18,182.59 423.5,143 C413.76,123.4 400.46,103.25 388.29,86.43 " fill="none" id="C_0002237886670308966220->C_0000987634239855407298" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="385.22,82.23,387.3048,91.8557,388.1719,86.2656,393.7619,87.1327,385.22,82.23" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="451.5" y="171.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="15" x="461.5" y="178.0669">as</text>
|
||||
<path d="M188.64,200.51 C191.97,201.7 195.27,202.87 198.5,204 C281.02,232.85 304.05,233.24 385.5,265 C391.39,267.3 397.44,269.78 403.49,272.35 " fill="none" id="C_0000594234458687375950<-C_0002237886670308966220" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="185.93,206.97,169.53,193.55,190.72,193.82,185.93,206.97" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M397.5,219.39 C410.91,234.08 425.74,250.33 438.96,264.8 " fill="none" id="C_0001142499429598587507<-C_0002237886670308966220" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="391.97,223.72,383.65,204.24,402.31,214.28,391.97,223.72" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<g id="elem_GMN15">
|
||||
<path d="M149,74.8999 L149,100.4999 A0,0 0 0 0 149,100.4999 L257,100.4999 A0,0 0 0 0 257,100.4999 L257,92.8999 L291.82,87.6999 L257,84.8999 L257,84.8999 L247,74.8999 L149,74.8999 A0,0 0 0 0 149,74.8999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M247,74.8999 L247,84.8999 L257,84.8999 L247,74.8999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="155" y="91.9769">This is class A</text>
|
||||
</g>
|
||||
<g id="elem_GMN18">
|
||||
<path d="M6,74.8999 L6,100.4999 A0,0 0 0 0 6,100.4999 L60.97,100.4999 L102.78,191.2899 L68.97,100.4999 L114,100.4999 A0,0 0 0 0 114,100.4999 L114,84.8999 L104,74.8999 L6,74.8999 A0,0 0 0 0 6,74.8999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M104,74.8999 L104,84.8999 L114,84.8999 L104,74.8999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="12" y="91.9769">This is class B</text>
|
||||
</g>
|
||||
<g id="elem_GMN21">
|
||||
<path d="M228,322.5999 L228,362.5999 L192.91,366.5999 L228,370.5999 L228,410.6 A0,0 0 0 0 228,410.6 L372,410.6 A0,0 0 0 0 372,410.6 L372,332.5999 L362,322.5999 L228,322.5999 A0,0 0 0 0 228,322.5999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M362,322.5999 L362,332.5999 L372,332.5999 L362,322.5999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="12" x="234" y="339.6769"> </text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="234" y="355.277">This is class D</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="123" x="234" y="370.877">which is a little like B</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="234" y="386.477">and a little like C</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="4" x="234" y="402.077"> </text>
|
||||
</g>
|
||||
<g id="link_C_0000987634239855407298_C_0000594234458687375950">
|
||||
<path codeLine="32" d="M275.8134,130.1859 C238.7334,148.6859 216.01,160.0299 215,160.5999 C198.18,170.0699 180.21,181.0999 164.26,191.2399 " fill="none" id="C_0000987634239855407298-backto-C_0000594234458687375950" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="291.92,122.1499,273.1347,124.817,278.492,135.5547,291.92,122.1499" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000987634239855407298_C_0001142499429598587507">
|
||||
<path codeLine="33" d="M359,148.8299 C359,168.3599 359,173.1999 359,191.2599 " fill="none" id="C_0000987634239855407298-backto-C_0001142499429598587507" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="359,130.8299,353,148.8299,365,148.8299,359,130.8299" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000060950494980414724_C_0000987634239855407298">
|
||||
<path codeLine="34" d="M154.1,317.0699 C182.32,281.6599 222.12,232.8499 259,191.5999 C277.26,171.1699 294.0878,153.5728 312.1278,135.2728 " fill="none" id="C_0000060950494980414724-to-C_0000987634239855407298" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="316.34,130.9999,307.1731,134.6011,312.8299,134.5607,312.8703,140.2174,316.34,130.9999" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="262" y="221.7999"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="272" y="228.5769">as</text>
|
||||
</g>
|
||||
<g id="link_C_0000594234458687375950_C_0000060950494980414724">
|
||||
<path codeLine="35" d="M116,274.5499 C116,292.3699 116,296.9999 116,317.0299 " fill="none" id="C_0000594234458687375950-backto-C_0000060950494980414724" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="116,256.5499,110,274.5499,122,274.5499,116,256.5499" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001142499429598587507_C_0000060950494980414724">
|
||||
<path codeLine="36" d="M299.4477,267.0389 C284.6377,277.1789 282.75,278.0199 267,287.3999 C259.45,291.8899 226.29,309.1099 192.97,326.2399 " fill="none" id="C_0001142499429598587507-backto-C_0000060950494980414724" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="314.3,256.8699,296.058,262.0881,302.8373,271.9897,314.3,256.8699" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0002237886670308966220_C_0000987634239855407298">
|
||||
<path codeLine="37" d="M473.6,317.1799 C464.89,281.3899 450.7,232.0599 431,191.5999 C420.69,170.4299 409.8342,153.6366 396.5942,135.7066 " fill="none" id="C_0002237886670308966220-to-C_0000987634239855407298" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="393.03,130.8799,395.1584,140.496,396.0001,134.9022,401.594,135.7438,393.03,130.8799" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="459" y="221.7999"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="469" y="228.5769">as</text>
|
||||
</g>
|
||||
<g id="link_C_0000594234458687375950_C_0002237886670308966220">
|
||||
<path codeLine="38" d="M188.2692,253.0527 C197.1292,256.3827 189.37,253.3799 198,256.3999 C282.51,285.9799 307.21,283.2999 390,317.3999 C395.6,319.7099 401.31,322.2199 407.02,324.8399 " fill="none" id="C_0000594234458687375950-backto-C_0002237886670308966220" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="171.42,246.7199,186.1583,258.6691,190.3801,247.4362,171.42,246.7199" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001142499429598587507_C_0002237886670308966220">
|
||||
<path codeLine="39" d="M399.0085,270.0033 C414.8485,287.8233 423.01,296.9999 440.82,317.0299 " fill="none" id="C_0001142499429598587507-backto-C_0002237886670308966220" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="387.05,256.5499,394.5241,273.9895,403.493,266.0171,387.05,256.5499" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 29 KiB |
358
docs/test_cases/t00002_class_mermaid.svg
Normal file
@@ -0,0 +1,358 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 -49 660.78515625 581" style="max-width: 660.785px; background-color: white;" width="660.78515625" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M474.31429457979715,184.6657693554395L496.8406881914976,193.72147446286624C519.3670818031982,202.777179570293,564.419869026599,220.88858978514648,585.5350704241877,234.7776282259066C606.6502718217762,248.66666666666666,603.8278873935523,258.3333333333333,602.4166951794404,263.1666666666667L601.0055029653284,268"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M345.9667272259796,229.23018082356498L344.9410226883163,230.85848401963747C343.9153181506531,232.48678721571,341.86390907532655,235.74339360785498,340.8382045376633,242.20503013726082C339.8125,248.66666666666666,339.8125,258.3333333333333,339.8125,263.1666666666667L339.8125,268"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M108.92578125,421.27951321691216L93.95768229166667,413.73292768076016C78.98958333333333,406.1863421446081,49.053385416666664,391.0931710723041,34.085286458333336,372.1299188694854C19.1171875,353.1666666666667,19.1171875,330.3333333333333,19.1171875,307.5C19.1171875,284.6666666666667,19.1171875,261.8333333333333,70.12126595331993,238.65748300376916C121.12534440663988,215.481632674205,223.13350131327977,191.96326534840998,274.1375797665997,180.20408168551248L325.14165821991963,168.44489802261495"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M509.1758634081611,335.6819822126829L490.03001638180086,342.40165184390236C470.88416935544075,349.12132147512193,432.5924753027204,362.56066073756097,393.13673244302686,377.9083151236693C353.6809895833333,393.2559695097776,313.0611979166667,410.5119390195552,292.7513020833333,419.139923774444L272.44140625,427.7679085293328"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id5" d="M339.8125,365L339.8125,366.8333333333333C339.8125,368.6666666666667,339.8125,372.3333333333333,328.583984375,380.67959984632984C317.35546875,389.0258663593263,294.8984375,402.0517327186526,283.669921875,408.56466589831575L272.44140625,415.0775990779789"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id6" d="M470.74534862716763,401L467.08596760597305,396.8333333333333C463.4265865847785,392.6666666666667,456.1078245423892,384.3333333333333,452.4484435211946,368.75C448.7890625,353.1666666666667,448.7890625,330.3333333333333,448.7890625,307.5C448.7890625,284.6666666666667,448.7890625,261.8333333333333,446.69737674691896,247.0961211568647C444.60569099383787,232.3589089803961,440.4223194876757,225.71781796079222,438.33063373459464,222.39727245099027L436.23894798151355,219.07672694118833"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id7" d="M589.47265625,365L589.47265625,366.8333333333333C589.47265625,368.6666666666667,589.47265625,372.3333333333333,586.3553709055876,378.3333333333333C583.2380855611754,384.3333333333333,577.0035148723507,392.6666666666667,573.8862295279383,396.8333333333333L570.7689441835261,401"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id8" d="M419.27660699856824,340.7533726363654L433.3144902071402,346.6278105303045C447.3523734157122,352.5022484242436,475.42813983285606,364.2511242121218,490.4898142866111,374.2922287727276C505.5514887403661,384.3333333333333,507.59907123073225,392.6666666666667,508.62286247591527,396.8333333333333L509.6466537210983,401"/>
|
||||
<path style="fill:none" class="edge-pattern-dotted relation" id="edgeNote9" d="M394.30078125,41L394.30078125,45.166666666666664C394.30078125,49.333333333333336,394.30078125,57.666666666666664,394.30078125,66C394.30078125,74.33333333333333,394.30078125,82.66666666666667,394.30078125,86.83333333333333L394.30078125,91"/>
|
||||
<path style="fill:none" class="edge-pattern-dotted relation" id="edgeNote10" d="M589.47265625,169L589.47265625,180.66666666666666C589.47265625,192.33333333333334,589.47265625,215.66666666666666,589.47265625,232.16666666666666C589.47265625,248.66666666666666,589.47265625,258.3333333333333,589.47265625,263.1666666666667L589.47265625,268"/>
|
||||
<path style="fill:none" class="edge-pattern-dotted relation" id="edgeNote11" d="M146.09375,351L146.09375,355.1666666666667C146.09375,359.3333333333333,146.09375,367.6666666666667,148.24162301300578,376C150.38949602601156,384.3333333333333,154.6852420520231,392.6666666666667,156.8331150650289,396.8333333333333L158.98098807803467,401"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(19.1171875, 307.5)" class="edgeLabel">
|
||||
<g transform="translate(-11.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="22.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-as</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(448.7890625, 307.5)" class="edgeLabel">
|
||||
<g transform="translate(-11.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="22.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-as</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(394.30078125, 152.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L7">
|
||||
<g title="This is class A" id="classId-C_0000987634239855407298-0" class="node default clickable">
|
||||
<rect height="123" width="126.625" y="-61.5" x="-63.3125" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="63.3125" x1="-63.3125" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="63.3125" x1="-63.3125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject transform="translate( -37.359375, -54)" height="18" width="74.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">«abstract»</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -32)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -55.8125, 14)" height="18" width="111.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">+foo_a() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -55.8125, 36)" height="18" width="110.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">+foo_c() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(589.47265625, 307.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L16">
|
||||
<g title="This is class B" id="classId-C_0000594234458687375950-1" class="node default clickable">
|
||||
<rect height="79" width="126.625" y="-39.5" x="-63.3125" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="63.3125" x1="-63.3125" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="63.3125" x1="-63.3125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -32)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -55.8125, 14)" height="18" width="111.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_a() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(339.8125, 307.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L27">
|
||||
<g title="This is class C - class C has a long comment" id="classId-C_0001142499429598587507-2" class="node default clickable">
|
||||
<rect height="79" width="125.71875" y="-39.5" x="-62.859375" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="62.859375" x1="-62.859375" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="62.859375" x1="-62.859375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -32)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -55.359375, 14)" height="18" width="110.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_c() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(190.68359375, 462.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L36">
|
||||
<g title="D" id="classId-C_0000060950494980414724-3" class="node default clickable">
|
||||
<rect height="123" width="163.515625" y="-61.5" x="-81.7578125" class="outer title-state"/>
|
||||
<line y2="-31.5" y1="-31.5" x2="81.7578125" x1="-81.7578125" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="81.7578125" x1="-81.7578125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -54)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">D</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, -20)" height="18" width="148.515625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-as : std::vector<A *></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, 14)" height="18" width="111.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_a() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, 36)" height="18" width="110.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_c() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(524.7578125, 462.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00002/t00002.cc#L61">
|
||||
<g title="E" id="classId-C_0002237886670308966220-4" class="node default clickable">
|
||||
<rect height="123" width="163.515625" y="-61.5" x="-81.7578125" class="outer title-state"/>
|
||||
<line y2="-31.5" y1="-31.5" x2="81.7578125" x1="-81.7578125" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="81.7578125" x1="-81.7578125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.3359375, -54)" height="18" width="10.671875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">E</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, -20)" height="18" width="148.515625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-as : std::vector<A *></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, 14)" height="18" width="111.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_a() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -74.2578125, 36)" height="18" width="110.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo_c() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<g transform="translate(394.30078125, 24.5)" id="note0" class="node undefined">
|
||||
<rect height="33" width="116.359375" y="-16.5" x="-58.1796875" ry="0" rx="0"/>
|
||||
<g transform="translate(-50.6796875, -9)" style="" class="label">
|
||||
<rect/>
|
||||
<foreignObject height="18" width="101.359375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">This is class A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(589.47265625, 152.5)" id="note1" class="node undefined">
|
||||
<rect height="33" width="117.25" y="-16.5" x="-58.625" ry="0" rx="0"/>
|
||||
<g transform="translate(-51.125, -9)" style="" class="label">
|
||||
<rect/>
|
||||
<foreignObject height="18" width="102.25">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">This is class B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(146.09375, 307.5)" id="note2" class="node undefined">
|
||||
<rect height="87" width="161.71875" y="-43.5" x="-80.859375" ry="0" rx="0"/>
|
||||
<g transform="translate(-73.359375, -36)" style="" class="label">
|
||||
<rect/>
|
||||
<foreignObject height="72" width="146.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"><br/> This is class D<br/> which is a little like B<br/> and a little like C<br/></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text class="classTitleText" y="-25" x="330.392578125">Basic class diagram example</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -1,123 +1,232 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="398px" preserveAspectRatio="none" style="width:347px;height:398px;" version="1.1" viewBox="0 0 347 398" width="347px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="613px" preserveAspectRatio="none" style="width:369px;height:613px;background:#FFFFFF;" version="1.1" viewBox="0 0 369 613" width="369px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f7y73knlg8t93" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f7y73knlg8t93)" height="380.9219" id="C_0001371951663534295727" style="stroke: #A80036; stroke-width: 1.5;" width="329" x="7" y="7"/>
|
||||
<ellipse cx="163.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M166.2188,28.6406 Q165.6406,28.9375 165,29.0781 Q164.3594,29.2344 163.6563,29.2344 Q161.1563,29.2344 159.8281,27.5938 Q158.5156,25.9375 158.5156,22.8125 Q158.5156,19.6875 159.8281,18.0313 Q161.1563,16.375 163.6563,16.375 Q164.3594,16.375 165,16.5313 Q165.6563,16.6875 166.2188,16.9844 L166.2188,19.7031 Q165.5938,19.125 165,18.8594 Q164.4063,18.5781 163.7813,18.5781 Q162.4375,18.5781 161.75,19.6563 Q161.0625,20.7188 161.0625,22.8125 Q161.0625,24.9063 161.75,25.9844 Q162.4375,27.0469 163.7813,27.0469 Q164.4063,27.0469 165,26.7813 Q165.5938,26.5 166.2188,25.9219 L166.2188,28.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="183.75" y="27.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="335" y1="39" y2="39"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L34" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L34" xlink:show="new" xlink:title="public_member" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="45"/>
|
||||
<ellipse cx="18" cy="50" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L34" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L34" xlink:show="new" xlink:title="public_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="27" y="53.2104">public_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L42" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="protected_member" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="57.8047"/>
|
||||
<polygon fill="none" points="18,57.8047,22,61.8047,18,65.8047,14,61.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L42" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="protected_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="27" y="66.0151">protected_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L51" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L51" xlink:show="new" xlink:title="private_member" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="70.6094"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="72.6094"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L51" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L51" xlink:show="new" xlink:title="private_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="27" y="78.8198">private_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="a_" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="83.4141"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="85.4141"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="a_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="27" y="91.6245">a_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="b_" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="96.2188"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="98.2188"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="b_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="27" y="104.4292">b_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="c_" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="109.0234"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="111.0234"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="c_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="27" y="117.2339">c_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L35" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L35" xlink:show="new" xlink:title="static_int" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="121.8281"/>
|
||||
<ellipse cx="18" cy="126.8281" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L35" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L35" xlink:show="new" xlink:title="static_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="77" x="27" y="130.0386">static_int : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L36" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="static_const_int" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="134.6328"/>
|
||||
<ellipse cx="18" cy="139.6328" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L36" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="static_const_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="149" x="27" y="142.8433">static_const_int : const int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L37" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="auto_member" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="147.4375"/>
|
||||
<ellipse cx="18" cy="152.4375" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L37" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="auto_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="206" x="27" y="155.6479">auto_member : const unsigned long</text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="335" y1="162.2422" y2="162.2422"/>
|
||||
<ellipse cx="18" cy="173.2422" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="27" y="176.4526">A() = default : void</text>
|
||||
<ellipse cx="18" cy="186.0469" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="27" y="189.2573">A(int i) : void</text>
|
||||
<ellipse cx="18" cy="198.8516" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="27" y="202.062">A(class A && ) = default : void</text>
|
||||
<ellipse cx="18" cy="211.6563" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="200" x="27" y="214.8667">A(const class A & ) = default : void</text>
|
||||
<ellipse cx="18" cy="224.4609" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="27" y="227.6714">~A() = default : void</text>
|
||||
<ellipse cx="18" cy="237.2656" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="27" y="240.4761">basic_method() : void</text>
|
||||
<ellipse cx="18" cy="250.0703" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="114" x="27" y="253.2808">static_method() : int</text>
|
||||
<ellipse cx="18" cy="262.875" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="158" x="27" y="266.0854">const_method() const : void</text>
|
||||
<ellipse cx="18" cy="275.6797" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="27" y="278.8901">auto_method() : int</text>
|
||||
<ellipse cx="18" cy="288.4844" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="27" y="291.6948">double_int(const int i) : int</text>
|
||||
<ellipse cx="18" cy="301.2891" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="27" y="304.4995">sum(const double a, const double b) : int</text>
|
||||
<ellipse cx="18" cy="314.0938" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="27" y="317.3042">default_int(int i = 12) : int</text>
|
||||
<ellipse cx="18" cy="326.8984" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="303" x="27" y="330.1089">default_string(int i, std::string s = "abc") : std::string</text>
|
||||
<ellipse cx="18" cy="339.7031" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="171" x="27" y="342.9136">create_from_int(int i) : class A</text>
|
||||
<polygon fill="#FFFF44" points="18,347.5078,22,351.5078,18,355.5078,14,351.5078" style="stroke: #B38D22; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="27" y="355.7183">protected_method() : void</text>
|
||||
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="362.3125"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="131" x="27" y="368.5229">private_method() : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L44" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="compare" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="373.1172"/>
|
||||
<polygon fill="#FFFF44" points="18,373.1172,22,377.1172,18,381.1172,14,377.1172" style="stroke: #B38D22; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L44" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="compare" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="236" x="27" y="381.3276">compare : std::function<bool (const int)></text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001371951663534295727">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="592.7977" id="C_0001371951663534295727" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="348" x="7" y="7"/>
|
||||
<ellipse cx="172.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M167.25,24.1563 C167.25,26.6563 169.3906,28.4688 172.3125,28.4688 C173.5469,28.4688 174.7188,28.1719 175.4688,27.6563 C176.0781,27.2344 176.4063,26.8125 176.4063,26.4063 C176.4063,25.9375 175.9844,25.5313 175.4844,25.5313 C175.25,25.5313 175.0313,25.6094 174.8281,25.8125 C174.3906,26.25 174.3906,26.25 174.2188,26.3438 C173.7656,26.5781 173.125,26.7188 172.3594,26.7188 C170.3594,26.7188 169.0781,25.7031 169.0781,24.125 L169.0781,23.0781 C169.0781,21.375 170.2969,20.1719 172,20.1719 C172.5781,20.1719 173.1563,20.3125 173.625,20.5625 C174.0938,20.8281 174.2656,21.0156 174.3281,21.375 C174.4531,22.0469 174.7031,22.2969 175.2344,22.2969 C175.5156,22.2969 175.7969,22.1563 175.9844,21.9375 C176.1094,21.7656 176.1563,21.5938 176.1563,21.1563 L176.1563,19.7969 C176.1563,19.375 176.1406,19.2344 176.0156,19.0625 C175.8438,18.8125 175.5625,18.6563 175.2344,18.6563 C174.9219,18.6563 174.7188,18.7656 174.5,19.0313 C173.3281,18.5313 172.8906,18.4219 171.9375,18.4219 C169.2656,18.4219 167.25,20.4375 167.25,23.0625 L167.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="192.75" y="27.606">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="354" y1="39" y2="39"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="47.9"/>
|
||||
<ellipse cx="18" cy="52.9" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="27" y="56.0059">A() = default : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L10" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="64.6999"/>
|
||||
<ellipse cx="18" cy="69.6999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L10" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="27" y="72.8059">A(int i) : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L21" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L21" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="81.4998"/>
|
||||
<ellipse cx="18" cy="86.4998" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L21" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L21" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147" x="27" y="89.6058">A(A &&) = default : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L22" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L22" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="98.2997"/>
|
||||
<ellipse cx="18" cy="103.2997" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L22" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L22" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="27" y="106.4057">A(const A &) = deleted : void</text>
|
||||
</a>
|
||||
<ellipse cx="18" cy="120.0997" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="27" y="123.2057">A<T>(T t) : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L23" target="_top" title="~A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L23" xlink:show="new" xlink:title="~A" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="131.8996"/>
|
||||
<ellipse cx="18" cy="136.8996" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L23" target="_top" title="~A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L23" xlink:show="new" xlink:title="~A" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="27" y="140.0056">~A() = default : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:1.0,2.0;" x1="8" x2="354" y1="147.7996" y2="147.7996"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L36" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="operator=" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="156.6995"/>
|
||||
<ellipse cx="18" cy="161.6995" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L36" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="operator=" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="236" x="27" y="164.8055">operator=(A && other) noexcept : A &</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L37" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="operator=" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="173.4995"/>
|
||||
<ellipse cx="18" cy="178.4995" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L37" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="operator=" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="227" x="27" y="181.6054">operator=(A & other) noexcept : A &</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:1.0,2.0;" x1="8" x2="354" y1="189.3994" y2="189.3994"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L30" target="_top" title="operator++" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L30" xlink:show="new" xlink:title="operator++" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="198.2994"/>
|
||||
<ellipse cx="18" cy="203.2994" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L30" target="_top" title="operator++" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L30" xlink:show="new" xlink:title="operator++" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="27" y="206.4054">operator++() : A &</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:1.0,2.0;" x1="8" x2="354" y1="214.1993" y2="214.1993"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L28" target="_top" title="auto_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L28" xlink:show="new" xlink:title="auto_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="223.0993"/>
|
||||
<ellipse cx="18" cy="228.0993" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L28" target="_top" title="auto_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L28" xlink:show="new" xlink:title="auto_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="27" y="231.2053">auto_method() : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L25" target="_top" title="basic_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L25" xlink:show="new" xlink:title="basic_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="239.8992"/>
|
||||
<ellipse cx="18" cy="244.8992" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L25" target="_top" title="basic_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L25" xlink:show="new" xlink:title="basic_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="27" y="248.0052">basic_method() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L27" target="_top" title="const_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L27" xlink:show="new" xlink:title="const_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="256.6992"/>
|
||||
<ellipse cx="18" cy="261.6992" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L27" target="_top" title="const_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L27" xlink:show="new" xlink:title="const_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176" x="27" y="264.8051">const_method() const : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L50" target="_top" title="create_from_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L50" xlink:show="new" xlink:title="create_from_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="273.4991"/>
|
||||
<ellipse cx="18" cy="278.4991" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L50" target="_top" title="create_from_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L50" xlink:show="new" xlink:title="create_from_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="153" x="27" y="281.6051">create_from_int(int i) : A</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L44" target="_top" title="default_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="default_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="290.299"/>
|
||||
<ellipse cx="18" cy="295.299" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L44" target="_top" title="default_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="default_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="157" x="27" y="298.405">default_int(int i = 12) : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L45" target="_top" title="default_string" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L45" xlink:show="new" xlink:title="default_string" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="307.0989"/>
|
||||
<ellipse cx="18" cy="312.0989" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L45" target="_top" title="default_string" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L45" xlink:show="new" xlink:title="default_string" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="322" x="27" y="315.2049">default_string(int i, std::string s = "abc") : std::string</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L41" target="_top" title="double_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L41" xlink:show="new" xlink:title="double_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="323.8989"/>
|
||||
<ellipse cx="18" cy="328.8989" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L41" target="_top" title="double_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L41" xlink:show="new" xlink:title="double_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="27" y="332.0048">double_int(const int i) : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L67" target="_top" title="private_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L67" xlink:show="new" xlink:title="private_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="340.6988"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="342.6988"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L67" target="_top" title="private_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L67" xlink:show="new" xlink:title="private_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147" x="27" y="348.8048">private_method() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L58" target="_top" title="protected_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L58" xlink:show="new" xlink:title="protected_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="357.4987"/>
|
||||
<polygon fill="#FFFF44" points="18,357.4987,22,361.4987,18,365.4987,14,361.4987" style="stroke:#B38D22;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L58" target="_top" title="protected_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L58" xlink:show="new" xlink:title="protected_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="164" x="27" y="365.6047">protected_method() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L39" target="_top" title="size" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L39" xlink:show="new" xlink:title="size" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="374.2986"/>
|
||||
<ellipse cx="18" cy="379.2986" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L39" target="_top" title="size" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L39" xlink:show="new" xlink:title="size" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="215" x="27" y="382.4046">size() constexpr const : std::size_t</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L26" target="_top" title="static_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L26" xlink:show="new" xlink:title="static_method" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="391.0986"/>
|
||||
<ellipse cx="18" cy="396.0986" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L26" target="_top" title="static_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L26" xlink:show="new" xlink:title="static_method" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="126" x="27" y="399.2046">static_method() : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L42" target="_top" title="sum" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="sum" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="407.8985"/>
|
||||
<ellipse cx="18" cy="412.8985" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L42" target="_top" title="sum" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="sum" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="258" x="27" y="416.0045">sum(const double a, const double b) : int</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="354" y1="423.7985" y2="423.7985"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="a_" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="432.6984"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="434.6984"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="a_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="27" y="440.8044">a_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L55" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L55" xlink:show="new" xlink:title="auto_member" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="449.4984"/>
|
||||
<ellipse cx="18" cy="454.4984" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L55" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L55" xlink:show="new" xlink:title="auto_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="228" x="27" y="457.6043">auto_member : const unsigned long</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="b_" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="466.2983"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="468.2983"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="b_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="27" y="474.4043">b_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="c_" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="483.0982"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="485.0982"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L70" xlink:show="new" xlink:title="c_" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="42" x="27" y="491.2042">c_ : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L62" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L62" xlink:show="new" xlink:title="compare" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="499.8981"/>
|
||||
<polygon fill="#FFFF44" points="18,499.8981,22,503.8981,18,507.8981,14,503.8981" style="stroke:#B38D22;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L62" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L62" xlink:show="new" xlink:title="compare" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="255" x="27" y="508.0041">compare : std::function<bool (const int)></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L69" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L69" xlink:show="new" xlink:title="private_member" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="516.6981"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="518.6981"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L69" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L69" xlink:show="new" xlink:title="private_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="131" x="27" y="524.804">private_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L60" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L60" xlink:show="new" xlink:title="protected_member" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="533.498"/>
|
||||
<polygon fill="none" points="18,533.498,22,537.498,18,541.498,14,537.498" style="stroke:#B38D22;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L60" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L60" xlink:show="new" xlink:title="protected_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148" x="27" y="541.604">protected_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L52" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="public_member" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="550.2979"/>
|
||||
<ellipse cx="18" cy="555.2979" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L52" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="public_member" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="125" x="27" y="558.4039">public_member : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L54" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L54" xlink:show="new" xlink:title="static_const_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="567.0978"/>
|
||||
<ellipse cx="18" cy="572.0978" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L54" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L54" xlink:show="new" xlink:title="static_const_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="163" x="27" y="575.2038">static_const_int : const int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L53" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L53" xlink:show="new" xlink:title="static_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="583.8978"/>
|
||||
<ellipse cx="18" cy="588.8978" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L53" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L53" xlink:show="new" xlink:title="static_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="83" x="27" y="592.0037">static_int : int</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 37 KiB |
237
docs/test_cases/t00003_class_mermaid.svg
Normal file
@@ -0,0 +1,237 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 409.640625 755" style="max-width: 409.641px; background-color: white;" width="409.640625" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths"/>
|
||||
<g class="edgeLabels"/>
|
||||
<g class="nodes">
|
||||
<a transform="translate(204.8203125, 377.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00003/t00003.cc#L7">
|
||||
<g title="A" id="classId-C_0001371951663534295727-0" class="node default clickable">
|
||||
<rect height="739" width="393.640625" y="-369.5" x="-196.8203125" class="outer title-state"/>
|
||||
<line y2="-339.5" y1="-339.5" x2="196.8203125" x1="-196.8203125" class="divider"/>
|
||||
<line y2="-103.5" y1="-103.5" x2="196.8203125" x1="-196.8203125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -362)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -328)" height="18" width="53.359375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-a_ : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -306)" height="18" width="263.734375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+auto_member : const unsigned long</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -284)" height="18" width="53.359375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-b_ : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -262)" height="18" width="52.46875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-c_ : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -240)" height="18" width="294.390625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">#compare : std::function<bool (const int)></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -218)" height="18" width="151.171875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-private_member : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -196)" height="18" width="173.421875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">#protected_member : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -174)" height="18" width="148.96875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+public_member : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -152)" height="18" width="192.546875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+static_const_int : const int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -130)" height="18" width="102.71875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+static_int : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -96)" height="18" width="143.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+A() : : [default] void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -74)" height="18" width="107.15625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+A(int i) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -52)" height="18" width="179.203125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+A(A &&) : : [default] void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -30)" height="18" width="148.96875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+A(const A &) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, -8)" height="18" width="100.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+A(T t) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 14)" height="18" width="152.96875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+~A() : : [default] void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 36)" height="18" width="211.6875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+operator=(A && other) : : A &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 58)" height="18" width="201.015625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+operator=(A & other) : : A &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 80)" height="18" width="144.53125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+operator++() : : A &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 102)" height="18" width="152.53125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+auto_method() : : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 124)" height="18" width="171.203125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+basic_method() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 146)" height="18" width="223.671875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+const_method() : : [const] void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 168)" height="18" width="188.078125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="text-decoration: underline; display: inline-block; white-space: nowrap;">
|
||||
<span style="text-decoration:underline;" class="nodeLabel">+create_from_int(int i) : : A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 190)" height="18" width="193.890625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+default_int(int i = 12) : : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 212)" height="18" width="378.640625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+default_string(int i, std::string s = "abc") : : std::string</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 234)" height="18" width="200.5625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+double_int(const int i) : : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 256)" height="18" width="177.859375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-private_method() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 278)" height="18" width="200.109375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">#protected_method() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 300)" height="18" width="268.109375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+size() : : [const,constexpr] std::size_t</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 322)" height="18" width="158.734375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="text-decoration: underline; display: inline-block; white-space: nowrap;">
|
||||
<span style="text-decoration:underline;" class="nodeLabel">+static_method() : : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -189.3203125, 344)" height="18" width="306.40625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+sum(const double a, const double b) : : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -1,64 +1,297 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="346px" preserveAspectRatio="none" style="width:177px;height:346px;" version="1.1" viewBox="0 0 177 346" width="177px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="397px" preserveAspectRatio="none" style="width:1096px;height:397px;background:#FFFFFF;" version="1.1" viewBox="0 0 1096 397" width="1096px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f1tg0mm62cz8gy" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L4" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L4" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1tg0mm62cz8gy)" height="73.6094" id="C_0001552274940876611774" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="25" y="262"/>
|
||||
<ellipse cx="81.25" cy="278" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M84.2188,283.6406 Q83.6406,283.9375 83,284.0781 Q82.3594,284.2344 81.6563,284.2344 Q79.1563,284.2344 77.8281,282.5938 Q76.5156,280.9375 76.5156,277.8125 Q76.5156,274.6875 77.8281,273.0313 Q79.1563,271.375 81.6563,271.375 Q82.3594,271.375 83,271.5313 Q83.6563,271.6875 84.2188,271.9844 L84.2188,274.7031 Q83.5938,274.125 83,273.8594 Q82.4063,273.5781 81.7813,273.5781 Q80.4375,273.5781 79.75,274.6563 Q79.0625,275.7188 79.0625,277.8125 Q79.0625,279.9063 79.75,280.9844 Q80.4375,282.0469 81.7813,282.0469 Q82.4063,282.0469 83,281.7813 Q83.5938,281.5 84.2188,280.9219 L84.2188,283.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="101.75" y="282.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="26" x2="153" y1="294" y2="294"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="26" x2="153" y1="302" y2="302"/>
|
||||
<ellipse cx="36" cy="313" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="45" y="316.2104">foo() const : void</text>
|
||||
<ellipse cx="36" cy="325.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="103" x="45" y="329.0151">foo2() const : void</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L4" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L4" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001232624428734051711">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="48" id="C_0001232624428734051711" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="20" y="183.2"/>
|
||||
<ellipse cx="35" cy="199.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M30,200.3563 C30,202.8563 32.1406,204.6688 35.0625,204.6688 C36.2969,204.6688 37.4688,204.3719 38.2188,203.8563 C38.8281,203.4344 39.1563,203.0125 39.1563,202.6063 C39.1563,202.1375 38.7344,201.7313 38.2344,201.7313 C38,201.7313 37.7813,201.8094 37.5781,202.0125 C37.1406,202.45 37.1406,202.45 36.9688,202.5438 C36.5156,202.7781 35.875,202.9188 35.1094,202.9188 C33.1094,202.9188 31.8281,201.9031 31.8281,200.325 L31.8281,199.2781 C31.8281,197.575 33.0469,196.3719 34.75,196.3719 C35.3281,196.3719 35.9063,196.5125 36.375,196.7625 C36.8438,197.0281 37.0156,197.2156 37.0781,197.575 C37.2031,198.2469 37.4531,198.4969 37.9844,198.4969 C38.2656,198.4969 38.5469,198.3563 38.7344,198.1375 C38.8594,197.9656 38.9063,197.7938 38.9063,197.3563 L38.9063,195.9969 C38.9063,195.575 38.8906,195.4344 38.7656,195.2625 C38.5938,195.0125 38.3125,194.8563 37.9844,194.8563 C37.6719,194.8563 37.4688,194.9656 37.25,195.2313 C36.0781,194.7313 35.6406,194.6219 34.6875,194.6219 C32.0156,194.6219 30,196.6375 30,199.2625 L30,200.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="49" y="203.806">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="21" x2="60" y1="215.2" y2="215.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="21" x2="60" y1="223.2" y2="223.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L8" target="_top" title="AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L8" xlink:show="new" xlink:title="AA" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1tg0mm62cz8gy)" height="48" id="C_0002271225329027363802" style="stroke: #A80036; stroke-width: 1.5;" width="48" x="65.5" y="154"/>
|
||||
<ellipse cx="80.5" cy="170" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M83.4688,175.6406 Q82.8906,175.9375 82.25,176.0781 Q81.6094,176.2344 80.9063,176.2344 Q78.4063,176.2344 77.0781,174.5938 Q75.7656,172.9375 75.7656,169.8125 Q75.7656,166.6875 77.0781,165.0313 Q78.4063,163.375 80.9063,163.375 Q81.6094,163.375 82.25,163.5313 Q82.9063,163.6875 83.4688,163.9844 L83.4688,166.7031 Q82.8438,166.125 82.25,165.8594 Q81.6563,165.5781 81.0313,165.5781 Q79.6875,165.5781 79,166.6563 Q78.3125,167.7188 78.3125,169.8125 Q78.3125,171.9063 79,172.9844 Q79.6875,174.0469 81.0313,174.0469 Q81.6563,174.0469 82.25,173.7813 Q82.8438,173.5 83.4688,172.9219 L83.4688,175.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="16" x="94.5" y="174.1543">AA</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="66.5" x2="112.5" y1="186" y2="186"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="66.5" x2="112.5" y1="194" y2="194"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L6" target="_top" title="B##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L6" xlink:show="new" xlink:title="B##AA" xlink:type="simple">
|
||||
<g id="elem_C_0001630205507215126623">
|
||||
<rect codeLine="6" fill="#F1F1F1" height="98.3998" id="C_0001630205507215126623" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="67" x="7" y="7"/>
|
||||
<ellipse cx="22" cy="23" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M20.8594,24.0625 L22.1719,24.0625 L22.1719,24.1094 C22.1719,24.5156 22.1875,24.6719 22.2969,24.8281 C22.4688,25.0781 22.7656,25.25 23.0781,25.25 C23.3594,25.25 23.6563,25.1094 23.8281,24.8906 C23.9531,24.7031 24,24.5625 24,24.1094 L24,22.2656 C24,21.9375 23.9844,21.8281 23.9219,21.6563 C23.8125,21.3594 23.4531,21.1094 23.0781,21.1094 C22.7813,21.1094 22.5156,21.25 22.3438,21.4688 C22.2031,21.6563 22.1719,21.8281 22.1719,22.2656 L22.1719,22.3281 L20.8594,22.3281 L20.8594,20.1563 L24.7031,20.1563 L24.7031,20.9063 C24.7031,21.2969 24.7344,21.4844 24.8438,21.6406 C25.0156,21.8906 25.3125,22.0625 25.625,22.0625 C25.9219,22.0625 26.1875,21.9375 26.375,21.7031 C26.5156,21.5156 26.5469,21.375 26.5469,20.9063 L26.5469,18.4063 L18.8438,18.4063 C18.3906,18.4063 18.2656,18.4219 18.0938,18.5313 C17.8281,18.7031 17.6563,18.9688 17.6563,19.2813 C17.6563,19.5625 17.7813,19.8281 18.0313,20 C18.2188,20.125 18.4063,20.1563 18.8438,20.1563 L19.0313,20.1563 L19.0313,26.25 L18.8438,26.25 C18.4219,26.25 18.2656,26.2813 18.0938,26.375 C17.8281,26.5313 17.6563,26.8125 17.6563,27.1094 C17.6563,27.6875 18.0625,28 18.8438,28 L26.9219,28 L26.9219,25.4688 C26.9219,25.0625 26.8906,24.8906 26.7813,24.7344 C26.6094,24.4688 26.3281,24.3125 26,24.3125 C25.7188,24.3125 25.4375,24.4531 25.25,24.6719 C25.1094,24.8594 25.0781,25.0156 25.0781,25.4688 L25.0781,26.25 L20.8594,26.25 L20.8594,24.0625 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="36" y="27.606">B::AA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="73" y1="39" y2="39"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="13" y="56.0059">AA_1</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="13" y="72.8059">AA_2</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="13" y="89.6058">AA_3</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="73" y1="97.3998" y2="97.3998"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L10" target="_top" title="Lights" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L10" xlink:show="new" xlink:title="Lights" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1tg0mm62cz8gy)" height="86.4141" id="C_0002089215354681672811" style="stroke: #A80036; stroke-width: 1.5;" width="69" x="6" y="8"/>
|
||||
<ellipse cx="21" cy="24" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M25.1094,30 L17.3906,30 L17.3906,17.6094 L25.1094,17.6094 L25.1094,19.7656 L19.8438,19.7656 L19.8438,22.4375 L24.6094,22.4375 L24.6094,24.5938 L19.8438,24.5938 L19.8438,27.8438 L25.1094,27.8438 L25.1094,30 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="35" y="28.1543">Lights</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="74" y1="40" y2="40"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="12" y="54.2104">Green</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="12" y="67.0151">Yellow</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="12" y="79.8198">Red</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="74" y1="86.4141" y2="86.4141"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001552274940876611774">
|
||||
<rect codeLine="12" fill="#F1F1F1" height="81.5999" id="C_0001552274940876611774" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="140" x="178.5" y="309"/>
|
||||
<ellipse cx="239.75" cy="325" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M234.75,326.1563 C234.75,328.6563 236.8906,330.4688 239.8125,330.4688 C241.0469,330.4688 242.2188,330.1719 242.9688,329.6563 C243.5781,329.2344 243.9063,328.8125 243.9063,328.4063 C243.9063,327.9375 243.4844,327.5313 242.9844,327.5313 C242.75,327.5313 242.5313,327.6094 242.3281,327.8125 C241.8906,328.25 241.8906,328.25 241.7188,328.3438 C241.2656,328.5781 240.625,328.7188 239.8594,328.7188 C237.8594,328.7188 236.5781,327.7031 236.5781,326.125 L236.5781,325.0781 C236.5781,323.375 237.7969,322.1719 239.5,322.1719 C240.0781,322.1719 240.6563,322.3125 241.125,322.5625 C241.5938,322.8281 241.7656,323.0156 241.8281,323.375 C241.9531,324.0469 242.2031,324.2969 242.7344,324.2969 C243.0156,324.2969 243.2969,324.1563 243.4844,323.9375 C243.6094,323.7656 243.6563,323.5938 243.6563,323.1563 L243.6563,321.7969 C243.6563,321.375 243.6406,321.2344 243.5156,321.0625 C243.3438,320.8125 243.0625,320.6563 242.7344,320.6563 C242.4219,320.6563 242.2188,320.7656 242,321.0313 C240.8281,320.5313 240.3906,320.4219 239.4375,320.4219 C236.7656,320.4219 234.75,322.4375 234.75,325.0625 L234.75,326.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="260.25" y="329.606">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="179.5" x2="317.5" y1="341" y2="341"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L11" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L11" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="184.5" y="349.9"/>
|
||||
<ellipse cx="189.5" cy="354.9" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L11" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L11" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="198.5" y="358.0059">foo() const : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L20" target="_top" title="foo2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L20" xlink:show="new" xlink:title="foo2" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="184.5" y="366.6999"/>
|
||||
<ellipse cx="189.5" cy="371.6999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L20" target="_top" title="foo2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L20" xlink:show="new" xlink:title="foo2" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="198.5" y="374.8059">foo2() const : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="179.5" x2="317.5" y1="382.5999" y2="382.5999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L12" target="_top" title="AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00004/t00004.cc#L12" xlink:show="new" xlink:title="AAA" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1tg0mm62cz8gy)" height="48" id="C_0001045909334877971791" style="stroke: #A80036; stroke-width: 1.5;" width="56" x="110.5" y="27"/>
|
||||
<ellipse cx="125.5" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M128.4688,48.6406 Q127.8906,48.9375 127.25,49.0781 Q126.6094,49.2344 125.9063,49.2344 Q123.4063,49.2344 122.0781,47.5938 Q120.7656,45.9375 120.7656,42.8125 Q120.7656,39.6875 122.0781,38.0313 Q123.4063,36.375 125.9063,36.375 Q126.6094,36.375 127.25,36.5313 Q127.9063,36.6875 128.4688,36.9844 L128.4688,39.7031 Q127.8438,39.125 127.25,38.8594 Q126.6563,38.5781 126.0313,38.5781 Q124.6875,38.5781 124,39.6563 Q123.3125,40.7188 123.3125,42.8125 Q123.3125,44.9063 124,45.9844 Q124.6875,47.0469 126.0313,47.0469 Q126.6563,47.0469 127.25,46.7813 Q127.8438,46.5 128.4688,45.9219 L128.4688,48.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="24" x="139.5" y="47.1543">AAA</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="111.5" x2="165.5" y1="59" y2="59"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="111.5" x2="165.5" y1="67" y2="67"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L13" target="_top" title="A##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L13" xlink:show="new" xlink:title="A##AA" xlink:type="simple">
|
||||
<g id="elem_C_0001742499843727859552">
|
||||
<rect codeLine="18" fill="#F1F1F1" height="48" id="C_0001742499843727859552" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="67" x="215" y="183.2"/>
|
||||
<ellipse cx="230" cy="199.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M225,200.3563 C225,202.8563 227.1406,204.6688 230.0625,204.6688 C231.2969,204.6688 232.4688,204.3719 233.2188,203.8563 C233.8281,203.4344 234.1563,203.0125 234.1563,202.6063 C234.1563,202.1375 233.7344,201.7313 233.2344,201.7313 C233,201.7313 232.7813,201.8094 232.5781,202.0125 C232.1406,202.45 232.1406,202.45 231.9688,202.5438 C231.5156,202.7781 230.875,202.9188 230.1094,202.9188 C228.1094,202.9188 226.8281,201.9031 226.8281,200.325 L226.8281,199.2781 C226.8281,197.575 228.0469,196.3719 229.75,196.3719 C230.3281,196.3719 230.9063,196.5125 231.375,196.7625 C231.8438,197.0281 232.0156,197.2156 232.0781,197.575 C232.2031,198.2469 232.4531,198.4969 232.9844,198.4969 C233.2656,198.4969 233.5469,198.3563 233.7344,198.1375 C233.8594,197.9656 233.9063,197.7938 233.9063,197.3563 L233.9063,195.9969 C233.9063,195.575 233.8906,195.4344 233.7656,195.2625 C233.5938,195.0125 233.3125,194.8563 232.9844,194.8563 C232.6719,194.8563 232.4688,194.9656 232.25,195.2313 C231.0781,194.7313 230.6406,194.6219 229.6875,194.6219 C227.0156,194.6219 225,196.6375 225,199.2625 L225,200.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="244" y="203.806">A::AA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="216" x2="281" y1="215.2" y2="215.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="216" x2="281" y1="223.2" y2="223.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<path d="M89.5,202.23 C89.5,214.91 89.5,231.15 89.5,246.64 " fill="none" id="C_0002271225329027363802->C_0001552274940876611774" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="89.5" cy="253.71" fill="#FFFFFF" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="89.5" x2="89.5" y1="245.71" y2="261.71"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="97.5" x2="81.5" y1="253.71" y2="253.71"/>
|
||||
<path d="M57.09,94.32 C62.8,108.88 69.15,125.08 74.71,139.26 " fill="none" id="C_0002089215354681672811->C_0002271225329027363802" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="77.4428" cy="146.2208" fill="#FFFFFF" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="74.5256" x2="80.36" y1="138.7717" y2="153.67"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="84.892" x2="69.9936" y1="143.3036" y2="149.138"/>
|
||||
<path d="M129.4,75.22 C122.32,93.29 112.35,118.72 104.15,139.64 " fill="none" id="C_0001045909334877971791->C_0002271225329027363802" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="101.4738" cy="146.4634" fill="#FFFFFF" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="104.3976" x2="98.55" y1="139.0169" y2="153.91"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.0;" x1="108.9204" x2="94.0272" y1="149.3872" y2="143.5396"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L15" target="_top" title="A##AA##Lights" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L15" xlink:show="new" xlink:title="A##AA##Lights" xlink:type="simple">
|
||||
<g id="elem_C_0000590936874508841244">
|
||||
<rect codeLine="22" fill="#F1F1F1" height="98.3998" id="C_0000590936874508841244" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="109" y="7"/>
|
||||
<ellipse cx="124" cy="23" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M122.8594,24.0625 L124.1719,24.0625 L124.1719,24.1094 C124.1719,24.5156 124.1875,24.6719 124.2969,24.8281 C124.4688,25.0781 124.7656,25.25 125.0781,25.25 C125.3594,25.25 125.6563,25.1094 125.8281,24.8906 C125.9531,24.7031 126,24.5625 126,24.1094 L126,22.2656 C126,21.9375 125.9844,21.8281 125.9219,21.6563 C125.8125,21.3594 125.4531,21.1094 125.0781,21.1094 C124.7813,21.1094 124.5156,21.25 124.3438,21.4688 C124.2031,21.6563 124.1719,21.8281 124.1719,22.2656 L124.1719,22.3281 L122.8594,22.3281 L122.8594,20.1563 L126.7031,20.1563 L126.7031,20.9063 C126.7031,21.2969 126.7344,21.4844 126.8438,21.6406 C127.0156,21.8906 127.3125,22.0625 127.625,22.0625 C127.9219,22.0625 128.1875,21.9375 128.375,21.7031 C128.5156,21.5156 128.5469,21.375 128.5469,20.9063 L128.5469,18.4063 L120.8438,18.4063 C120.3906,18.4063 120.2656,18.4219 120.0938,18.5313 C119.8281,18.7031 119.6563,18.9688 119.6563,19.2813 C119.6563,19.5625 119.7813,19.8281 120.0313,20 C120.2188,20.125 120.4063,20.1563 120.8438,20.1563 L121.0313,20.1563 L121.0313,26.25 L120.8438,26.25 C120.4219,26.25 120.2656,26.2813 120.0938,26.375 C119.8281,26.5313 119.6563,26.8125 119.6563,27.1094 C119.6563,27.6875 120.0625,28 120.8438,28 L128.9219,28 L128.9219,25.4688 C128.9219,25.0625 128.8906,24.8906 128.7813,24.7344 C128.6094,24.4688 128.3281,24.3125 128,24.3125 C127.7188,24.3125 127.4375,24.4531 127.25,24.6719 C127.1094,24.8594 127.0781,25.0156 127.0781,25.4688 L127.0781,26.25 L122.8594,26.25 L122.8594,24.0625 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="138" y="27.606">A::AA::Lights</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="110" x2="221" y1="39" y2="39"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="115" y="56.0059">Green</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="115" y="72.8059">Yellow</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="115" y="89.6058">Red</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="110" x2="221" y1="97.3998" y2="97.3998"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L17" target="_top" title="A##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L17" xlink:show="new" xlink:title="A##AA##AAA" xlink:type="simple">
|
||||
<g id="elem_C_0001430186633004282131">
|
||||
<rect codeLine="28" fill="#F1F1F1" height="48" id="C_0001430186633004282131" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="256.5" y="32.2"/>
|
||||
<ellipse cx="271.5" cy="48.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M266.5,49.3563 C266.5,51.8563 268.6406,53.6688 271.5625,53.6688 C272.7969,53.6688 273.9688,53.3719 274.7188,52.8563 C275.3281,52.4344 275.6563,52.0125 275.6563,51.6063 C275.6563,51.1375 275.2344,50.7313 274.7344,50.7313 C274.5,50.7313 274.2813,50.8094 274.0781,51.0125 C273.6406,51.45 273.6406,51.45 273.4688,51.5438 C273.0156,51.7781 272.375,51.9188 271.6094,51.9188 C269.6094,51.9188 268.3281,50.9031 268.3281,49.325 L268.3281,48.2781 C268.3281,46.575 269.5469,45.3719 271.25,45.3719 C271.8281,45.3719 272.4063,45.5125 272.875,45.7625 C273.3438,46.0281 273.5156,46.2156 273.5781,46.575 C273.7031,47.2469 273.9531,47.4969 274.4844,47.4969 C274.7656,47.4969 275.0469,47.3563 275.2344,47.1375 C275.3594,46.9656 275.4063,46.7938 275.4063,46.3563 L275.4063,44.9969 C275.4063,44.575 275.3906,44.4344 275.2656,44.2625 C275.0938,44.0125 274.8125,43.8563 274.4844,43.8563 C274.1719,43.8563 273.9688,43.9656 273.75,44.2313 C272.5781,43.7313 272.1406,43.6219 271.1875,43.6219 C268.5156,43.6219 266.5,45.6375 266.5,48.2625 L266.5,49.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70" x="285.5" y="52.806">A::AA::AAA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="257.5" x2="357.5" y1="64.2" y2="64.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="257.5" x2="357.5" y1="72.2" y2="72.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L33" target="_top" title="C##B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L33" xlink:show="new" xlink:title="C##B" xlink:type="simple">
|
||||
<g id="elem_C_0000287819369330075965">
|
||||
<rect codeLine="32" fill="#F1F1F1" height="48" id="C_0000287819369330075965" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="76" x="428.5" y="32.2"/>
|
||||
<ellipse cx="443.5" cy="48.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M438.5,49.3563 C438.5,51.8563 440.6406,53.6688 443.5625,53.6688 C444.7969,53.6688 445.9688,53.3719 446.7188,52.8563 C447.3281,52.4344 447.6563,52.0125 447.6563,51.6063 C447.6563,51.1375 447.2344,50.7313 446.7344,50.7313 C446.5,50.7313 446.2813,50.8094 446.0781,51.0125 C445.6406,51.45 445.6406,51.45 445.4688,51.5438 C445.0156,51.7781 444.375,51.9188 443.6094,51.9188 C441.6094,51.9188 440.3281,50.9031 440.3281,49.325 L440.3281,48.2781 C440.3281,46.575 441.5469,45.3719 443.25,45.3719 C443.8281,45.3719 444.4063,45.5125 444.875,45.7625 C445.3438,46.0281 445.5156,46.2156 445.5781,46.575 C445.7031,47.2469 445.9531,47.4969 446.4844,47.4969 C446.7656,47.4969 447.0469,47.3563 447.2344,47.1375 C447.3594,46.9656 447.4063,46.7938 447.4063,46.3563 L447.4063,44.9969 C447.4063,44.575 447.3906,44.4344 447.2656,44.2625 C447.0938,44.0125 446.8125,43.8563 446.4844,43.8563 C446.1719,43.8563 445.9688,43.9656 445.75,44.2313 C444.5781,43.7313 444.1406,43.6219 443.1875,43.6219 C440.5156,43.6219 438.5,45.6375 438.5,48.2625 L438.5,49.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="457.5" y="52.806">C::B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="15" x="492.5" y="29.2"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="13" x="493.5" y="43.4001">int</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="429.5" x2="503.5" y1="64.2" y2="64.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="429.5" x2="503.5" y1="72.2" y2="72.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L23" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L23" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0002278328177727440136">
|
||||
<rect codeLine="36" fill="#F1F1F1" height="81.5999" id="C_0002278328177727440136" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="109" x="500" y="309"/>
|
||||
<ellipse cx="540.2" cy="325" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M535.2,326.1563 C535.2,328.6563 537.3406,330.4688 540.2625,330.4688 C541.4969,330.4688 542.6688,330.1719 543.4188,329.6563 C544.0281,329.2344 544.3563,328.8125 544.3563,328.4063 C544.3563,327.9375 543.9344,327.5313 543.4344,327.5313 C543.2,327.5313 542.9813,327.6094 542.7781,327.8125 C542.3406,328.25 542.3406,328.25 542.1688,328.3438 C541.7156,328.5781 541.075,328.7188 540.3094,328.7188 C538.3094,328.7188 537.0281,327.7031 537.0281,326.125 L537.0281,325.0781 C537.0281,323.375 538.2469,322.1719 539.95,322.1719 C540.5281,322.1719 541.1063,322.3125 541.575,322.5625 C542.0438,322.8281 542.2156,323.0156 542.2781,323.375 C542.4031,324.0469 542.6531,324.2969 543.1844,324.2969 C543.4656,324.2969 543.7469,324.1563 543.9344,323.9375 C544.0594,323.7656 544.1063,323.5938 544.1063,323.1563 L544.1063,321.7969 C544.1063,321.375 544.0906,321.2344 543.9656,321.0625 C543.7938,320.8125 543.5125,320.6563 543.1844,320.6563 C542.8719,320.6563 542.6688,320.7656 542.45,321.0313 C541.2781,320.5313 540.8406,320.4219 539.8875,320.4219 C537.2156,320.4219 535.2,322.4375 535.2,325.0625 L535.2,326.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="559.8" y="329.606">C</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="603" y="306"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="604" y="320.2001">T</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="501" x2="608" y1="341" y2="341"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="501" x2="608" y1="349" y2="349"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L37" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L37" xlink:show="new" xlink:title="b_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="506" y="357.9"/>
|
||||
<ellipse cx="511" cy="362.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L37" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L37" xlink:show="new" xlink:title="b_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="520" y="366.0059">b_int : B<int></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L25" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L25" xlink:show="new" xlink:title="t" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="506" y="374.6999"/>
|
||||
<ellipse cx="511" cy="379.6999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L25" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L25" xlink:show="new" xlink:title="t" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="520" y="382.8059">t : T</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L27" target="_top" title="C##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L27" xlink:show="new" xlink:title="C##AA" xlink:type="simple">
|
||||
<g id="elem_C_0000623940132897927654">
|
||||
<rect codeLine="42" fill="#F1F1F1" height="48" id="C_0000623940132897927654" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="68" x="593.5" y="183.2"/>
|
||||
<ellipse cx="608.5" cy="199.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M603.5,200.3563 C603.5,202.8563 605.6406,204.6688 608.5625,204.6688 C609.7969,204.6688 610.9688,204.3719 611.7188,203.8563 C612.3281,203.4344 612.6563,203.0125 612.6563,202.6063 C612.6563,202.1375 612.2344,201.7313 611.7344,201.7313 C611.5,201.7313 611.2813,201.8094 611.0781,202.0125 C610.6406,202.45 610.6406,202.45 610.4688,202.5438 C610.0156,202.7781 609.375,202.9188 608.6094,202.9188 C606.6094,202.9188 605.3281,201.9031 605.3281,200.325 L605.3281,199.2781 C605.3281,197.575 606.5469,196.3719 608.25,196.3719 C608.8281,196.3719 609.4063,196.5125 609.875,196.7625 C610.3438,197.0281 610.5156,197.2156 610.5781,197.575 C610.7031,198.2469 610.9531,198.4969 611.4844,198.4969 C611.7656,198.4969 612.0469,198.3563 612.2344,198.1375 C612.3594,197.9656 612.4063,197.7938 612.4063,197.3563 L612.4063,195.9969 C612.4063,195.575 612.3906,195.4344 612.2656,195.2625 C612.0938,195.0125 611.8125,194.8563 611.4844,194.8563 C611.1719,194.8563 610.9688,194.9656 610.75,195.2313 C609.5781,194.7313 609.1406,194.6219 608.1875,194.6219 C605.5156,194.6219 603.5,196.6375 603.5,199.2625 L603.5,200.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="622.5" y="203.806">C::AA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="594.5" x2="660.5" y1="215.2" y2="215.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="594.5" x2="660.5" y1="223.2" y2="223.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L28" target="_top" title="C##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L28" xlink:show="new" xlink:title="C##AA##AAA" xlink:type="simple">
|
||||
<g id="elem_C_0001597801087286500866">
|
||||
<rect codeLine="46" fill="#F1F1F1" height="48" id="C_0001597801087286500866" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="553" y="32.2"/>
|
||||
<ellipse cx="568" cy="48.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M563,49.3563 C563,51.8563 565.1406,53.6688 568.0625,53.6688 C569.2969,53.6688 570.4688,53.3719 571.2188,52.8563 C571.8281,52.4344 572.1563,52.0125 572.1563,51.6063 C572.1563,51.1375 571.7344,50.7313 571.2344,50.7313 C571,50.7313 570.7813,50.8094 570.5781,51.0125 C570.1406,51.45 570.1406,51.45 569.9688,51.5438 C569.5156,51.7781 568.875,51.9188 568.1094,51.9188 C566.1094,51.9188 564.8281,50.9031 564.8281,49.325 L564.8281,48.2781 C564.8281,46.575 566.0469,45.3719 567.75,45.3719 C568.3281,45.3719 568.9063,45.5125 569.375,45.7625 C569.8438,46.0281 570.0156,46.2156 570.0781,46.575 C570.2031,47.2469 570.4531,47.4969 570.9844,47.4969 C571.2656,47.4969 571.5469,47.3563 571.7344,47.1375 C571.8594,46.9656 571.9063,46.7938 571.9063,46.3563 L571.9063,44.9969 C571.9063,44.575 571.8906,44.4344 571.7656,44.2625 C571.5938,44.0125 571.3125,43.8563 570.9844,43.8563 C570.6719,43.8563 570.4688,43.9656 570.25,44.2313 C569.0781,43.7313 568.6406,43.6219 567.6875,43.6219 C565.0156,43.6219 563,45.6375 563,48.2625 L563,49.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="582" y="52.806">C::AA::AAA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="554" x2="655" y1="64.2" y2="64.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="554" x2="655" y1="72.2" y2="72.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L30" target="_top" title="C##AA##CCC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L30" xlink:show="new" xlink:title="C##AA##CCC" xlink:type="simple">
|
||||
<g id="elem_C_0000081819202639599734">
|
||||
<rect codeLine="50" fill="#F1F1F1" height="81.5999" id="C_0000081819202639599734" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="106" x="691.5" y="15.4"/>
|
||||
<ellipse cx="706.5" cy="31.4" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M705.3594,32.4625 L706.6719,32.4625 L706.6719,32.5094 C706.6719,32.9156 706.6875,33.0719 706.7969,33.2281 C706.9688,33.4781 707.2656,33.65 707.5781,33.65 C707.8594,33.65 708.1563,33.5094 708.3281,33.2906 C708.4531,33.1031 708.5,32.9625 708.5,32.5094 L708.5,30.6656 C708.5,30.3375 708.4844,30.2281 708.4219,30.0563 C708.3125,29.7594 707.9531,29.5094 707.5781,29.5094 C707.2813,29.5094 707.0156,29.65 706.8438,29.8688 C706.7031,30.0563 706.6719,30.2281 706.6719,30.6656 L706.6719,30.7281 L705.3594,30.7281 L705.3594,28.5563 L709.2031,28.5563 L709.2031,29.3063 C709.2031,29.6969 709.2344,29.8844 709.3438,30.0406 C709.5156,30.2906 709.8125,30.4625 710.125,30.4625 C710.4219,30.4625 710.6875,30.3375 710.875,30.1031 C711.0156,29.9156 711.0469,29.775 711.0469,29.3063 L711.0469,26.8063 L703.3438,26.8063 C702.8906,26.8063 702.7656,26.8219 702.5938,26.9313 C702.3281,27.1031 702.1563,27.3688 702.1563,27.6813 C702.1563,27.9625 702.2813,28.2281 702.5313,28.4 C702.7188,28.525 702.9063,28.5563 703.3438,28.5563 L703.5313,28.5563 L703.5313,34.65 L703.3438,34.65 C702.9219,34.65 702.7656,34.6813 702.5938,34.775 C702.3281,34.9313 702.1563,35.2125 702.1563,35.5094 C702.1563,36.0875 702.5625,36.4 703.3438,36.4 L711.4219,36.4 L711.4219,33.8688 C711.4219,33.4625 711.3906,33.2906 711.2813,33.1344 C711.1094,32.8688 710.8281,32.7125 710.5,32.7125 C710.2188,32.7125 709.9375,32.8531 709.75,33.0719 C709.6094,33.2594 709.5781,33.4156 709.5781,33.8688 L709.5781,34.65 L705.3594,34.65 L705.3594,32.4625 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="720.5" y="36.006">C::AA::CCC</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="692.5" x2="796.5" y1="47.4" y2="47.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="697.5" y="64.4059">CCC_1</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="697.5" y="81.2059">CCC_2</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="692.5" x2="796.5" y1="88.9999" y2="88.9999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L33" target="_top" title="C##B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L33" xlink:show="new" xlink:title="C##B" xlink:type="simple">
|
||||
<g id="elem_C_0001381298335849583950">
|
||||
<rect codeLine="55" fill="#F1F1F1" height="64.7999" id="C_0001381298335849583950" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="71" x="376" y="174.8"/>
|
||||
<ellipse cx="391" cy="190.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M386,191.9563 C386,194.4563 388.1406,196.2688 391.0625,196.2688 C392.2969,196.2688 393.4688,195.9719 394.2188,195.4563 C394.8281,195.0344 395.1563,194.6125 395.1563,194.2063 C395.1563,193.7375 394.7344,193.3313 394.2344,193.3313 C394,193.3313 393.7813,193.4094 393.5781,193.6125 C393.1406,194.05 393.1406,194.05 392.9688,194.1438 C392.5156,194.3781 391.875,194.5188 391.1094,194.5188 C389.1094,194.5188 387.8281,193.5031 387.8281,191.925 L387.8281,190.8781 C387.8281,189.175 389.0469,187.9719 390.75,187.9719 C391.3281,187.9719 391.9063,188.1125 392.375,188.3625 C392.8438,188.6281 393.0156,188.8156 393.0781,189.175 C393.2031,189.8469 393.4531,190.0969 393.9844,190.0969 C394.2656,190.0969 394.5469,189.9563 394.7344,189.7375 C394.8594,189.5656 394.9063,189.3938 394.9063,188.9563 L394.9063,187.5969 C394.9063,187.175 394.8906,187.0344 394.7656,186.8625 C394.5938,186.6125 394.3125,186.4563 393.9844,186.4563 C393.6719,186.4563 393.4688,186.5656 393.25,186.8313 C392.0781,186.3313 391.6406,186.2219 390.6875,186.2219 C388.0156,186.2219 386,188.2375 386,190.8625 L386,191.9563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="405" y="195.406">C::B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="10" x="440" y="171.8"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="8" x="441" y="186.0001">V</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="377" x2="446" y1="206.8" y2="206.8"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="377" x2="446" y1="214.8" y2="214.8"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L34" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L34" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="382" y="223.7"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="384" y="225.7"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L34" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L34" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="396" y="231.8059">b : V</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L39" target="_top" title="C##CC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L39" xlink:show="new" xlink:title="C##CC" xlink:type="simple">
|
||||
<g id="elem_C_0002037378936100378699">
|
||||
<rect codeLine="60" fill="#F1F1F1" height="81.5999" id="C_0002037378936100378699" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="70" x="696.5" y="166.4"/>
|
||||
<ellipse cx="711.5" cy="182.4" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M710.3594,183.4625 L711.6719,183.4625 L711.6719,183.5094 C711.6719,183.9156 711.6875,184.0719 711.7969,184.2281 C711.9688,184.4781 712.2656,184.65 712.5781,184.65 C712.8594,184.65 713.1563,184.5094 713.3281,184.2906 C713.4531,184.1031 713.5,183.9625 713.5,183.5094 L713.5,181.6656 C713.5,181.3375 713.4844,181.2281 713.4219,181.0563 C713.3125,180.7594 712.9531,180.5094 712.5781,180.5094 C712.2813,180.5094 712.0156,180.65 711.8438,180.8688 C711.7031,181.0563 711.6719,181.2281 711.6719,181.6656 L711.6719,181.7281 L710.3594,181.7281 L710.3594,179.5563 L714.2031,179.5563 L714.2031,180.3063 C714.2031,180.6969 714.2344,180.8844 714.3438,181.0406 C714.5156,181.2906 714.8125,181.4625 715.125,181.4625 C715.4219,181.4625 715.6875,181.3375 715.875,181.1031 C716.0156,180.9156 716.0469,180.775 716.0469,180.3063 L716.0469,177.8063 L708.3438,177.8063 C707.8906,177.8063 707.7656,177.8219 707.5938,177.9313 C707.3281,178.1031 707.1563,178.3688 707.1563,178.6813 C707.1563,178.9625 707.2813,179.2281 707.5313,179.4 C707.7188,179.525 707.9063,179.5563 708.3438,179.5563 L708.5313,179.5563 L708.5313,185.65 L708.3438,185.65 C707.9219,185.65 707.7656,185.6813 707.5938,185.775 C707.3281,185.9313 707.1563,186.2125 707.1563,186.5094 C707.1563,187.0875 707.5625,187.4 708.3438,187.4 L716.4219,187.4 L716.4219,184.8688 C716.4219,184.4625 716.3906,184.2906 716.2813,184.1344 C716.1094,183.8688 715.8281,183.7125 715.5,183.7125 C715.2188,183.7125 714.9375,183.8531 714.75,184.0719 C714.6094,184.2594 714.5781,184.4156 714.5781,184.8688 L714.5781,185.65 L710.3594,185.65 L710.3594,183.4625 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="725.5" y="187.006">C::CC</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="697.5" x2="765.5" y1="198.4" y2="198.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="702.5" y="215.4059">CC_1</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="702.5" y="232.2059">CC_2</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="697.5" x2="765.5" y1="239.9999" y2="239.9999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L43" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L43" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<g id="elem_C_0000612133170877135796">
|
||||
<rect codeLine="65" fill="#F1F1F1" height="48" id="C_0000612133170877135796" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84" x="918.5" y="183.2"/>
|
||||
<ellipse cx="933.5" cy="199.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M928.5,200.3563 C928.5,202.8563 930.6406,204.6688 933.5625,204.6688 C934.7969,204.6688 935.9688,204.3719 936.7188,203.8563 C937.3281,203.4344 937.6563,203.0125 937.6563,202.6063 C937.6563,202.1375 937.2344,201.7313 936.7344,201.7313 C936.5,201.7313 936.2813,201.8094 936.0781,202.0125 C935.6406,202.45 935.6406,202.45 935.4688,202.5438 C935.0156,202.7781 934.375,202.9188 933.6094,202.9188 C931.6094,202.9188 930.3281,201.9031 930.3281,200.325 L930.3281,199.2781 C930.3281,197.575 931.5469,196.3719 933.25,196.3719 C933.8281,196.3719 934.4063,196.5125 934.875,196.7625 C935.3438,197.0281 935.5156,197.2156 935.5781,197.575 C935.7031,198.2469 935.9531,198.4969 936.4844,198.4969 C936.7656,198.4969 937.0469,198.3563 937.2344,198.1375 C937.3594,197.9656 937.4063,197.7938 937.4063,197.3563 L937.4063,195.9969 C937.4063,195.575 937.3906,195.4344 937.2656,195.2625 C937.0938,195.0125 936.8125,194.8563 936.4844,194.8563 C936.1719,194.8563 935.9688,194.9656 935.75,195.2313 C934.5781,194.7313 934.1406,194.6219 933.1875,194.6219 C930.5156,194.6219 928.5,196.6375 928.5,199.2625 L928.5,200.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="947.5" y="203.806">detail::D</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="919.5" x2="1001.5" y1="215.2" y2="215.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="919.5" x2="1001.5" y1="223.2" y2="223.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L45" target="_top" title="D##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L45" xlink:show="new" xlink:title="D##AA" xlink:type="simple">
|
||||
<g id="elem_C_0001572080057917630922">
|
||||
<rect codeLine="69" fill="#F1F1F1" height="98.3998" id="C_0001572080057917630922" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="110" x="832.5" y="7"/>
|
||||
<ellipse cx="847.5" cy="23" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M846.3594,24.0625 L847.6719,24.0625 L847.6719,24.1094 C847.6719,24.5156 847.6875,24.6719 847.7969,24.8281 C847.9688,25.0781 848.2656,25.25 848.5781,25.25 C848.8594,25.25 849.1563,25.1094 849.3281,24.8906 C849.4531,24.7031 849.5,24.5625 849.5,24.1094 L849.5,22.2656 C849.5,21.9375 849.4844,21.8281 849.4219,21.6563 C849.3125,21.3594 848.9531,21.1094 848.5781,21.1094 C848.2813,21.1094 848.0156,21.25 847.8438,21.4688 C847.7031,21.6563 847.6719,21.8281 847.6719,22.2656 L847.6719,22.3281 L846.3594,22.3281 L846.3594,20.1563 L850.2031,20.1563 L850.2031,20.9063 C850.2031,21.2969 850.2344,21.4844 850.3438,21.6406 C850.5156,21.8906 850.8125,22.0625 851.125,22.0625 C851.4219,22.0625 851.6875,21.9375 851.875,21.7031 C852.0156,21.5156 852.0469,21.375 852.0469,20.9063 L852.0469,18.4063 L844.3438,18.4063 C843.8906,18.4063 843.7656,18.4219 843.5938,18.5313 C843.3281,18.7031 843.1563,18.9688 843.1563,19.2813 C843.1563,19.5625 843.2813,19.8281 843.5313,20 C843.7188,20.125 843.9063,20.1563 844.3438,20.1563 L844.5313,20.1563 L844.5313,26.25 L844.3438,26.25 C843.9219,26.25 843.7656,26.2813 843.5938,26.375 C843.3281,26.5313 843.1563,26.8125 843.1563,27.1094 C843.1563,27.6875 843.5625,28 844.3438,28 L852.4219,28 L852.4219,25.4688 C852.4219,25.0625 852.3906,24.8906 852.2813,24.7344 C852.1094,24.4688 851.8281,24.3125 851.5,24.3125 C851.2188,24.3125 850.9375,24.4531 850.75,24.6719 C850.6094,24.8594 850.5781,25.0156 850.5781,25.4688 L850.5781,26.25 L846.3594,26.25 L846.3594,24.0625 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="861.5" y="27.606">detail::D::AA</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="833.5" x2="941.5" y1="39" y2="39"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="838.5" y="56.0059">AA_1</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="838.5" y="72.8059">AA_2</text>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="838.5" y="89.6058">AA_3</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="833.5" x2="941.5" y1="97.3998" y2="97.3998"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L47" target="_top" title="D##DD" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00004/t00004.cc#L47" xlink:show="new" xlink:title="D##DD" xlink:type="simple">
|
||||
<g id="elem_C_0000600916232677555492">
|
||||
<rect codeLine="75" fill="#F1F1F1" height="48" id="C_0000600916232677555492" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="112" x="977.5" y="32.2"/>
|
||||
<ellipse cx="992.5" cy="48.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M987.5,49.3563 C987.5,51.8563 989.6406,53.6688 992.5625,53.6688 C993.7969,53.6688 994.9688,53.3719 995.7188,52.8563 C996.3281,52.4344 996.6563,52.0125 996.6563,51.6063 C996.6563,51.1375 996.2344,50.7313 995.7344,50.7313 C995.5,50.7313 995.2813,50.8094 995.0781,51.0125 C994.6406,51.45 994.6406,51.45 994.4688,51.5438 C994.0156,51.7781 993.375,51.9188 992.6094,51.9188 C990.6094,51.9188 989.3281,50.9031 989.3281,49.325 L989.3281,48.2781 C989.3281,46.575 990.5469,45.3719 992.25,45.3719 C992.8281,45.3719 993.4063,45.5125 993.875,45.7625 C994.3438,46.0281 994.5156,46.2156 994.5781,46.575 C994.7031,47.2469 994.9531,47.4969 995.4844,47.4969 C995.7656,47.4969 996.0469,47.3563 996.2344,47.1375 C996.3594,46.9656 996.4063,46.7938 996.4063,46.3563 L996.4063,44.9969 C996.4063,44.575 996.3906,44.4344 996.2656,44.2625 C996.0938,44.0125 995.8125,43.8563 995.4844,43.8563 C995.1719,43.8563 994.9688,43.9656 994.75,44.2313 C993.5781,43.7313 993.1406,43.6219 992.1875,43.6219 C989.5156,43.6219 987.5,45.6375 987.5,48.2625 L987.5,49.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80" x="1006.5" y="52.806">detail::D::DD</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="978.5" x2="1088.5" y1="64.2" y2="64.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="978.5" x2="1088.5" y1="72.2" y2="72.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<g id="link_C_0001630205507215126623_C_0001232624428734051711">
|
||||
<path codeLine="78" d="M40.5,105.58 C40.5,131.58 40.5,146.44 40.5,167.07 " fill="none" id="C_0001630205507215126623-to-C_0001232624428734051711" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="40.5" cy="175.07" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="40.5" x2="40.5" y1="167.07" y2="183.07"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="48.5" x2="32.5" y1="175.07" y2="175.07"/>
|
||||
</g>
|
||||
<g id="link_C_0001742499843727859552_C_0001552274940876611774">
|
||||
<path codeLine="79" d="M248.5,231.42 C248.5,252.4 248.5,267.73 248.5,292.75 " fill="none" id="C_0001742499843727859552-to-C_0001552274940876611774" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="248.5" cy="300.75" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="248.5" x2="248.5" y1="292.75" y2="308.75"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="256.5" x2="240.5" y1="300.75" y2="300.75"/>
|
||||
</g>
|
||||
<g id="link_C_0000590936874508841244_C_0001742499843727859552">
|
||||
<path codeLine="80" d="M192.45,105.58 C206.93,131.58 216.3348,148.4618 227.8248,169.0918 " fill="none" id="C_0000590936874508841244-to-C_0001742499843727859552" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="231.7174" cy="176.0809" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="227.8248" x2="235.61" y1="169.0918" y2="183.07"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="238.7065" x2="224.7283" y1="172.1883" y2="179.9735"/>
|
||||
</g>
|
||||
<g id="link_C_0001430186633004282131_C_0001742499843727859552">
|
||||
<path codeLine="81" d="M298.28,80.48 C287.2,108.47 274.6026,140.2846 263.5426,168.2046 " fill="none" id="C_0001430186633004282131-to-C_0001742499843727859552" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="260.5963" cy="175.6423" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="263.5426" x2="257.65" y1="168.2046" y2="183.08"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="268.034" x2="253.1586" y1="178.5886" y2="172.696"/>
|
||||
</g>
|
||||
<g id="link_C_0000287819369330075965_C_0001381298335849583950">
|
||||
<path codeLine="82" d="M457.91,80.48 C448.57,105.77 439.8321,129.4433 429.4321,157.6233 " fill="none" id="C_0000287819369330075965-to-C_0001381298335849583950" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="423.2,174.51,435.061,159.7007,423.8032,155.5459,423.2,174.51" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0002278328177727440136_C_0000287819369330075965">
|
||||
<path codeLine="83" d="M538.9129,297.1418 C520.2529,235.3118 488.54,130.24 473.55,80.57 " fill="none" id="C_0002278328177727440136-backto-C_0000287819369330075965" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="542.38,308.63,544.4759,301.7302,538.9129,297.1418,536.817,304.0416,542.38,308.63" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="530.5" cy="208" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="28" x="537.5" y="211.777">b_int</text>
|
||||
</g>
|
||||
<g id="link_C_0000623940132897927654_C_0002278328177727440136">
|
||||
<path codeLine="84" d="M615.45,231.42 C604.55,252.4 595.6525,269.5298 582.6625,294.5498 " fill="none" id="C_0000623940132897927654-to-C_0002278328177727440136" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="578.9763" cy="301.6499" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="582.6625" x2="575.29" y1="294.5498" y2="308.75"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="586.0764" x2="571.8762" y1="305.3362" y2="297.9636"/>
|
||||
</g>
|
||||
<g id="link_C_0001597801087286500866_C_0000623940132897927654">
|
||||
<path codeLine="85" d="M608.09,80.48 C612.41,108.47 617.179,139.3473 621.489,167.2673 " fill="none" id="C_0001597801087286500866-to-C_0000623940132897927654" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="622.7095" cy="175.1736" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="621.489" x2="623.93" y1="167.2673" y2="183.08"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="630.6159" x2="614.8031" y1="173.9531" y2="176.3941"/>
|
||||
</g>
|
||||
<g id="link_C_0000081819202639599734_C_0000623940132897927654">
|
||||
<path codeLine="86" d="M713.15,97.13 C691.62,124.54 673.6822,147.3966 655.6822,170.3166 " fill="none" id="C_0000081819202639599734-to-C_0000623940132897927654" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="650.7411" cy="176.6083" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="655.6822" x2="645.8" y1="170.3166" y2="182.9"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="657.0328" x2="644.4494" y1="181.5494" y2="171.6672"/>
|
||||
</g>
|
||||
<g id="link_C_0001381298335849583950_C_0002278328177727440136">
|
||||
<path codeLine="87" d="M443.59,239.75 C464.26,260.08 479.9117,275.4617 502.1217,297.3017 " fill="none" id="C_0001381298335849583950-to-C_0002278328177727440136" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="507.8258" cy="302.9109" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="502.1217" x2="513.53" y1="297.3017" y2="308.52"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="513.435" x2="502.2167" y1="297.2067" y2="308.615"/>
|
||||
</g>
|
||||
<g id="link_C_0002037378936100378699_C_0002278328177727440136">
|
||||
<path codeLine="88" d="M696.11,236.31 C669.98,257.07 646.5782,275.6579 617.4482,298.7979 " fill="none" id="C_0002037378936100378699-to-C_0002278328177727440136" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="611.1841" cy="303.774" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="617.4482" x2="604.92" y1="298.7979" y2="308.75"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="616.1601" x2="606.2081" y1="310.0381" y2="297.5099"/>
|
||||
</g>
|
||||
<g id="link_C_0001572080057917630922_C_0000612133170877135796">
|
||||
<path codeLine="89" d="M911.2,105.58 C923.94,131.58 932.019,148.0725 942.129,168.7025 " fill="none" id="C_0001572080057917630922-to-C_0000612133170877135796" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="945.6495" cy="175.8863" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="942.129" x2="949.17" y1="168.7025" y2="183.07"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="952.8333" x2="938.4658" y1="172.3658" y2="179.4067"/>
|
||||
</g>
|
||||
<g id="link_C_0000600916232677555492_C_0000612133170877135796">
|
||||
<path codeLine="90" d="M1022.09,80.48 C1008.38,108.47 992.5358,140.79 978.8658,168.71 " fill="none" id="C_0000600916232677555492-to-C_0000612133170877135796" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="975.3479" cy="175.895" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="978.8658" x2="971.83" y1="168.71" y2="183.08"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="982.5329" x2="968.1629" y1="179.4129" y2="172.3771"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 52 KiB |
615
docs/test_cases/t00004_class_mermaid.svg
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 48 KiB |
500
docs/test_cases/t00005_class_mermaid.svg
Normal file
|
After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 68 KiB |
712
docs/test_cases/t00006_class_mermaid.svg
Normal file
|
After Width: | Height: | Size: 49 KiB |
@@ -1,35 +1,29 @@
|
||||
# t00007 - Smart pointers
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00007_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00007/t00007.cc
|
||||
using_namespace:
|
||||
- clanguml::t00007
|
||||
- t00007.cc
|
||||
using_namespace: clanguml::t00007
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00007
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00007.cc
|
||||
File `tests/t00007/t00007.cc`
|
||||
```cpp
|
||||
#include <memory>
|
||||
|
||||
namespace clanguml {
|
||||
namespace t00007 {
|
||||
class A {
|
||||
};
|
||||
class A { };
|
||||
|
||||
class B {
|
||||
};
|
||||
class B { };
|
||||
|
||||
class C {
|
||||
};
|
||||
class C { };
|
||||
|
||||
class R {
|
||||
public:
|
||||
@@ -37,9 +31,169 @@ public:
|
||||
std::shared_ptr<B> b;
|
||||
std::weak_ptr<C> c;
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace t00007
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00007::A",
|
||||
"id": "98876622534017019",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00007",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00007.cc",
|
||||
"line": 5,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00007::B",
|
||||
"id": "696381312773707784",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00007",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00007.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00007::C",
|
||||
"id": "972031178679364068",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "C",
|
||||
"namespace": "clanguml::t00007",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00007.cc",
|
||||
"line": 9,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00007::R",
|
||||
"id": "66905874721300157",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "a",
|
||||
"source_location": {
|
||||
"column": 24,
|
||||
"file": "t00007.cc",
|
||||
"line": 13,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"type": "std::unique_ptr<A>"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "b",
|
||||
"source_location": {
|
||||
"column": 24,
|
||||
"file": "t00007.cc",
|
||||
"line": 14,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"type": "std::shared_ptr<B>"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "c",
|
||||
"source_location": {
|
||||
"column": 22,
|
||||
"file": "t00007.cc",
|
||||
"line": 15,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"type": "std::weak_ptr<C>"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "R",
|
||||
"namespace": "clanguml::t00007",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00007.cc",
|
||||
"line": 11,
|
||||
"translation_unit": "t00007.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00007_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "98876622534017019",
|
||||
"label": "a",
|
||||
"source": "66905874721300157",
|
||||
"type": "aggregation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "696381312773707784",
|
||||
"label": "b",
|
||||
"source": "66905874721300157",
|
||||
"type": "association"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "972031178679364068",
|
||||
"label": "c",
|
||||
"source": "66905874721300157",
|
||||
"type": "association"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00007"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,75 +1,83 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="230px" preserveAspectRatio="none" style="width:207px;height:230px;" version="1.1" viewBox="0 0 207 230" width="207px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="237px" preserveAspectRatio="none" style="width:207px;height:237px;background:#FFFFFF;" version="1.1" viewBox="0 0 207 237" width="207px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="ffrwv6xyf56yc" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ffrwv6xyf56yc)" height="48" id="C_0000098876622534017019" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="171"/>
|
||||
<ellipse cx="21" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,192.6406 Q23.3906,192.9375 22.75,193.0781 Q22.1094,193.2344 21.4063,193.2344 Q18.9063,193.2344 17.5781,191.5938 Q16.2656,189.9375 16.2656,186.8125 Q16.2656,183.6875 17.5781,182.0313 Q18.9063,180.375 21.4063,180.375 Q22.1094,180.375 22.75,180.5313 Q23.4063,180.6875 23.9688,180.9844 L23.9688,183.7031 Q23.3438,183.125 22.75,182.8594 Q22.1563,182.5781 21.5313,182.5781 Q20.1875,182.5781 19.5,183.6563 Q18.8125,184.7188 18.8125,186.8125 Q18.8125,188.9063 19.5,189.9844 Q20.1875,191.0469 21.5313,191.0469 Q22.1563,191.0469 22.75,190.7813 Q23.3438,190.5 23.9688,189.9219 L23.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="191.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="211" y2="211"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000098876622534017019">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="48" id="C_0000098876622534017019" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="7" y="182.4"/>
|
||||
<ellipse cx="22" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,199.5563 C17,202.0563 19.1406,203.8688 22.0625,203.8688 C23.2969,203.8688 24.4688,203.5719 25.2188,203.0563 C25.8281,202.6344 26.1563,202.2125 26.1563,201.8063 C26.1563,201.3375 25.7344,200.9313 25.2344,200.9313 C25,200.9313 24.7813,201.0094 24.5781,201.2125 C24.1406,201.65 24.1406,201.65 23.9688,201.7438 C23.5156,201.9781 22.875,202.1188 22.1094,202.1188 C20.1094,202.1188 18.8281,201.1031 18.8281,199.525 L18.8281,198.4781 C18.8281,196.775 20.0469,195.5719 21.75,195.5719 C22.3281,195.5719 22.9063,195.7125 23.375,195.9625 C23.8438,196.2281 24.0156,196.4156 24.0781,196.775 C24.2031,197.4469 24.4531,197.6969 24.9844,197.6969 C25.2656,197.6969 25.5469,197.5563 25.7344,197.3375 C25.8594,197.1656 25.9063,196.9938 25.9063,196.5563 L25.9063,195.1969 C25.9063,194.775 25.8906,194.6344 25.7656,194.4625 C25.5938,194.2125 25.3125,194.0563 24.9844,194.0563 C24.6719,194.0563 24.4688,194.1656 24.25,194.4313 C23.0781,193.9313 22.6406,193.8219 21.6875,193.8219 C19.0156,193.8219 17,195.8375 17,198.4625 L17,199.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="36" y="203.006">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="47" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="47" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L8" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L8" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ffrwv6xyf56yc)" height="48" id="C_0000696381312773707784" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="171"/>
|
||||
<ellipse cx="96" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M98.9688,192.6406 Q98.3906,192.9375 97.75,193.0781 Q97.1094,193.2344 96.4063,193.2344 Q93.9063,193.2344 92.5781,191.5938 Q91.2656,189.9375 91.2656,186.8125 Q91.2656,183.6875 92.5781,182.0313 Q93.9063,180.375 96.4063,180.375 Q97.1094,180.375 97.75,180.5313 Q98.4063,180.6875 98.9688,180.9844 L98.9688,183.7031 Q98.3438,183.125 97.75,182.8594 Q97.1563,182.5781 96.5313,182.5781 Q95.1875,182.5781 94.5,183.6563 Q93.8125,184.7188 93.8125,186.8125 Q93.8125,188.9063 94.5,189.9844 Q95.1875,191.0469 96.5313,191.0469 Q97.1563,191.0469 97.75,190.7813 Q98.3438,190.5 98.9688,189.9219 L98.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="110" y="191.1543">B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="211" y2="211"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L7" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L7" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0000696381312773707784">
|
||||
<rect codeLine="6" fill="#F1F1F1" height="48" id="C_0000696381312773707784" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="83" y="182.4"/>
|
||||
<ellipse cx="98" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M93,199.5563 C93,202.0563 95.1406,203.8688 98.0625,203.8688 C99.2969,203.8688 100.4688,203.5719 101.2188,203.0563 C101.8281,202.6344 102.1563,202.2125 102.1563,201.8063 C102.1563,201.3375 101.7344,200.9313 101.2344,200.9313 C101,200.9313 100.7813,201.0094 100.5781,201.2125 C100.1406,201.65 100.1406,201.65 99.9688,201.7438 C99.5156,201.9781 98.875,202.1188 98.1094,202.1188 C96.1094,202.1188 94.8281,201.1031 94.8281,199.525 L94.8281,198.4781 C94.8281,196.775 96.0469,195.5719 97.75,195.5719 C98.3281,195.5719 98.9063,195.7125 99.375,195.9625 C99.8438,196.2281 100.0156,196.4156 100.0781,196.775 C100.2031,197.4469 100.4531,197.6969 100.9844,197.6969 C101.2656,197.6969 101.5469,197.5563 101.7344,197.3375 C101.8594,197.1656 101.9063,196.9938 101.9063,196.5563 L101.9063,195.1969 C101.9063,194.775 101.8906,194.6344 101.7656,194.4625 C101.5938,194.2125 101.3125,194.0563 100.9844,194.0563 C100.6719,194.0563 100.4688,194.1656 100.25,194.4313 C99.0781,193.9313 98.6406,193.8219 97.6875,193.8219 C95.0156,193.8219 93,195.8375 93,198.4625 L93,199.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="112" y="203.006">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="84" x2="123" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="84" x2="123" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ffrwv6xyf56yc)" height="48" id="C_0000972031178679364068" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="171"/>
|
||||
<ellipse cx="171" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M173.9688,192.6406 Q173.3906,192.9375 172.75,193.0781 Q172.1094,193.2344 171.4063,193.2344 Q168.9063,193.2344 167.5781,191.5938 Q166.2656,189.9375 166.2656,186.8125 Q166.2656,183.6875 167.5781,182.0313 Q168.9063,180.375 171.4063,180.375 Q172.1094,180.375 172.75,180.5313 Q173.4063,180.6875 173.9688,180.9844 L173.9688,183.7031 Q173.3438,183.125 172.75,182.8594 Q172.1563,182.5781 171.5313,182.5781 Q170.1875,182.5781 169.5,183.6563 Q168.8125,184.7188 168.8125,186.8125 Q168.8125,188.9063 169.5,189.9844 Q170.1875,191.0469 171.5313,191.0469 Q172.1563,191.0469 172.75,190.7813 Q173.3438,190.5 173.9688,189.9219 L173.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="185" y="191.1543">C</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="211" y2="211"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L9" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L9" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0000972031178679364068">
|
||||
<rect codeLine="10" fill="#F1F1F1" height="48" id="C_0000972031178679364068" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="42" x="158.5" y="182.4"/>
|
||||
<ellipse cx="173.5" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M168.5,199.5563 C168.5,202.0563 170.6406,203.8688 173.5625,203.8688 C174.7969,203.8688 175.9688,203.5719 176.7188,203.0563 C177.3281,202.6344 177.6563,202.2125 177.6563,201.8063 C177.6563,201.3375 177.2344,200.9313 176.7344,200.9313 C176.5,200.9313 176.2813,201.0094 176.0781,201.2125 C175.6406,201.65 175.6406,201.65 175.4688,201.7438 C175.0156,201.9781 174.375,202.1188 173.6094,202.1188 C171.6094,202.1188 170.3281,201.1031 170.3281,199.525 L170.3281,198.4781 C170.3281,196.775 171.5469,195.5719 173.25,195.5719 C173.8281,195.5719 174.4063,195.7125 174.875,195.9625 C175.3438,196.2281 175.5156,196.4156 175.5781,196.775 C175.7031,197.4469 175.9531,197.6969 176.4844,197.6969 C176.7656,197.6969 177.0469,197.5563 177.2344,197.3375 C177.3594,197.1656 177.4063,196.9938 177.4063,196.5563 L177.4063,195.1969 C177.4063,194.775 177.3906,194.6344 177.2656,194.4625 C177.0938,194.2125 176.8125,194.0563 176.4844,194.0563 C176.1719,194.0563 175.9688,194.1656 175.75,194.4313 C174.5781,193.9313 174.1406,193.8219 173.1875,193.8219 C170.5156,193.8219 168.5,195.8375 168.5,198.4625 L168.5,199.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="187.5" y="203.006">C</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="159.5" x2="199.5" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="159.5" x2="199.5" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L14" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L14" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ffrwv6xyf56yc)" height="86.4141" id="C_0000066905874721300157" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="21.5" y="8"/>
|
||||
<ellipse cx="92.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M95.7188,29.6406 Q95.1406,29.9375 94.5,30.0781 Q93.8594,30.2344 93.1563,30.2344 Q90.6563,30.2344 89.3281,28.5938 Q88.0156,26.9375 88.0156,23.8125 Q88.0156,20.6875 89.3281,19.0313 Q90.6563,17.375 93.1563,17.375 Q93.8594,17.375 94.5,17.5313 Q95.1563,17.6875 95.7188,17.9844 L95.7188,20.7031 Q95.0938,20.125 94.5,19.8594 Q93.9063,19.5781 93.2813,19.5781 Q91.9375,19.5781 91.25,20.6563 Q90.5625,21.7188 90.5625,23.8125 Q90.5625,25.9063 91.25,26.9844 Q91.9375,28.0469 93.2813,28.0469 Q93.9063,28.0469 94.5,27.7813 Q95.0938,27.5 95.7188,26.9219 L95.7188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="113.25" y="28.1543">R</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="22.5" x2="179.5" y1="40" y2="40"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L11" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L11" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<g id="elem_C_0000066905874721300157">
|
||||
<rect codeLine="14" fill="#F1F1F1" height="98.3998" id="C_0000066905874721300157" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="167" x="20" y="7"/>
|
||||
<ellipse cx="94.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M89.25,24.1563 C89.25,26.6563 91.3906,28.4688 94.3125,28.4688 C95.5469,28.4688 96.7188,28.1719 97.4688,27.6563 C98.0781,27.2344 98.4063,26.8125 98.4063,26.4063 C98.4063,25.9375 97.9844,25.5313 97.4844,25.5313 C97.25,25.5313 97.0313,25.6094 96.8281,25.8125 C96.3906,26.25 96.3906,26.25 96.2188,26.3438 C95.7656,26.5781 95.125,26.7188 94.3594,26.7188 C92.3594,26.7188 91.0781,25.7031 91.0781,24.125 L91.0781,23.0781 C91.0781,21.375 92.2969,20.1719 94,20.1719 C94.5781,20.1719 95.1563,20.3125 95.625,20.5625 C96.0938,20.8281 96.2656,21.0156 96.3281,21.375 C96.4531,22.0469 96.7031,22.2969 97.2344,22.2969 C97.5156,22.2969 97.7969,22.1563 97.9844,21.9375 C98.1094,21.7656 98.1563,21.5938 98.1563,21.1563 L98.1563,19.7969 C98.1563,19.375 98.1406,19.2344 98.0156,19.0625 C97.8438,18.8125 97.5625,18.6563 97.2344,18.6563 C96.9219,18.6563 96.7188,18.7656 96.5,19.0313 C95.3281,18.5313 94.8906,18.4219 93.9375,18.4219 C91.2656,18.4219 89.25,20.4375 89.25,23.0625 L89.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="114.75" y="27.606">R</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="21" x2="186" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="21" x2="186" y1="47" y2="47"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L13" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L13" xlink:show="new" xlink:title="a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="26" y="55.9"/>
|
||||
<ellipse cx="31" cy="60.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L13" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L13" xlink:show="new" xlink:title="a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="140" x="40" y="64.0059">a : std::unique_ptr<A></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L14" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L14" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="26" y="72.6999"/>
|
||||
<ellipse cx="31" cy="77.6999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L14" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L14" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="141" x="40" y="80.8059">b : std::shared_ptr<B></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L15" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L15" xlink:show="new" xlink:title="c" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="26" y="89.4998"/>
|
||||
<ellipse cx="31" cy="94.4998" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L15" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L15" xlink:show="new" xlink:title="c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130" x="40" y="97.6058">c : std::weak_ptr<C></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L16" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L16" xlink:show="new" xlink:title="a" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="27.5" y="46"/>
|
||||
<ellipse cx="32.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L16" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L16" xlink:show="new" xlink:title="a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="41.5" y="54.2104">a : std::unique_ptr<A></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L17" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L17" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="27.5" y="58.8047"/>
|
||||
<ellipse cx="32.5" cy="63.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L17" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L17" xlink:show="new" xlink:title="b" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="41.5" y="67.0151">b : std::shared_ptr<B></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L18" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L18" xlink:show="new" xlink:title="c" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="27.5" y="71.6094"/>
|
||||
<ellipse cx="32.5" cy="76.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L18" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00007/t00007.cc#L18" xlink:show="new" xlink:title="c" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="41.5" y="79.8198">c : std::weak_ptr<C></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="22.5" x2="179.5" y1="86.4141" y2="86.4141"/>
|
||||
<path d="M72.48,106 C60.66,128.37 47.58,153.14 38.31,170.69 " fill="none" id="C_0000066905874721300157<-C_0000098876622534017019" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="78.7,94.22,72.3597,97.6552,73.092,104.829,79.4323,101.3938,78.7,94.22" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="62" y="137.0669">+a</text>
|
||||
<path d="M101,94.22 C101,117.28 101,145.22 101,165.66 " fill="none" id="C_0000066905874721300157->C_0000696381312773707784" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="101,170.69,105,161.69,101,165.69,97,161.69,101,170.69" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="102" y="137.0669">+b</text>
|
||||
<path d="M123.3,94.22 C135.58,117.48 150.49,145.69 161.31,166.18 " fill="none" id="C_0000066905874721300157->C_0000972031178679364068" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="163.69,170.69,163.0039,160.8651,161.346,166.2735,155.9375,164.6155,163.69,170.69" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="18" x="148" y="137.0669">+c</text>
|
||||
<g id="link_C_0000066905874721300157_C_0000098876622534017019">
|
||||
<path codeLine="20" d="M73.1339,116.4076 C59.9739,142.0676 49.9,161.72 39.44,182.12 " fill="none" id="C_0000066905874721300157-backto-C_0000098876622534017019" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="78.61,105.73,72.3127,109.2434,73.1339,116.4076,79.4311,112.8942,78.61,105.73" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="15" x="64.5" y="148.477">+a</text>
|
||||
</g>
|
||||
<g id="link_C_0000066905874721300157_C_0000696381312773707784">
|
||||
<path codeLine="21" d="M103.5,105.73 C103.5,131.39 103.5,155.72 103.5,176.12 " fill="none" id="C_0000066905874721300157-to-C_0000696381312773707784" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="103.5,182.12,107.5,173.12,103.5,177.12,99.5,173.12,103.5,182.12" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="15" x="104.5" y="148.477">+b</text>
|
||||
</g>
|
||||
<g id="link_C_0000066905874721300157_C_0000972031178679364068">
|
||||
<path codeLine="22" d="M128.39,105.73 C141.55,131.39 154.3624,156.3809 164.8224,176.7809 " fill="none" id="C_0000066905874721300157-to-C_0000972031178679364068" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="167.56,182.12,167.013,172.2863,165.2787,177.6708,159.8942,175.9365,167.56,182.12" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="15" x="151.5" y="148.477">+c</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
192
docs/test_cases/t00007_class_mermaid.svg
Normal file
@@ -0,0 +1,192 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 198.671875 264" style="max-width: 198.672px; background-color: white;" width="198.671875" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M38.772214861128596,145.0439740344453L36.10575196760716,148.36997836203776C33.43928907408573,151.6959826896302,28.106363287042864,158.3479913448151,25.43990039352143,167.3406623390742C22.7734375,176.33333333333334,22.7734375,187.66666666666666,22.7734375,193.33333333333334L22.7734375,199"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M99.3359375,131L99.3359375,136.66666666666666C99.3359375,142.33333333333334,99.3359375,153.66666666666666,99.3359375,164C99.3359375,174.33333333333334,99.3359375,183.66666666666666,99.3359375,188.33333333333334L99.3359375,193"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M148.64058409685865,131L153.1835596640489,136.66666666666666C157.7265352312391,142.33333333333334,166.81248636561955,153.66666666666666,171.3554619328098,164C175.8984375,174.33333333333334,175.8984375,183.66666666666666,175.8984375,188.33333333333334L175.8984375,193"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(22.7734375, 165)" class="edgeLabel">
|
||||
<g transform="translate(-9.125, -9)" class="label">
|
||||
<foreignObject height="18" width="18.25">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+a</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(99.3359375, 165)" class="edgeLabel">
|
||||
<g transform="translate(-9.125, -9)" class="label">
|
||||
<foreignObject height="18" width="18.25">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+b</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(175.8984375, 165)" class="edgeLabel">
|
||||
<g transform="translate(-8.671875, -9)" class="label">
|
||||
<foreignObject height="18" width="17.34375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+c</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(22.7734375, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L5">
|
||||
<g title="A" id="classId-C_0000098876622534017019-0" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(99.3359375, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L7">
|
||||
<g title="B" id="classId-C_0000696381312773707784-1" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(175.8984375, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L9">
|
||||
<g title="C" id="classId-C_0000972031178679364068-2" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(99.3359375, 69.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00007/t00007.cc#L11">
|
||||
<g title="R" id="classId-C_0000066905874721300157-3" class="node default clickable">
|
||||
<rect height="123" width="182.671875" y="-61.5" x="-91.3359375" class="outer title-state"/>
|
||||
<line y2="-31.5" y1="-31.5" x2="91.3359375" x1="-91.3359375" class="divider"/>
|
||||
<line y2="50.5" y1="50.5" x2="91.3359375" x1="-91.3359375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -54)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">R</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -83.8359375, -20)" height="18" width="166.796875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+a : std::unique_ptr<A></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -83.8359375, 2)" height="18" width="167.671875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+b : std::shared_ptr<B></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -83.8359375, 24)" height="18" width="156.078125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+c : std::weak_ptr<C></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -1,132 +1,212 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="390px" preserveAspectRatio="none" style="width:616px;height:390px;" version="1.1" viewBox="0 0 616 390" width="616px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="433px" preserveAspectRatio="none" style="width:1048px;height:433px;background:#FFFFFF;" version="1.1" viewBox="0 0 1048 433" width="1048px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="fklygd349yi30" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fklygd349yi30)" height="124.8281" id="C_0001329861609426650509" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="6" y="8"/>
|
||||
<ellipse cx="37.65" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M40.6188,29.6406 Q40.0406,29.9375 39.4,30.0781 Q38.7594,30.2344 38.0563,30.2344 Q35.5563,30.2344 34.2281,28.5938 Q32.9156,26.9375 32.9156,23.8125 Q32.9156,20.6875 34.2281,19.0313 Q35.5563,17.375 38.0563,17.375 Q38.7594,17.375 39.4,17.5313 Q40.0563,17.6875 40.6188,17.9844 L40.6188,20.7031 Q39.9938,20.125 39.4,19.8594 Q38.8063,19.5781 38.1813,19.5781 Q36.8375,19.5781 36.15,20.6563 Q35.4625,21.7188 35.4625,23.8125 Q35.4625,25.9063 36.15,26.9844 Q36.8375,28.0469 38.1813,28.0469 Q38.8063,28.0469 39.4,27.7813 Q39.9938,27.5 40.6188,26.9219 L40.6188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="55.35" y="28.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="82" x="88" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="89" y="17.1387">T,P,CMP,int N</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="166" y1="40" y2="40"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0002293517130897538130">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="148.7996" id="C_0002293517130897538130" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="190" x="7" y="10"/>
|
||||
<ellipse cx="22" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,27.1563 C17,29.6563 19.1406,31.4688 22.0625,31.4688 C23.2969,31.4688 24.4688,31.1719 25.2188,30.6563 C25.8281,30.2344 26.1563,29.8125 26.1563,29.4063 C26.1563,28.9375 25.7344,28.5313 25.2344,28.5313 C25,28.5313 24.7813,28.6094 24.5781,28.8125 C24.1406,29.25 24.1406,29.25 23.9688,29.3438 C23.5156,29.5781 22.875,29.7188 22.1094,29.7188 C20.1094,29.7188 18.8281,28.7031 18.8281,27.125 L18.8281,26.0781 C18.8281,24.375 20.0469,23.1719 21.75,23.1719 C22.3281,23.1719 22.9063,23.3125 23.375,23.5625 C23.8438,23.8281 24.0156,24.0156 24.0781,24.375 C24.2031,25.0469 24.4531,25.2969 24.9844,25.2969 C25.2656,25.2969 25.5469,25.1563 25.7344,24.9375 C25.8594,24.7656 25.9063,24.5938 25.9063,24.1563 L25.9063,22.7969 C25.9063,22.375 25.8906,22.2344 25.7656,22.0625 C25.5938,21.8125 25.3125,21.6563 24.9844,21.6563 C24.6719,21.6563 24.4688,21.7656 24.25,22.0313 C23.0781,21.5313 22.6406,21.4219 21.6875,21.4219 C19.0156,21.4219 17,23.4375 17,26.0625 L17,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="36" y="30.606">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="147" x="53" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="145" x="54" y="21.2001">T,P=T,CMP=nullptr,int N=3</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="196" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="196" y1="50" y2="50"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L17" xlink:show="new" xlink:title="comparator" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="58.9"/>
|
||||
<ellipse cx="18" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L17" xlink:show="new" xlink:title="comparator" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="27" y="67.0059">comparator : CMP</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L15" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="75.6999"/>
|
||||
<ellipse cx="18" cy="80.6999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L15" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="27" y="83.8059">ints : std::array<int,N></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L12" xlink:show="new" xlink:title="pointer" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="92.4998"/>
|
||||
<ellipse cx="18" cy="97.4998" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L12" xlink:show="new" xlink:title="pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="27" y="100.6058">pointer : T *</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L13" xlink:show="new" xlink:title="reference" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="109.2997"/>
|
||||
<ellipse cx="18" cy="114.2997" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L13" xlink:show="new" xlink:title="reference" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="27" y="117.4057">reference : T &</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="126.0997"/>
|
||||
<ellipse cx="18" cy="131.0997" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="27" y="134.2057">value : T</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L14" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="142.8996"/>
|
||||
<ellipse cx="18" cy="147.8996" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L14" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="144" x="27" y="151.0056">values : std::vector<P></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="46"/>
|
||||
<ellipse cx="17" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L20" target="_top" title="Vector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L20" xlink:show="new" xlink:title="Vector" xlink:type="simple">
|
||||
<g id="elem_C_0001677407014842680311">
|
||||
<rect codeLine="12" fill="#F1F1F1" height="64.7999" id="C_0001677407014842680311" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="170" x="232" y="52"/>
|
||||
<ellipse cx="286.75" cy="68" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M281.75,69.1563 C281.75,71.6563 283.8906,73.4688 286.8125,73.4688 C288.0469,73.4688 289.2188,73.1719 289.9688,72.6563 C290.5781,72.2344 290.9063,71.8125 290.9063,71.4063 C290.9063,70.9375 290.4844,70.5313 289.9844,70.5313 C289.75,70.5313 289.5313,70.6094 289.3281,70.8125 C288.8906,71.25 288.8906,71.25 288.7188,71.3438 C288.2656,71.5781 287.625,71.7188 286.8594,71.7188 C284.8594,71.7188 283.5781,70.7031 283.5781,69.125 L283.5781,68.0781 C283.5781,66.375 284.7969,65.1719 286.5,65.1719 C287.0781,65.1719 287.6563,65.3125 288.125,65.5625 C288.5938,65.8281 288.7656,66.0156 288.8281,66.375 C288.9531,67.0469 289.2031,67.2969 289.7344,67.2969 C290.0156,67.2969 290.2969,67.1563 290.4844,66.9375 C290.6094,66.7656 290.6563,66.5938 290.6563,66.1563 L290.6563,64.7969 C290.6563,64.375 290.6406,64.2344 290.5156,64.0625 C290.3438,63.8125 290.0625,63.6563 289.7344,63.6563 C289.4219,63.6563 289.2188,63.7656 289,64.0313 C287.8281,63.5313 287.3906,63.4219 286.4375,63.4219 C283.7656,63.4219 281.75,65.4375 281.75,68.0625 L281.75,69.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="307.25" y="72.606">Vector</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="396" y="49"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="397" y="63.2001">T</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="233" x2="401" y1="84" y2="84"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="233" x2="401" y1="92" y2="92"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L21" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="238" y="100.9"/>
|
||||
<ellipse cx="243" cy="105.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L21" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="144" x="252" y="109.0059">values : std::vector<T></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="26" y="54.2104">value : T</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001968575752686868237">
|
||||
<rect codeLine="17" fill="#F1F1F1" height="64.7999" id="C_0001968575752686868237" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="191" x="479.5" y="361.6"/>
|
||||
<ellipse cx="547.75" cy="377.6" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M542.75,378.7562 C542.75,381.2562 544.8906,383.0687 547.8125,383.0687 C549.0469,383.0687 550.2188,382.7719 550.9688,382.2562 C551.5781,381.8344 551.9063,381.4125 551.9063,381.0062 C551.9063,380.5375 551.4844,380.1312 550.9844,380.1312 C550.75,380.1312 550.5313,380.2094 550.3281,380.4125 C549.8906,380.85 549.8906,380.85 549.7188,380.9437 C549.2656,381.1781 548.625,381.3187 547.8594,381.3187 C545.8594,381.3187 544.5781,380.3031 544.5781,378.725 L544.5781,377.6781 C544.5781,375.975 545.7969,374.7719 547.5,374.7719 C548.0781,374.7719 548.6563,374.9125 549.125,375.1625 C549.5938,375.4281 549.7656,375.6156 549.8281,375.975 C549.9531,376.6469 550.2031,376.8969 550.7344,376.8969 C551.0156,376.8969 551.2969,376.7562 551.4844,376.5375 C551.6094,376.3656 551.6563,376.1937 551.6563,375.7562 L551.6563,374.3969 C551.6563,373.975 551.6406,373.8344 551.5156,373.6625 C551.3438,373.4125 551.0625,373.2562 550.7344,373.2562 C550.4219,373.2562 550.2188,373.3656 550,373.6312 C548.8281,373.1312 548.3906,373.0219 547.4375,373.0219 C544.7656,373.0219 542.75,375.0375 542.75,377.6625 L542.75,378.7562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="568.25" y="382.206">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="35" x="638.5" y="358.6"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="33" x="639.5" y="372.8001">T,C<></text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="480.5" x2="669.5" y1="393.6" y2="393.6"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="480.5" x2="669.5" y1="401.6" y2="401.6"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L25" xlink:show="new" xlink:title="template_template" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="485.5" y="410.5"/>
|
||||
<ellipse cx="490.5" cy="415.5" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L25" xlink:show="new" xlink:title="template_template" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="499.5" y="418.6059">template_template : C<T></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L12" xlink:show="new" xlink:title="pointer" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="58.8047"/>
|
||||
<ellipse cx="17" cy="63.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001449136415707203971">
|
||||
<rect codeLine="22" fill="#F1F1F1" height="48" id="C_0001449136415707203971" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="527" y="244.2"/>
|
||||
<ellipse cx="542" cy="260.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M537,261.3563 C537,263.8563 539.1406,265.6688 542.0625,265.6688 C543.2969,265.6688 544.4688,265.3719 545.2188,264.8563 C545.8281,264.4344 546.1563,264.0125 546.1563,263.6063 C546.1563,263.1375 545.7344,262.7313 545.2344,262.7313 C545,262.7313 544.7813,262.8094 544.5781,263.0125 C544.1406,263.45 544.1406,263.45 543.9688,263.5438 C543.5156,263.7781 542.875,263.9188 542.1094,263.9188 C540.1094,263.9188 538.8281,262.9031 538.8281,261.325 L538.8281,260.2781 C538.8281,258.575 540.0469,257.3719 541.75,257.3719 C542.3281,257.3719 542.9063,257.5125 543.375,257.7625 C543.8438,258.0281 544.0156,258.2156 544.0781,258.575 C544.2031,259.2469 544.4531,259.4969 544.9844,259.4969 C545.2656,259.4969 545.5469,259.3563 545.7344,259.1375 C545.8594,258.9656 545.9063,258.7938 545.9063,258.3563 L545.9063,256.9969 C545.9063,256.575 545.8906,256.4344 545.7656,256.2625 C545.5938,256.0125 545.3125,255.8563 544.9844,255.8563 C544.6719,255.8563 544.4688,255.9656 544.25,256.2313 C543.0781,255.7313 542.6406,255.6219 541.6875,255.6219 C539.0156,255.6219 537,257.6375 537,260.2625 L537,261.3563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="556" y="264.806">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="53" x="573" y="241.2"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="51" x="574" y="255.4001">int,Vector</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="528" x2="622" y1="276.2" y2="276.2"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="528" x2="622" y1="284.2" y2="284.2"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L12" xlink:show="new" xlink:title="pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="69" x="26" y="67.0151">pointer : T *</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<g id="elem_C_0001562396858816419857">
|
||||
<rect codeLine="26" fill="#F1F1F1" height="106.3998" id="C_0001562396858816419857" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="277" x="436.5" y="31.2"/>
|
||||
<ellipse cx="565.75" cy="47.2" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M560.75,48.3562 C560.75,50.8562 562.8906,52.6687 565.8125,52.6687 C567.0469,52.6687 568.2188,52.3719 568.9688,51.8562 C569.5781,51.4344 569.9063,51.0125 569.9063,50.6062 C569.9063,50.1375 569.4844,49.7312 568.9844,49.7312 C568.75,49.7312 568.5313,49.8094 568.3281,50.0125 C567.8906,50.45 567.8906,50.45 567.7188,50.5437 C567.2656,50.7781 566.625,50.9187 565.8594,50.9187 C563.8594,50.9187 562.5781,49.9031 562.5781,48.325 L562.5781,47.2781 C562.5781,45.575 563.7969,44.3719 565.5,44.3719 C566.0781,44.3719 566.6563,44.5125 567.125,44.7625 C567.5938,45.0281 567.7656,45.2156 567.8281,45.575 C567.9531,46.2469 568.2031,46.4969 568.7344,46.4969 C569.0156,46.4969 569.2969,46.3562 569.4844,46.1375 C569.6094,45.9656 569.6563,45.7937 569.6563,45.3562 L569.6563,43.9969 C569.6563,43.575 569.6406,43.4344 569.5156,43.2625 C569.3438,43.0125 569.0625,42.8562 568.7344,42.8562 C568.4219,42.8562 568.2188,42.9656 568,43.2312 C566.8281,42.7312 566.3906,42.6219 565.4375,42.6219 C562.7656,42.6219 560.75,44.6375 560.75,47.2625 L560.75,48.3562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="586.25" y="51.806">D</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="437.5" x2="712.5" y1="63.2" y2="63.2"/>
|
||||
<ellipse cx="447.5" cy="77.1" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="251" x="456.5" y="80.2059">D<Items...>(std::tuple<Items...> *) : void</text>
|
||||
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:1.0,2.0;" x1="437.5" x2="712.5" y1="87.9999" y2="87.9999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L33" target="_top" title="add" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L33" xlink:show="new" xlink:title="add" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="442.5" y="96.8999"/>
|
||||
<ellipse cx="447.5" cy="101.8999" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L33" target="_top" title="add" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L33" xlink:show="new" xlink:title="add" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="456.5" y="105.0059">add(int i) : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="437.5" x2="712.5" y1="112.7999" y2="112.7999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L29" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="442.5" y="121.6998"/>
|
||||
<ellipse cx="447.5" cy="126.6998" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L29" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="456.5" y="129.8058">ints : B<int,Vector></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L13" xlink:show="new" xlink:title="reference" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="71.6094"/>
|
||||
<ellipse cx="17" cy="76.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L36" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L36" xlink:show="new" xlink:title="E" xlink:type="simple">
|
||||
<g id="elem_C_0001787658457052431115">
|
||||
<rect codeLine="34" fill="#F1F1F1" height="48" id="C_0001787658457052431115" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="834.5" y="370"/>
|
||||
<ellipse cx="849.5" cy="386" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M844.5,387.1563 C844.5,389.6563 846.6406,391.4688 849.5625,391.4688 C850.7969,391.4688 851.9688,391.1719 852.7188,390.6563 C853.3281,390.2344 853.6563,389.8125 853.6563,389.4063 C853.6563,388.9375 853.2344,388.5313 852.7344,388.5313 C852.5,388.5313 852.2813,388.6094 852.0781,388.8125 C851.6406,389.25 851.6406,389.25 851.4688,389.3438 C851.0156,389.5781 850.375,389.7188 849.6094,389.7188 C847.6094,389.7188 846.3281,388.7031 846.3281,387.125 L846.3281,386.0781 C846.3281,384.375 847.5469,383.1719 849.25,383.1719 C849.8281,383.1719 850.4063,383.3125 850.875,383.5625 C851.3438,383.8281 851.5156,384.0156 851.5781,384.375 C851.7031,385.0469 851.9531,385.2969 852.4844,385.2969 C852.7656,385.2969 853.0469,385.1563 853.2344,384.9375 C853.3594,384.7656 853.4063,384.5938 853.4063,384.1563 L853.4063,382.7969 C853.4063,382.375 853.3906,382.2344 853.2656,382.0625 C853.0938,381.8125 852.8125,381.6563 852.4844,381.6563 C852.1719,381.6563 851.9688,381.7656 851.75,382.0313 C850.5781,381.5313 850.1406,381.4219 849.1875,381.4219 C846.5156,381.4219 844.5,383.4375 844.5,386.0625 L844.5,387.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="863.5" y="390.606">E</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="835.5" x2="874.5" y1="402" y2="402"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="835.5" x2="874.5" y1="410" y2="410"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L13" xlink:show="new" xlink:title="reference" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="26" y="79.8198">reference : T &</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L37" target="_top" title="E##nested_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L37" xlink:show="new" xlink:title="E##nested_template" xlink:type="simple">
|
||||
<g id="elem_C_0001549419203490064906">
|
||||
<rect codeLine="38" fill="#F1F1F1" height="64.7999" id="C_0001549419203490064906" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="174" x="863" y="235.8"/>
|
||||
<ellipse cx="878" cy="251.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M873,252.9562 C873,255.4562 875.1406,257.2687 878.0625,257.2687 C879.2969,257.2687 880.4688,256.9719 881.2188,256.4562 C881.8281,256.0344 882.1563,255.6125 882.1563,255.2062 C882.1563,254.7375 881.7344,254.3312 881.2344,254.3312 C881,254.3312 880.7813,254.4094 880.5781,254.6125 C880.1406,255.05 880.1406,255.05 879.9688,255.1437 C879.5156,255.3781 878.875,255.5187 878.1094,255.5187 C876.1094,255.5187 874.8281,254.5031 874.8281,252.925 L874.8281,251.8781 C874.8281,250.175 876.0469,248.9719 877.75,248.9719 C878.3281,248.9719 878.9063,249.1125 879.375,249.3625 C879.8438,249.6281 880.0156,249.8156 880.0781,250.175 C880.2031,250.8469 880.4531,251.0969 880.9844,251.0969 C881.2656,251.0969 881.5469,250.9562 881.7344,250.7375 C881.8594,250.5656 881.9063,250.3937 881.9063,249.9562 L881.9063,248.5969 C881.9063,248.175 881.8906,248.0344 881.7656,247.8625 C881.5938,247.6125 881.3125,247.4562 880.9844,247.4562 C880.6719,247.4562 880.4688,247.5656 880.25,247.8312 C879.0781,247.3312 878.6406,247.2219 877.6875,247.2219 C875.0156,247.2219 873,249.2375 873,251.8625 L873,252.9562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="123" x="892" y="256.406">E::nested_template</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="17" x="1023" y="232.8"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="15" x="1024" y="247.0001">ET</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="864" x2="1036" y1="267.8" y2="267.8"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L40" target="_top" title="get" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L40" xlink:show="new" xlink:title="get" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="869" y="276.7"/>
|
||||
<ellipse cx="874" cy="281.7" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L40" target="_top" title="get" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L40" xlink:show="new" xlink:title="get" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="109" x="883" y="284.8059">get(ET * d) : DT *</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="864" x2="1036" y1="292.5999" y2="292.5999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L14" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="84.4141"/>
|
||||
<ellipse cx="17" cy="89.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L44" target="_top" title="E##nested_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L44" xlink:show="new" xlink:title="E##nested_template" xlink:type="simple">
|
||||
<g id="elem_C_0000033637089897037832">
|
||||
<rect codeLine="43" fill="#F1F1F1" height="64.7999" id="C_0000033637089897037832" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="213" x="748.5" y="52"/>
|
||||
<ellipse cx="777" cy="68" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M772,69.1563 C772,71.6563 774.1406,73.4688 777.0625,73.4688 C778.2969,73.4688 779.4688,73.1719 780.2188,72.6563 C780.8281,72.2344 781.1563,71.8125 781.1563,71.4063 C781.1563,70.9375 780.7344,70.5313 780.2344,70.5313 C780,70.5313 779.7813,70.6094 779.5781,70.8125 C779.1406,71.25 779.1406,71.25 778.9688,71.3438 C778.5156,71.5781 777.875,71.7188 777.1094,71.7188 C775.1094,71.7188 773.8281,70.7031 773.8281,69.125 L773.8281,68.0781 C773.8281,66.375 775.0469,65.1719 776.75,65.1719 C777.3281,65.1719 777.9063,65.3125 778.375,65.5625 C778.8438,65.8281 779.0156,66.0156 779.0781,66.375 C779.2031,67.0469 779.4531,67.2969 779.9844,67.2969 C780.2656,67.2969 780.5469,67.1563 780.7344,66.9375 C780.8594,66.7656 780.9063,66.5938 780.9063,66.1563 L780.9063,64.7969 C780.9063,64.375 780.8906,64.2344 780.7656,64.0625 C780.5938,63.8125 780.3125,63.6563 779.9844,63.6563 C779.6719,63.6563 779.4688,63.7656 779.25,64.0313 C778.0781,63.5313 777.6406,63.4219 776.6875,63.4219 C774.0156,63.4219 772,65.4375 772,68.0625 L772,69.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="123" x="794" y="72.606">E::nested_template</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="26" x="938.5" y="49"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="24" x="939.5" y="63.2001">char</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="749.5" x2="960.5" y1="84" y2="84"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L47" target="_top" title="getDecl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L47" xlink:show="new" xlink:title="getDecl" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="754.5" y="92.9"/>
|
||||
<ellipse cx="759.5" cy="97.9" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L47" target="_top" title="getDecl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L47" xlink:show="new" xlink:title="getDecl" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="187" x="768.5" y="101.0059">getDecl(char * c) : DeclType *</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="749.5" x2="960.5" y1="108.7999" y2="108.7999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L14" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="92.6245">values : std::vector<P></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L15" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="97.2188"/>
|
||||
<ellipse cx="17" cy="102.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L15" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="26" y="105.4292">ints : std::array<int,N></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L17" xlink:show="new" xlink:title="comparator" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="110.0234"/>
|
||||
<ellipse cx="17" cy="115.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L17" xlink:show="new" xlink:title="comparator" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="26" y="118.2339">comparator : CMP</text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="166" y1="124.8281" y2="124.8281"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L20" target="_top" title="Vector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L20" xlink:show="new" xlink:title="Vector" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fklygd349yi30)" height="60.8047" id="C_0001677407014842680311" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="202" y="40"/>
|
||||
<ellipse cx="252.25" cy="56" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M255.2188,61.6406 Q254.6406,61.9375 254,62.0781 Q253.3594,62.2344 252.6563,62.2344 Q250.1563,62.2344 248.8281,60.5938 Q247.5156,58.9375 247.5156,55.8125 Q247.5156,52.6875 248.8281,51.0313 Q250.1563,49.375 252.6563,49.375 Q253.3594,49.375 254,49.5313 Q254.6563,49.6875 255.2188,49.9844 L255.2188,52.7031 Q254.5938,52.125 254,51.8594 Q253.4063,51.5781 252.7813,51.5781 Q251.4375,51.5781 250.75,52.6563 Q250.0625,53.7188 250.0625,55.8125 Q250.0625,57.9063 250.75,58.9844 Q251.4375,60.0469 252.7813,60.0469 Q253.4063,60.0469 254,59.7813 Q254.5938,59.5 255.2188,58.9219 L255.2188,61.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="272.75" y="60.1543">Vector</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="357" y="37"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="358" y="49.1387">T</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="362" y1="72" y2="72"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L21" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="208" y="78"/>
|
||||
<ellipse cx="213" cy="83" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L21" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="222" y="86.2104">values : std::vector<T></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="362" y1="92.8047" y2="92.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fklygd349yi30)" height="60.8047" id="C_0001968575752686868237" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="413" y="319"/>
|
||||
<ellipse cx="471.75" cy="335" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M474.7188,340.6406 Q474.1406,340.9375 473.5,341.0781 Q472.8594,341.2344 472.1563,341.2344 Q469.6563,341.2344 468.3281,339.5938 Q467.0156,337.9375 467.0156,334.8125 Q467.0156,331.6875 468.3281,330.0313 Q469.6563,328.375 472.1563,328.375 Q472.8594,328.375 473.5,328.5313 Q474.1563,328.6875 474.7188,328.9844 L474.7188,331.7031 Q474.0938,331.125 473.5,330.8594 Q472.9063,330.5781 472.2813,330.5781 Q470.9375,330.5781 470.25,331.6563 Q469.5625,332.7188 469.5625,334.8125 Q469.5625,336.9063 470.25,337.9844 Q470.9375,339.0469 472.2813,339.0469 Q472.9063,339.0469 473.5,338.7813 Q474.0938,338.5 474.7188,337.9219 L474.7188,340.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="492.25" y="339.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="41" x="552" y="316"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="553" y="328.1387">T,C<></text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="414" x2="589" y1="351" y2="351"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L25" xlink:show="new" xlink:title="template_template" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="419" y="357"/>
|
||||
<ellipse cx="424" cy="362" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L25" xlink:show="new" xlink:title="template_template" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="433" y="365.2104">template_template : C<T></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="414" x2="589" y1="371.8047" y2="371.8047"/>
|
||||
<rect fill="#FEFECE" filter="url(#fklygd349yi30)" height="48" id="C_0001449136415707203971" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="449" y="210"/>
|
||||
<ellipse cx="464" cy="226" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M466.9688,231.6406 Q466.3906,231.9375 465.75,232.0781 Q465.1094,232.2344 464.4063,232.2344 Q461.9063,232.2344 460.5781,230.5938 Q459.2656,228.9375 459.2656,225.8125 Q459.2656,222.6875 460.5781,221.0313 Q461.9063,219.375 464.4063,219.375 Q465.1094,219.375 465.75,219.5313 Q466.4063,219.6875 466.9688,219.9844 L466.9688,222.7031 Q466.3438,222.125 465.75,221.8594 Q465.1563,221.5781 464.5313,221.5781 Q463.1875,221.5781 462.5,222.6563 Q461.8125,223.7188 461.8125,225.8125 Q461.8125,227.9063 462.5,228.9844 Q463.1875,230.0469 464.5313,230.0469 Q465.1563,230.0469 465.75,229.7813 Q466.3438,229.5 466.9688,228.9219 L466.9688,231.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="478" y="230.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="63" x="494" y="207"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="61" x="495" y="219.1387">int,Vector</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="450" x2="553" y1="242" y2="242"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="450" x2="553" y1="250" y2="250"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fklygd349yi30)" height="86.4141" id="C_0001562396858816419857" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="398" y="27.5"/>
|
||||
<ellipse cx="492.75" cy="43.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M495.7188,49.1406 Q495.1406,49.4375 494.5,49.5781 Q493.8594,49.7344 493.1563,49.7344 Q490.6563,49.7344 489.3281,48.0938 Q488.0156,46.4375 488.0156,43.3125 Q488.0156,40.1875 489.3281,38.5313 Q490.6563,36.875 493.1563,36.875 Q493.8594,36.875 494.5,37.0313 Q495.1563,37.1875 495.7188,37.4844 L495.7188,40.2031 Q495.0938,39.625 494.5,39.3594 Q493.9063,39.0781 493.2813,39.0781 Q491.9375,39.0781 491.25,40.1563 Q490.5625,41.2188 490.5625,43.3125 Q490.5625,45.4063 491.25,46.4844 Q491.9375,47.5469 493.2813,47.5469 Q493.9063,47.5469 494.5,47.2813 Q495.0938,47 495.7188,46.4219 L495.7188,49.1406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="513.25" y="47.6543">D</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="399" x2="604" y1="59.5" y2="59.5"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L29" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="404" y="65.5"/>
|
||||
<ellipse cx="409" cy="70.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00008/t00008.cc#L29" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="418" y="73.7104">ints : B<int,Vector></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="399" x2="604" y1="80.3047" y2="80.3047"/>
|
||||
<ellipse cx="409" cy="91.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="418" y="94.5151">add(int i) : void</text>
|
||||
<ellipse cx="409" cy="104.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="181" x="418" y="107.3198">D(std::tuple<Items...> * ) : void</text>
|
||||
<path d="M501.5,258.24 C501.5,269.87 501.5,284.42 501.5,298.43 " fill="none" id="C_0001449136415707203971->C_0001968575752686868237" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="508.5,298.81,501.5,318.81,494.5,298.81,508.5,298.81" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M501.5,126.57 C501.5,154.93 501.5,188.01 501.5,209.67 " fill="none" id="C_0001562396858816419857<-C_0001449136415707203971" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="501.5,113.51,497.5,119.51,501.5,125.51,505.5,119.51,501.5,113.51" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="507.5" cy="172.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="514.5" y="176.0669">ints</text>
|
||||
<g id="link_C_0001449136415707203971_C_0001968575752686868237">
|
||||
<path codeLine="47" d="M575,292.49 C575,311.96 575,321.92 575,343.41 " fill="none" id="C_0001449136415707203971-to-C_0001968575752686868237" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="575,361.41,581,343.41,569,343.41,575,361.41" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001562396858816419857_C_0001449136415707203971">
|
||||
<path codeLine="48" d="M575,149.98 C575,185.01 575,217.33 575,243.91 " fill="none" id="C_0001562396858816419857-backto-C_0001449136415707203971" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="575,137.98,571,143.98,575,149.98,579,143.98,575,137.98" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="581" cy="198.1" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="21" x="588" y="201.877">ints</text>
|
||||
</g>
|
||||
<g id="link_C_0001549419203490064906_C_0001787658457052431115">
|
||||
<path codeLine="49" d="M925.54,301.08 C909.04,322.57 897.4008,337.7468 882.5208,357.1368 " fill="none" id="C_0001549419203490064906-to-C_0001787658457052431115" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="877.6504" cy="363.4834" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="882.5208" x2="872.78" y1="357.1368" y2="369.83"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="883.997" x2="871.3038" y1="368.3538" y2="358.613"/>
|
||||
</g>
|
||||
<g id="link_C_0000033637089897037832_C_0001787658457052431115">
|
||||
<path codeLine="50" d="M851.54,117.13 C847.41,159.12 841.48,235.43 845,300.6 C846.27,324.12 847.2884,335.0021 849.6984,353.6421 " fill="none" id="C_0000033637089897037832-to-C_0001787658457052431115" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="850.7242" cy="361.576" fill="#FFFFFF" rx="8" ry="8" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="849.6984" x2="851.75" y1="353.6421" y2="369.51"/>
|
||||
<line style="stroke:#181818;stroke-width:1.0;" x1="858.6582" x2="842.7902" y1="360.5502" y2="362.6018"/>
|
||||
</g>
|
||||
<g id="link_C_0000033637089897037832_C_0001549419203490064906">
|
||||
<path codeLine="51" d="M871.55,117.07 C888.93,150.33 907.7735,186.3969 925.1435,219.6369 " fill="none" id="C_0000033637089897037832-to-C_0001549419203490064906" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="933.48,235.59,930.4612,216.858,919.8258,222.4157,933.48,235.59" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 35 KiB |
342
docs/test_cases/t00008_class_mermaid.svg
Normal file
@@ -0,0 +1,342 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 1086.59375 481" style="max-width: 1086.59px; background-color: white;" width="1086.59375" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M623.2421875,333L623.2421875,339C623.2421875,345,623.2421875,357,623.2421875,364.1666666666667C623.2421875,371.3333333333333,623.2421875,373.6666666666667,623.2421875,374.8333333333333L623.2421875,376"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M623.2421875,182L623.2421875,190.16666666666666C623.2421875,198.33333333333334,623.2421875,214.66666666666666,623.2421875,230.33333333333334C623.2421875,246,623.2421875,261,623.2421875,268.5L623.2421875,276"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-lollipopStart)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M858.7560452999094,134.36355046037843L848.6378502499246,150.4696253836487C838.5196551999396,166.57570030691895,818.2832650999699,198.78785015345946,808.1650700499849,227.14392507672974C798.046875,255.5,798.046875,280,798.046875,303C798.046875,326,798.046875,347.5,803.2617692183462,362.4166666666667C808.4766634366924,377.3333333333333,818.906451873385,385.6666666666667,824.1213460917312,389.8333333333333L829.3362403100775,394"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-lollipopStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M898.6323276087663,135.10195872931308L908.3680855073053,151.0849656077609C918.1038434058443,167.06797248620873,937.5753592029222,199.03398624310435,947.311117101461,220.68365978821885C957.046875,242.33333333333334,957.046875,253.66666666666666,957.046875,259.3333333333333L957.046875,265"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id5" d="M957.046875,344L957.046875,348.1666666666667C957.046875,352.3333333333333,957.046875,360.6666666666667,954.305668334283,367.0921817445679C951.564461668566,373.5176968224692,946.082048337132,378.03539364493844,943.3408416714151,380.294242056173L940.5996350056981,382.55309046740757"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(623.2421875, 231)" class="edgeLabel">
|
||||
<g transform="translate(-17.125, -9)" class="label">
|
||||
<foreignObject height="18" width="34.25">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+ints</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(129.0859375, 102.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L9">
|
||||
<g title="A" id="classId-C_0002293517130897538130-0" class="node default clickable">
|
||||
<rect height="189" width="242.171875" y="-94.5" x="-121.0859375" class="outer title-state"/>
|
||||
<line y2="-64.5" y1="-64.5" x2="121.0859375" x1="-121.0859375" class="divider"/>
|
||||
<line y2="83.5" y1="83.5" x2="121.0859375" x1="-121.0859375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, -87)" height="18" width="227.171875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<T,P=T,CMP=nullptr,int N=3></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, -53)" height="18" width="139.15625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+comparator : CMP</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, -31)" height="18" width="165.859375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+ints : std::array<int,N></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, -9)" height="18" width="81.375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">+pointer : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, 13)" height="18" width="114.59375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+reference : T &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, 35)" height="18" width="70.421875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -113.5859375, 57)" height="18" width="172.09375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+values : std::vector<P></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(393.2734375, 102.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L20">
|
||||
<g title="Vector" id="classId-C_0001677407014842680311-1" class="node default clickable">
|
||||
<rect height="79" width="186.203125" y="-39.5" x="-93.1015625" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="93.1015625" x1="-93.1015625" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="93.1015625" x1="-93.1015625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -38.6875, -32)" height="18" width="77.375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">Vector<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -85.6015625, 2)" height="18" width="171.203125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+values : std::vector<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(623.2421875, 433.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24">
|
||||
<g title="B" id="classId-C_0001968575752686868237-2" class="node default clickable">
|
||||
<rect height="79" width="209.328125" y="-39.5" x="-104.6640625" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="104.6640625" x1="-104.6640625" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="104.6640625" x1="-104.6640625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -36.46875, -32)" height="18" width="72.9375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<T,C<>></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -97.1640625, 2)" height="18" width="194.328125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+template_template : C<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(623.2421875, 304.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L24">
|
||||
<g title="B" id="classId-C_0001449136415707203971-3" class="node default clickable">
|
||||
<rect height="57" width="118.15625" y="-28.5" x="-59.078125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="59.078125" x1="-59.078125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="59.078125" x1="-59.078125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -51.578125, -21)" height="18" width="103.15625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<int,Vector></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(623.2421875, 102.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L28">
|
||||
<g title="D" id="classId-C_0001562396858816419857-4" class="node default clickable">
|
||||
<rect height="123" width="173.734375" y="-61.5" x="-86.8671875" class="outer title-state"/>
|
||||
<line y2="-31.5" y1="-31.5" x2="86.8671875" x1="-86.8671875" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="86.8671875" x1="-86.8671875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -54)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">D</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -79.3671875, -20)" height="18" width="143.640625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+ints : B<int,Vector></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -79.3671875, 14)" height="18" width="158.734375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+D(std::tuple *) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -79.3671875, 36)" height="18" width="123.171875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+add(int i) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(878.7734375, 102.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L36">
|
||||
<g title="E" id="classId-C_0001787658457052431115-5" class="node default clickable">
|
||||
<rect height="57" width="25.671875" y="-28.5" x="-12.8359375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="12.8359375" x1="-12.8359375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="12.8359375" x1="-12.8359375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.3359375, -21)" height="18" width="10.671875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">E</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(878.7734375, 433.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L37">
|
||||
<g title="E##nested_template" id="classId-C_0001549419203490064906-6" class="node default clickable">
|
||||
<rect height="79" width="201.734375" y="-39.5" x="-100.8671875" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="100.8671875" x1="-100.8671875" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="100.8671875" x1="-100.8671875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -93.3671875, -32)" height="18" width="186.734375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">E::nested_template<ET></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -93.3671875, 14)" height="18" width="140.359375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="text-decoration: underline; display: inline-block; white-space: nowrap;">
|
||||
<span style="text-decoration:underline;" class="nodeLabel">+get(ET * d) : : DT *</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(957.046875, 304.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00008/t00008.cc#L44">
|
||||
<g title="E##nested_template" id="classId-C_0000033637089897037832-7" class="node default clickable">
|
||||
<rect height="79" width="243.09375" y="-39.5" x="-121.546875" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="121.546875" x1="-121.546875" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="121.546875" x1="-121.546875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -100.0390625, -32)" height="18" width="200.078125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">E::nested_template<char></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -114.046875, 14)" height="18" width="228.09375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="text-decoration: underline; display: inline-block; white-space: nowrap;">
|
||||
<span style="text-decoration:underline;" class="nodeLabel">+getDecl(char * c) : : DeclType *</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 24 KiB |
@@ -1,22 +1,19 @@
|
||||
# t00009 - Template instantiation
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00009_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00009/t00009.cc
|
||||
using_namespace:
|
||||
- clanguml::t00009
|
||||
- t00009.cc
|
||||
using_namespace: clanguml::t00009
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00009
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00009.cc
|
||||
File `tests/t00009/t00009.cc`
|
||||
```cpp
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -35,9 +32,257 @@ public:
|
||||
A<std::string> *astring;
|
||||
A<std::vector<std::string>> &avector;
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace t00009
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00009::A<T>",
|
||||
"id": "412228989111660105",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00009.cc",
|
||||
"line": 9,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"type": "T"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00009",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00009.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "T",
|
||||
"template_parameters": []
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00009::A<int>",
|
||||
"id": "1894387438043499",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00009",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00009.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00009::A<std::string>",
|
||||
"id": "1340793233843139195",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00009",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00009.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "std::string"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00009::A<std::vector<std::string>>",
|
||||
"id": "1370808797762248850",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00009",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00009.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "std::string"
|
||||
}
|
||||
],
|
||||
"type": "std::vector"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00009::B",
|
||||
"id": "176239714450247310",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "aint",
|
||||
"source_location": {
|
||||
"column": 12,
|
||||
"file": "t00009.cc",
|
||||
"line": 14,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"type": "A<int>"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "astring",
|
||||
"source_location": {
|
||||
"column": 21,
|
||||
"file": "t00009.cc",
|
||||
"line": 15,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"type": "A<std::string> *"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "avector",
|
||||
"source_location": {
|
||||
"column": 34,
|
||||
"file": "t00009.cc",
|
||||
"line": 16,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"type": "A<std::vector<std::string>> &"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00009",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00009.cc",
|
||||
"line": 12,
|
||||
"translation_unit": "t00009.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00009_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "412228989111660105",
|
||||
"source": "1894387438043499",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "412228989111660105",
|
||||
"source": "1340793233843139195",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "412228989111660105",
|
||||
"source": "1370808797762248850",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1894387438043499",
|
||||
"label": "aint",
|
||||
"source": "176239714450247310",
|
||||
"type": "aggregation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1340793233843139195",
|
||||
"label": "astring",
|
||||
"source": "176239714450247310",
|
||||
"type": "association"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1370808797762248850",
|
||||
"label": "avector",
|
||||
"source": "176239714450247310",
|
||||
"type": "association"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00009"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,101 +1,123 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="351px" preserveAspectRatio="none" style="width:448px;height:351px;" version="1.1" viewBox="0 0 448 351" width="448px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="363px" preserveAspectRatio="none" style="width:410px;height:363px;background:#FFFFFF;" version="1.1" viewBox="0 0 410 363" width="410px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="fx8dk0mo69zvq" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fx8dk0mo69zvq)" height="60.8047" id="C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="116.5" y="280"/>
|
||||
<ellipse cx="142.3" cy="296" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M145.2688,301.6406 Q144.6906,301.9375 144.05,302.0781 Q143.4094,302.2344 142.7063,302.2344 Q140.2063,302.2344 138.8781,300.5938 Q137.5656,298.9375 137.5656,295.8125 Q137.5656,292.6875 138.8781,291.0313 Q140.2063,289.375 142.7063,289.375 Q143.4094,289.375 144.05,289.5313 Q144.7063,289.6875 145.2688,289.9844 L145.2688,292.7031 Q144.6438,292.125 144.05,291.8594 Q143.4563,291.5781 142.8313,291.5781 Q141.4875,291.5781 140.8,292.6563 Q140.1125,293.7188 140.1125,295.8125 Q140.1125,297.9063 140.8,298.9844 Q141.4875,300.0469 142.8313,300.0469 Q143.4563,300.0469 144.05,299.7813 Q144.6438,299.5 145.2688,298.9219 L145.2688,301.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="158.7" y="300.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="185.5" y="277"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="186.5" y="289.1387">T</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="190.5" y1="312" y2="312"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000412228989111660105">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="64.7999" id="C_0000412228989111660105" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="108.5" y="291.4"/>
|
||||
<ellipse cx="136.55" cy="307.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M131.55,308.5563 C131.55,311.0563 133.6906,312.8688 136.6125,312.8688 C137.8469,312.8688 139.0188,312.5719 139.7688,312.0563 C140.3781,311.6344 140.7063,311.2125 140.7063,310.8063 C140.7063,310.3375 140.2844,309.9313 139.7844,309.9313 C139.55,309.9313 139.3313,310.0094 139.1281,310.2125 C138.6906,310.65 138.6906,310.65 138.5188,310.7438 C138.0656,310.9781 137.425,311.1188 136.6594,311.1188 C134.6594,311.1188 133.3781,310.1031 133.3781,308.525 L133.3781,307.4781 C133.3781,305.775 134.5969,304.5719 136.3,304.5719 C136.8781,304.5719 137.4563,304.7125 137.925,304.9625 C138.3938,305.2281 138.5656,305.4156 138.6281,305.775 C138.7531,306.4469 139.0031,306.6969 139.5344,306.6969 C139.8156,306.6969 140.0969,306.5563 140.2844,306.3375 C140.4094,306.1656 140.4563,305.9938 140.4563,305.5563 L140.4563,304.1969 C140.4563,303.775 140.4406,303.6344 140.3156,303.4625 C140.1438,303.2125 139.8625,303.0563 139.5344,303.0563 C139.2219,303.0563 139.0188,303.1656 138.8,303.4313 C137.6281,302.9313 137.1906,302.8219 136.2375,302.8219 C133.5656,302.8219 131.55,304.8375 131.55,307.4625 L131.55,308.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="153.45" y="312.006">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="183.5" y="288.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="184.5" y="302.6001">T</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="109.5" x2="188.5" y1="323.4" y2="323.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="109.5" x2="188.5" y1="331.4" y2="331.4"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L9" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="114.5" y="340.3"/>
|
||||
<ellipse cx="119.5" cy="345.3" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L9" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="128.5" y="348.4059">value : T</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L9" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="122.5" y="318"/>
|
||||
<ellipse cx="127.5" cy="323" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000001894387438043499">
|
||||
<rect codeLine="7" fill="#F1F1F1" height="48" id="C_0000001894387438043499" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="58" x="7" y="182.4"/>
|
||||
<ellipse cx="22" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,199.5562 C17,202.0562 19.1406,203.8687 22.0625,203.8687 C23.2969,203.8687 24.4688,203.5719 25.2188,203.0562 C25.8281,202.6344 26.1563,202.2125 26.1563,201.8062 C26.1563,201.3375 25.7344,200.9312 25.2344,200.9312 C25,200.9312 24.7813,201.0094 24.5781,201.2125 C24.1406,201.65 24.1406,201.65 23.9688,201.7437 C23.5156,201.9781 22.875,202.1187 22.1094,202.1187 C20.1094,202.1187 18.8281,201.1031 18.8281,199.525 L18.8281,198.4781 C18.8281,196.775 20.0469,195.5719 21.75,195.5719 C22.3281,195.5719 22.9063,195.7125 23.375,195.9625 C23.8438,196.2281 24.0156,196.4156 24.0781,196.775 C24.2031,197.4469 24.4531,197.6969 24.9844,197.6969 C25.2656,197.6969 25.5469,197.5562 25.7344,197.3375 C25.8594,197.1656 25.9063,196.9937 25.9063,196.5562 L25.9063,195.1969 C25.9063,194.775 25.8906,194.6344 25.7656,194.4625 C25.5938,194.2125 25.3125,194.0562 24.9844,194.0562 C24.6719,194.0562 24.4688,194.1656 24.25,194.4312 C23.0781,193.9312 22.6406,193.8219 21.6875,193.8219 C19.0156,193.8219 17,195.8375 17,198.4625 L17,199.5562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="36" y="203.006">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="15" x="53" y="179.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="13" x="54" y="193.6001">int</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="64" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="64" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L9" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="136.5" y="326.2104">value : T</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001340793233843139195">
|
||||
<rect codeLine="11" fill="#F1F1F1" height="48" id="C_0001340793233843139195" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="100.5" y="182.4"/>
|
||||
<ellipse cx="115.5" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M110.5,199.5562 C110.5,202.0562 112.6406,203.8687 115.5625,203.8687 C116.7969,203.8687 117.9688,203.5719 118.7188,203.0562 C119.3281,202.6344 119.6563,202.2125 119.6563,201.8062 C119.6563,201.3375 119.2344,200.9312 118.7344,200.9312 C118.5,200.9312 118.2813,201.0094 118.0781,201.2125 C117.6406,201.65 117.6406,201.65 117.4688,201.7437 C117.0156,201.9781 116.375,202.1187 115.6094,202.1187 C113.6094,202.1187 112.3281,201.1031 112.3281,199.525 L112.3281,198.4781 C112.3281,196.775 113.5469,195.5719 115.25,195.5719 C115.8281,195.5719 116.4063,195.7125 116.875,195.9625 C117.3438,196.2281 117.5156,196.4156 117.5781,196.775 C117.7031,197.4469 117.9531,197.6969 118.4844,197.6969 C118.7656,197.6969 119.0469,197.5562 119.2344,197.3375 C119.3594,197.1656 119.4063,196.9937 119.4063,196.5562 L119.4063,195.1969 C119.4063,194.775 119.3906,194.6344 119.2656,194.4625 C119.0938,194.2125 118.8125,194.0562 118.4844,194.0562 C118.1719,194.0562 117.9688,194.1656 117.75,194.4312 C116.5781,193.9312 116.1406,193.8219 115.1875,193.8219 C112.5156,193.8219 110.5,195.8375 110.5,198.4625 L110.5,199.5562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="129.5" y="203.006">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="54" x="146.5" y="179.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="52" x="147.5" y="193.6001">std::string</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="101.5" x2="196.5" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="101.5" x2="196.5" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="190.5" y1="332.8047" y2="332.8047"/>
|
||||
<rect fill="#FEFECE" filter="url(#fx8dk0mo69zvq)" height="48" id="C_0000001894387438043499" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="6" y="171"/>
|
||||
<ellipse cx="21" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,192.6406 Q23.3906,192.9375 22.75,193.0781 Q22.1094,193.2344 21.4063,193.2344 Q18.9063,193.2344 17.5781,191.5938 Q16.2656,189.9375 16.2656,186.8125 Q16.2656,183.6875 17.5781,182.0313 Q18.9063,180.375 21.4063,180.375 Q22.1094,180.375 22.75,180.5313 Q23.4063,180.6875 23.9688,180.9844 L23.9688,183.7031 Q23.3438,183.125 22.75,182.8594 Q22.1563,182.5781 21.5313,182.5781 Q20.1875,182.5781 19.5,183.6563 Q18.8125,184.7188 18.8125,186.8125 Q18.8125,188.9063 19.5,189.9844 Q20.1875,191.0469 21.5313,191.0469 Q22.1563,191.0469 22.75,190.7813 Q23.3438,190.5 23.9688,189.9219 L23.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="191.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="18" x="51" y="168"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="52" y="180.1387">int</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="65" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="65" y1="211" y2="211"/>
|
||||
<rect fill="#FEFECE" filter="url(#fx8dk0mo69zvq)" height="48" id="C_0001340793233843139195" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="101" y="171"/>
|
||||
<ellipse cx="116" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M118.9688,192.6406 Q118.3906,192.9375 117.75,193.0781 Q117.1094,193.2344 116.4063,193.2344 Q113.9063,193.2344 112.5781,191.5938 Q111.2656,189.9375 111.2656,186.8125 Q111.2656,183.6875 112.5781,182.0313 Q113.9063,180.375 116.4063,180.375 Q117.1094,180.375 117.75,180.5313 Q118.4063,180.6875 118.9688,180.9844 L118.9688,183.7031 Q118.3438,183.125 117.75,182.8594 Q117.1563,182.5781 116.5313,182.5781 Q115.1875,182.5781 114.5,183.6563 Q113.8125,184.7188 113.8125,186.8125 Q113.8125,188.9063 114.5,189.9844 Q115.1875,191.0469 116.5313,191.0469 Q117.1563,191.0469 117.75,190.7813 Q118.3438,190.5 118.9688,189.9219 L118.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="130" y="191.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="64" x="146" y="168"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62" x="147" y="180.1387">std::string</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="102" x2="206" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="102" x2="206" y1="211" y2="211"/>
|
||||
<rect fill="#FEFECE" filter="url(#fx8dk0mo69zvq)" height="48" id="C_0001370808797762248850" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="242" y="171"/>
|
||||
<ellipse cx="257" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M259.9688,192.6406 Q259.3906,192.9375 258.75,193.0781 Q258.1094,193.2344 257.4063,193.2344 Q254.9063,193.2344 253.5781,191.5938 Q252.2656,189.9375 252.2656,186.8125 Q252.2656,183.6875 253.5781,182.0313 Q254.9063,180.375 257.4063,180.375 Q258.1094,180.375 258.75,180.5313 Q259.4063,180.6875 259.9688,180.9844 L259.9688,183.7031 Q259.3438,183.125 258.75,182.8594 Q258.1563,182.5781 257.5313,182.5781 Q256.1875,182.5781 255.5,183.6563 Q254.8125,184.7188 254.8125,186.8125 Q254.8125,188.9063 255.5,189.9844 Q256.1875,191.0469 257.5313,191.0469 Q258.1563,191.0469 258.75,190.7813 Q259.3438,190.5 259.9688,189.9219 L259.9688,192.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="271" y="191.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="150" x="287" y="168"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="148" x="288" y="180.1387">std::vector<std::string></text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="433" y1="203" y2="203"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="433" y1="211" y2="211"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L12" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L12" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fx8dk0mo69zvq)" height="86.4141" id="C_0000176239714450247310" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="25.5" y="8"/>
|
||||
<ellipse cx="145.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M148.7188,29.6406 Q148.1406,29.9375 147.5,30.0781 Q146.8594,30.2344 146.1563,30.2344 Q143.6563,30.2344 142.3281,28.5938 Q141.0156,26.9375 141.0156,23.8125 Q141.0156,20.6875 142.3281,19.0313 Q143.6563,17.375 146.1563,17.375 Q146.8594,17.375 147.5,17.5313 Q148.1563,17.6875 148.7188,17.9844 L148.7188,20.7031 Q148.0938,20.125 147.5,19.8594 Q146.9063,19.5781 146.2813,19.5781 Q144.9375,19.5781 144.25,20.6563 Q143.5625,21.7188 143.5625,23.8125 Q143.5625,25.9063 144.25,26.9844 Q144.9375,28.0469 146.2813,28.0469 Q146.9063,28.0469 147.5,27.7813 Q148.0938,27.5 148.7188,26.9219 L148.7188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="166.25" y="28.1543">B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="26.5" x2="281.5" y1="40" y2="40"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001370808797762248850">
|
||||
<rect codeLine="15" fill="#F1F1F1" height="48" id="C_0001370808797762248850" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="166" x="233" y="182.4"/>
|
||||
<ellipse cx="248" cy="198.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M243,199.5562 C243,202.0562 245.1406,203.8687 248.0625,203.8687 C249.2969,203.8687 250.4688,203.5719 251.2188,203.0562 C251.8281,202.6344 252.1563,202.2125 252.1563,201.8062 C252.1563,201.3375 251.7344,200.9312 251.2344,200.9312 C251,200.9312 250.7813,201.0094 250.5781,201.2125 C250.1406,201.65 250.1406,201.65 249.9688,201.7437 C249.5156,201.9781 248.875,202.1187 248.1094,202.1187 C246.1094,202.1187 244.8281,201.1031 244.8281,199.525 L244.8281,198.4781 C244.8281,196.775 246.0469,195.5719 247.75,195.5719 C248.3281,195.5719 248.9063,195.7125 249.375,195.9625 C249.8438,196.2281 250.0156,196.4156 250.0781,196.775 C250.2031,197.4469 250.4531,197.6969 250.9844,197.6969 C251.2656,197.6969 251.5469,197.5562 251.7344,197.3375 C251.8594,197.1656 251.9063,196.9937 251.9063,196.5562 L251.9063,195.1969 C251.9063,194.775 251.8906,194.6344 251.7656,194.4625 C251.5938,194.2125 251.3125,194.0562 250.9844,194.0562 C250.6719,194.0562 250.4688,194.1656 250.25,194.4312 C249.0781,193.9312 248.6406,193.8219 247.6875,193.8219 C245.0156,193.8219 243,195.8375 243,198.4625 L243,199.5562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="262" y="203.006">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="123" x="279" y="179.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="121" x="280" y="193.6001">std::vector<std::string></text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="234" x2="398" y1="214.4" y2="214.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="234" x2="398" y1="222.4" y2="222.4"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L14" xlink:show="new" xlink:title="aint" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="31.5" y="46"/>
|
||||
<ellipse cx="36.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L12" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L12" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0000176239714450247310">
|
||||
<rect codeLine="19" fill="#F1F1F1" height="98.3998" id="C_0000176239714450247310" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="267" x="15.5" y="7"/>
|
||||
<ellipse cx="140.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M135.25,24.1563 C135.25,26.6563 137.3906,28.4688 140.3125,28.4688 C141.5469,28.4688 142.7188,28.1719 143.4688,27.6563 C144.0781,27.2344 144.4063,26.8125 144.4063,26.4063 C144.4063,25.9375 143.9844,25.5313 143.4844,25.5313 C143.25,25.5313 143.0313,25.6094 142.8281,25.8125 C142.3906,26.25 142.3906,26.25 142.2188,26.3438 C141.7656,26.5781 141.125,26.7188 140.3594,26.7188 C138.3594,26.7188 137.0781,25.7031 137.0781,24.125 L137.0781,23.0781 C137.0781,21.375 138.2969,20.1719 140,20.1719 C140.5781,20.1719 141.1563,20.3125 141.625,20.5625 C142.0938,20.8281 142.2656,21.0156 142.3281,21.375 C142.4531,22.0469 142.7031,22.2969 143.2344,22.2969 C143.5156,22.2969 143.7969,22.1563 143.9844,21.9375 C144.1094,21.7656 144.1563,21.5938 144.1563,21.1563 L144.1563,19.7969 C144.1563,19.375 144.1406,19.2344 144.0156,19.0625 C143.8438,18.8125 143.5625,18.6563 143.2344,18.6563 C142.9219,18.6563 142.7188,18.7656 142.5,19.0313 C141.3281,18.5313 140.8906,18.4219 139.9375,18.4219 C137.2656,18.4219 135.25,20.4375 135.25,23.0625 L135.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="160.75" y="27.606">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="16.5" x2="281.5" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="16.5" x2="281.5" y1="47" y2="47"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L14" xlink:show="new" xlink:title="aint" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="21.5" y="55.9"/>
|
||||
<ellipse cx="26.5" cy="60.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L14" xlink:show="new" xlink:title="aint" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="35.5" y="64.0059">aint : A<int></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="21.5" y="72.6999"/>
|
||||
<ellipse cx="26.5" cy="77.6999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="151" x="35.5" y="80.8059">astring : A<std::string> *</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L16" xlink:show="new" xlink:title="avector" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="21.5" y="89.4998"/>
|
||||
<ellipse cx="26.5" cy="94.4998" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L16" xlink:show="new" xlink:title="avector" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="241" x="35.5" y="97.6058">avector : A<std::vector<std::string>> &</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L14" xlink:show="new" xlink:title="aint" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="45.5" y="54.2104">aint : A<int></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="31.5" y="58.8047"/>
|
||||
<ellipse cx="36.5" cy="63.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="45.5" y="67.0151">astring : A<std::string> *</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L16" xlink:show="new" xlink:title="avector" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="31.5" y="71.6094"/>
|
||||
<ellipse cx="36.5" cy="76.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00009/t00009.cc#L16" xlink:show="new" xlink:title="avector" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="231" x="45.5" y="79.8198">avector : A<std::vector<std::string>> &</text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="26.5" x2="281.5" y1="86.4141" y2="86.4141"/>
|
||||
<path d="M60.16,219.24 C74.1,232.65 92.08,249.94 108.57,265.8 " fill="none" id="C_0000001894387438043499->C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="113.57,260.9,123.13,279.81,103.86,270.99,113.57,260.9" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M154,219.24 C154,230.87 154,245.42 154,259.43 " fill="none" id="C_0001340793233843139195->C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="161,259.81,154,279.81,147,259.81,161,259.81" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M300.32,219.24 C274.03,235.46 238.51,257.37 209.05,275.54 " fill="none" id="C_0001370808797762248850->C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="212.33,281.75,191.63,286.29,204.98,269.83,212.33,281.75" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M110.41,104.45 C91.49,127.23 70.29,152.74 55.37,170.69 " fill="none" id="C_0000176239714450247310<-C_0000001894387438043499" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="118.92,94.22,112.0083,96.2764,111.2482,103.4473,118.1598,101.3909,118.92,94.22" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="98" cy="133.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="105" y="137.0669">aint</text>
|
||||
<path d="M154,94.22 C154,117.28 154,145.22 154,165.66 " fill="none" id="C_0000176239714450247310->C_0001340793233843139195" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="154,170.69,158,161.69,154,165.69,150,161.69,154,170.69" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="160" cy="133.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="44" x="167" y="137.0669">astring</text>
|
||||
<path d="M208.71,94.22 C239.58,118.04 277.19,147.07 303.87,167.66 " fill="none" id="C_0000176239714450247310->C_0001370808797762248850" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="308.06,170.89,303.3833,162.2223,304.1033,167.8332,298.4924,168.5531,308.06,170.89" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="273" cy="133.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="280" y="137.0669">avector</text>
|
||||
<g id="link_C_0000001894387438043499_C_0000412228989111660105">
|
||||
<path codeLine="25" d="M58.87,230.75 C75.89,248.14 86.724,259.2115 105.434,278.3115 " fill="none" id="C_0000001894387438043499-to-C_0000412228989111660105" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="118.03,291.17,109.7202,274.1128,101.1479,282.5101,118.03,291.17" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001340793233843139195_C_0000412228989111660105">
|
||||
<path codeLine="26" d="M149,230.75 C149,248.14 149,254.07 149,273.17 " fill="none" id="C_0001340793233843139195-to-C_0000412228989111660105" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="149,291.17,155,273.17,143,273.17,149,291.17" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001370808797762248850_C_0000412228989111660105">
|
||||
<path codeLine="27" d="M282.21,230.75 C255.52,249.19 232.986,264.7537 204.636,284.3537 " fill="none" id="C_0001370808797762248850-to-C_0000412228989111660105" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="189.83,294.59,208.0481,289.2891,201.2239,279.4184,189.83,294.59" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000176239714450247310_C_0000001894387438043499">
|
||||
<path codeLine="28" d="M104.7229,115.2717 C85.1529,140.9317 69.31,161.72 53.75,182.12 " fill="none" id="C_0000176239714450247310-backto-C_0000001894387438043499" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="112,105.73,105.1809,108.0751,104.7229,115.2717,111.542,112.9265,112,105.73" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="96" cy="144.7" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="21" x="103" y="148.477">aint</text>
|
||||
</g>
|
||||
<g id="link_C_0000176239714450247310_C_0001340793233843139195">
|
||||
<path codeLine="29" d="M149,105.73 C149,131.39 149,155.72 149,176.12 " fill="none" id="C_0000176239714450247310-to-C_0001340793233843139195" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="149,182.12,153,173.12,149,177.12,145,173.12,149,182.12" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="155" cy="144.7" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="162" y="148.477">astring</text>
|
||||
</g>
|
||||
<g id="link_C_0000176239714450247310_C_0001370808797762248850">
|
||||
<path codeLine="30" d="M203.68,105.73 C232.6,131.39 262.2812,157.7387 285.2812,178.1387 " fill="none" id="C_0000176239714450247310-to-C_0001370808797762248850" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="289.77,182.12,285.6911,173.1555,286.0294,178.8022,280.3826,179.1405,289.77,182.12" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="258" cy="144.7" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="265" y="148.477">avector</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 20 KiB |
252
docs/test_cases/t00009_class_mermaid.svg
Normal file
@@ -0,0 +1,252 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 530.859375 393" style="max-width: 530.859px; background-color: white;" width="530.859375" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M40.3984375,256L40.3984375,260.1666666666667C40.3984375,264.3333333333333,40.3984375,272.6666666666667,54.63530201463541,283.1851060127621C68.87216652927081,293.7035453588576,97.34589555854164,306.4070907177152,111.58276007317704,312.758863397144L125.81962458781246,319.1106360765728"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id2" d="M184.96875,256L184.96875,260.1666666666667C184.96875,264.3333333333333,184.96875,272.6666666666667,184.96875,278C184.96875,283.3333333333333,184.96875,285.6666666666667,184.96875,286.8333333333333L184.96875,288"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id3" d="M410,256L410,260.1666666666667C410,264.3333333333333,410,272.6666666666667,382.49715688931127,284.71638682319053C354.9943137786225,296.7661069797144,299.988627557245,312.53221395942876,272.48578444655624,320.415267449286L244.9829413358675,328.29832093914314"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M76.84952080548504,140.92120819636588L70.77434025457087,144.93434016363824C64.69915970365669,148.9474721309106,52.548798601828345,156.9737360654553,46.473618050914176,166.65353469939433C40.3984375,176.33333333333334,40.3984375,187.66666666666666,40.3984375,193.33333333333334L40.3984375,199"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id5" d="M184.96875,131L184.96875,136.66666666666666C184.96875,142.33333333333334,184.96875,153.66666666666666,184.96875,164C184.96875,174.33333333333334,184.96875,183.66666666666666,184.96875,188.33333333333334L184.96875,193"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id6" d="M329.8841623036649,131L343.2368019197208,136.66666666666666C356.5894415357766,142.33333333333334,383.2947207678883,153.66666666666666,396.6473603839442,164C410,174.33333333333334,410,183.66666666666666,410,188.33333333333334L410,193"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(40.3984375, 165)" class="edgeLabel">
|
||||
<g transform="translate(-17.5703125, -9)" class="label">
|
||||
<foreignObject height="18" width="35.140625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+aint</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(184.96875, 165)" class="edgeLabel">
|
||||
<g transform="translate(-28.6875, -9)" class="label">
|
||||
<foreignObject height="18" width="57.375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+astring</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(410, 165)" class="edgeLabel">
|
||||
<g transform="translate(-30.90625, -9)" class="label">
|
||||
<foreignObject height="18" width="61.8125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+avector</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(184.96875, 345.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7">
|
||||
<g title="A" id="classId-C_0000412228989111660105-0" class="node default clickable">
|
||||
<rect height="79" width="85.421875" y="-39.5" x="-42.7109375" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="42.7109375" x1="-42.7109375" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="42.7109375" x1="-42.7109375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -20.0078125, -32)" height="18" width="40.015625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -35.2109375, 2)" height="18" width="70.421875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(40.3984375, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7">
|
||||
<g title="A" id="classId-C_0000001894387438043499-1" class="node default clickable">
|
||||
<rect height="57" width="64.796875" y="-28.5" x="-32.3984375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -24.8984375, -21)" height="18" width="49.796875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(184.96875, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7">
|
||||
<g title="A" id="classId-C_0001340793233843139195-2" class="node default clickable">
|
||||
<rect height="57" width="124.34375" y="-28.5" x="-62.171875" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="62.171875" x1="-62.171875" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="62.171875" x1="-62.171875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -54.671875, -21)" height="18" width="109.34375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<std::string></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(410, 227.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L7">
|
||||
<g title="A" id="classId-C_0001370808797762248850-3" class="node default clickable">
|
||||
<rect height="57" width="225.71875" y="-28.5" x="-112.859375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="112.859375" x1="-112.859375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="112.859375" x1="-112.859375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -105.359375, -21)" height="18" width="210.71875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<std::vector<std::string>></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(184.96875, 69.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00009/t00009.cc#L12">
|
||||
<g title="B" id="classId-C_0000176239714450247310-4" class="node default clickable">
|
||||
<rect height="123" width="295.59375" y="-61.5" x="-147.796875" class="outer title-state"/>
|
||||
<line y2="-31.5" y1="-31.5" x2="147.796875" x1="-147.796875" class="divider"/>
|
||||
<line y2="50.5" y1="50.5" x2="147.796875" x1="-147.796875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -54)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -140.296875, -20)" height="18" width="93.859375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+aint : A<int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -140.296875, 2)" height="18" width="168.828125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">+astring : A<std::string></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -140.296875, 24)" height="18" width="280.59375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+avector : A<std::vector<std::string>> &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -1,22 +1,19 @@
|
||||
# t00010 - Basic template instantiation
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00010_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00010/t00010.cc
|
||||
using_namespace:
|
||||
- clanguml::t00010
|
||||
- t00010.cc
|
||||
using_namespace: clanguml::t00010
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00010
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00010.cc
|
||||
File `tests/t00010/t00010.cc`
|
||||
```cpp
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -39,9 +36,250 @@ class C {
|
||||
public:
|
||||
B<int> aintstring;
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace t00010
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00010::A<T,P>",
|
||||
"id": "2222216618904514099",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "first",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00010.cc",
|
||||
"line": 9,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"type": "T"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "second",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00010.cc",
|
||||
"line": 10,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"type": "P"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00010",
|
||||
"source_location": {
|
||||
"column": 41,
|
||||
"file": "t00010.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "T",
|
||||
"template_parameters": []
|
||||
},
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "P",
|
||||
"template_parameters": []
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00010::A<T,std::string>",
|
||||
"id": "1861520693741915300",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00010",
|
||||
"source_location": {
|
||||
"column": 41,
|
||||
"file": "t00010.cc",
|
||||
"line": 7,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "T",
|
||||
"template_parameters": []
|
||||
},
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "std::string"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00010::B<T>",
|
||||
"id": "2303611426082708583",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "astring",
|
||||
"source_location": {
|
||||
"column": 23,
|
||||
"file": "t00010.cc",
|
||||
"line": 15,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"type": "A<T,std::string>"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00010",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00010.cc",
|
||||
"line": 13,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "T",
|
||||
"template_parameters": []
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00010::B<int>",
|
||||
"id": "1498376939480949099",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00010",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00010.cc",
|
||||
"line": 13,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00010::C",
|
||||
"id": "1880966578968892571",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "aintstring",
|
||||
"source_location": {
|
||||
"column": 12,
|
||||
"file": "t00010.cc",
|
||||
"line": 20,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"type": "B<int>"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "C",
|
||||
"namespace": "clanguml::t00010",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00010.cc",
|
||||
"line": 18,
|
||||
"translation_unit": "t00010.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00010_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "2222216618904514099",
|
||||
"source": "1861520693741915300",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1861520693741915300",
|
||||
"label": "astring",
|
||||
"source": "2303611426082708583",
|
||||
"type": "aggregation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "2303611426082708583",
|
||||
"source": "1498376939480949099",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1498376939480949099",
|
||||
"label": "aintstring",
|
||||
"source": "1880966578968892571",
|
||||
"type": "aggregation"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00010"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,97 +1,113 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="586px" preserveAspectRatio="none" style="width:193px;height:586px;" version="1.1" viewBox="0 0 193 586" width="193px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="597px" preserveAspectRatio="none" style="width:199px;height:597px;background:#FFFFFF;" version="1.1" viewBox="0 0 199 597" width="199px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f19p1hqqkc0r6k" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f19p1hqqkc0r6k)" height="73.6094" id="C_0002222216618904514099" style="stroke: #A80036; stroke-width: 1.5;" width="86" x="49.5" y="502"/>
|
||||
<ellipse cx="75.3" cy="518" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M78.2688,523.6406 Q77.6906,523.9375 77.05,524.0781 Q76.4094,524.2344 75.7063,524.2344 Q73.2063,524.2344 71.8781,522.5938 Q70.5656,520.9375 70.5656,517.8125 Q70.5656,514.6875 71.8781,513.0313 Q73.2063,511.375 75.7063,511.375 Q76.4094,511.375 77.05,511.5313 Q77.7063,511.6875 78.2688,511.9844 L78.2688,514.7031 Q77.6438,514.125 77.05,513.8594 Q76.4563,513.5781 75.8313,513.5781 Q74.4875,513.5781 73.8,514.6563 Q73.1125,515.7188 73.1125,517.8125 Q73.1125,519.9063 73.8,520.9844 Q74.4875,522.0469 75.8313,522.0469 Q76.4563,522.0469 77.05,521.7813 Q77.6438,521.5 78.2688,520.9219 L78.2688,523.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="91.7" y="522.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="20" x="118.5" y="499"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="18" x="119.5" y="511.1387">T,P</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="50.5" x2="134.5" y1="534" y2="534"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0002222216618904514099">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="81.5999" id="C_0002222216618904514099" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="51" y="508.6"/>
|
||||
<ellipse cx="79.5" cy="524.6" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M74.5,525.7563 C74.5,528.2563 76.6406,530.0688 79.5625,530.0688 C80.7969,530.0688 81.9688,529.7719 82.7188,529.2563 C83.3281,528.8344 83.6563,528.4125 83.6563,528.0063 C83.6563,527.5375 83.2344,527.1313 82.7344,527.1313 C82.5,527.1313 82.2813,527.2094 82.0781,527.4125 C81.6406,527.85 81.6406,527.85 81.4688,527.9438 C81.0156,528.1781 80.375,528.3188 79.6094,528.3188 C77.6094,528.3188 76.3281,527.3031 76.3281,525.725 L76.3281,524.6781 C76.3281,522.975 77.5469,521.7719 79.25,521.7719 C79.8281,521.7719 80.4063,521.9125 80.875,522.1625 C81.3438,522.4281 81.5156,522.6156 81.5781,522.975 C81.7031,523.6469 81.9531,523.8969 82.4844,523.8969 C82.7656,523.8969 83.0469,523.7563 83.2344,523.5375 C83.3594,523.3656 83.4063,523.1938 83.4063,522.7563 L83.4063,521.3969 C83.4063,520.975 83.3906,520.8344 83.2656,520.6625 C83.0938,520.4125 82.8125,520.2563 82.4844,520.2563 C82.1719,520.2563 81.9688,520.3656 81.75,520.6313 C80.5781,520.1313 80.1406,520.0219 79.1875,520.0219 C76.5156,520.0219 74.5,522.0375 74.5,524.6625 L74.5,525.7563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="96.5" y="529.206">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="20" x="127" y="505.6"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="18" x="128" y="519.8001">T,P</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="52" x2="143" y1="540.6" y2="540.6"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="52" x2="143" y1="548.6" y2="548.6"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L9" xlink:show="new" xlink:title="first" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="57" y="557.5"/>
|
||||
<ellipse cx="62" cy="562.5" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L9" xlink:show="new" xlink:title="first" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="71" y="565.6059">first : T</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L10" xlink:show="new" xlink:title="second" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="57" y="574.2999"/>
|
||||
<ellipse cx="62" cy="579.2999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L10" xlink:show="new" xlink:title="second" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67" x="71" y="582.4059">second : P</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L9" xlink:show="new" xlink:title="first" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="55.5" y="540"/>
|
||||
<ellipse cx="60.5" cy="545" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001861520693741915300">
|
||||
<rect codeLine="8" fill="#F1F1F1" height="48" id="C_0001861520693741915300" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="107" x="44" y="399.6"/>
|
||||
<ellipse cx="59" cy="415.6" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M54,416.7563 C54,419.2563 56.1406,421.0688 59.0625,421.0688 C60.2969,421.0688 61.4688,420.7719 62.2188,420.2563 C62.8281,419.8344 63.1563,419.4125 63.1563,419.0063 C63.1563,418.5375 62.7344,418.1313 62.2344,418.1313 C62,418.1313 61.7813,418.2094 61.5781,418.4125 C61.1406,418.85 61.1406,418.85 60.9688,418.9438 C60.5156,419.1781 59.875,419.3188 59.1094,419.3188 C57.1094,419.3188 55.8281,418.3031 55.8281,416.725 L55.8281,415.6781 C55.8281,413.975 57.0469,412.7719 58.75,412.7719 C59.3281,412.7719 59.9063,412.9125 60.375,413.1625 C60.8438,413.4281 61.0156,413.6156 61.0781,413.975 C61.2031,414.6469 61.4531,414.8969 61.9844,414.8969 C62.2656,414.8969 62.5469,414.7563 62.7344,414.5375 C62.8594,414.3656 62.9063,414.1938 62.9063,413.7563 L62.9063,412.3969 C62.9063,411.975 62.8906,411.8344 62.7656,411.6625 C62.5938,411.4125 62.3125,411.2563 61.9844,411.2563 C61.6719,411.2563 61.4688,411.3656 61.25,411.6313 C60.0781,411.1313 59.6406,411.0219 58.6875,411.0219 C56.0156,411.0219 54,413.0375 54,415.6625 L54,416.7563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="73" y="420.206">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="64" x="90" y="396.6"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="62" x="91" y="410.8001">T,std::string</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="45" x2="150" y1="431.6" y2="431.6"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="45" x2="150" y1="439.6" y2="439.6"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L9" xlink:show="new" xlink:title="first" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="69.5" y="548.2104">first : T</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0002303611426082708583">
|
||||
<rect codeLine="12" fill="#F1F1F1" height="64.7999" id="C_0002303611426082708583" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="181" x="7" y="257.8"/>
|
||||
<ellipse cx="83.25" cy="273.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M78.25,274.9563 C78.25,277.4563 80.3906,279.2688 83.3125,279.2688 C84.5469,279.2688 85.7188,278.9719 86.4688,278.4563 C87.0781,278.0344 87.4063,277.6125 87.4063,277.2063 C87.4063,276.7375 86.9844,276.3313 86.4844,276.3313 C86.25,276.3313 86.0313,276.4094 85.8281,276.6125 C85.3906,277.05 85.3906,277.05 85.2188,277.1438 C84.7656,277.3781 84.125,277.5188 83.3594,277.5188 C81.3594,277.5188 80.0781,276.5031 80.0781,274.925 L80.0781,273.8781 C80.0781,272.175 81.2969,270.9719 83,270.9719 C83.5781,270.9719 84.1563,271.1125 84.625,271.3625 C85.0938,271.6281 85.2656,271.8156 85.3281,272.175 C85.4531,272.8469 85.7031,273.0969 86.2344,273.0969 C86.5156,273.0969 86.7969,272.9563 86.9844,272.7375 C87.1094,272.5656 87.1563,272.3938 87.1563,271.9563 L87.1563,270.5969 C87.1563,270.175 87.1406,270.0344 87.0156,269.8625 C86.8438,269.6125 86.5625,269.4563 86.2344,269.4563 C85.9219,269.4563 85.7188,269.5656 85.5,269.8313 C84.3281,269.3313 83.8906,269.2219 82.9375,269.2219 C80.2656,269.2219 78.25,271.2375 78.25,273.8625 L78.25,274.9563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="103.75" y="278.406">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="182" y="254.8"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="183" y="269.0001">T</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="187" y1="289.8" y2="289.8"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="187" y1="297.8" y2="297.8"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="306.7"/>
|
||||
<ellipse cx="18" cy="311.7" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="27" y="314.8059">astring : A<T,std::string></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L10" xlink:show="new" xlink:title="second" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="55.5" y="552.8047"/>
|
||||
<ellipse cx="60.5" cy="557.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001498376939480949099">
|
||||
<rect codeLine="17" fill="#F1F1F1" height="48" id="C_0001498376939480949099" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="58" x="68.5" y="148.8"/>
|
||||
<ellipse cx="83.5" cy="164.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M78.5,165.9563 C78.5,168.4563 80.6406,170.2688 83.5625,170.2688 C84.7969,170.2688 85.9688,169.9719 86.7188,169.4563 C87.3281,169.0344 87.6563,168.6125 87.6563,168.2063 C87.6563,167.7375 87.2344,167.3313 86.7344,167.3313 C86.5,167.3313 86.2813,167.4094 86.0781,167.6125 C85.6406,168.05 85.6406,168.05 85.4688,168.1438 C85.0156,168.3781 84.375,168.5188 83.6094,168.5188 C81.6094,168.5188 80.3281,167.5031 80.3281,165.925 L80.3281,164.8781 C80.3281,163.175 81.5469,161.9719 83.25,161.9719 C83.8281,161.9719 84.4063,162.1125 84.875,162.3625 C85.3438,162.6281 85.5156,162.8156 85.5781,163.175 C85.7031,163.8469 85.9531,164.0969 86.4844,164.0969 C86.7656,164.0969 87.0469,163.9563 87.2344,163.7375 C87.3594,163.5656 87.4063,163.3938 87.4063,162.9563 L87.4063,161.5969 C87.4063,161.175 87.3906,161.0344 87.2656,160.8625 C87.0938,160.6125 86.8125,160.4563 86.4844,160.4563 C86.1719,160.4563 85.9688,160.5656 85.75,160.8313 C84.5781,160.3313 84.1406,160.2219 83.1875,160.2219 C80.5156,160.2219 78.5,162.2375 78.5,164.8625 L78.5,165.9563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="97.5" y="169.406">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="15" x="114.5" y="145.8"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="13" x="115.5" y="160.0001">int</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="69.5" x2="125.5" y1="180.8" y2="180.8"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="69.5" x2="125.5" y1="188.8" y2="188.8"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L10" xlink:show="new" xlink:title="second" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="60" x="69.5" y="561.0151">second : P</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L18" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L18" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0001880966578968892571">
|
||||
<rect codeLine="21" fill="#F1F1F1" height="64.7999" id="C_0001880966578968892571" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="136" x="29.5" y="7"/>
|
||||
<ellipse cx="88.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M83.25,24.1563 C83.25,26.6563 85.3906,28.4688 88.3125,28.4688 C89.5469,28.4688 90.7188,28.1719 91.4688,27.6563 C92.0781,27.2344 92.4063,26.8125 92.4063,26.4063 C92.4063,25.9375 91.9844,25.5313 91.4844,25.5313 C91.25,25.5313 91.0313,25.6094 90.8281,25.8125 C90.3906,26.25 90.3906,26.25 90.2188,26.3438 C89.7656,26.5781 89.125,26.7188 88.3594,26.7188 C86.3594,26.7188 85.0781,25.7031 85.0781,24.125 L85.0781,23.0781 C85.0781,21.375 86.2969,20.1719 88,20.1719 C88.5781,20.1719 89.1563,20.3125 89.625,20.5625 C90.0938,20.8281 90.2656,21.0156 90.3281,21.375 C90.4531,22.0469 90.7031,22.2969 91.2344,22.2969 C91.5156,22.2969 91.7969,22.1563 91.9844,21.9375 C92.1094,21.7656 92.1563,21.5938 92.1563,21.1563 L92.1563,19.7969 C92.1563,19.375 92.1406,19.2344 92.0156,19.0625 C91.8438,18.8125 91.5625,18.6563 91.2344,18.6563 C90.9219,18.6563 90.7188,18.7656 90.5,19.0313 C89.3281,18.5313 88.8906,18.4219 87.9375,18.4219 C85.2656,18.4219 83.25,20.4375 83.25,23.0625 L83.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="108.75" y="27.606">C</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="30.5" x2="164.5" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="30.5" x2="164.5" y1="47" y2="47"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L20" xlink:show="new" xlink:title="aintstring" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="35.5" y="55.9"/>
|
||||
<ellipse cx="40.5" cy="60.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L20" xlink:show="new" xlink:title="aintstring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="49.5" y="64.0059">aintstring : B<int></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="50.5" x2="134.5" y1="567.6094" y2="567.6094"/>
|
||||
<rect fill="#FEFECE" filter="url(#f19p1hqqkc0r6k)" height="48" id="C_0001861520693741915300" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="34" y="393"/>
|
||||
<ellipse cx="49" cy="409" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M51.9688,414.6406 Q51.3906,414.9375 50.75,415.0781 Q50.1094,415.2344 49.4063,415.2344 Q46.9063,415.2344 45.5781,413.5938 Q44.2656,411.9375 44.2656,408.8125 Q44.2656,405.6875 45.5781,404.0313 Q46.9063,402.375 49.4063,402.375 Q50.1094,402.375 50.75,402.5313 Q51.4063,402.6875 51.9688,402.9844 L51.9688,405.7031 Q51.3438,405.125 50.75,404.8594 Q50.1563,404.5781 49.5313,404.5781 Q48.1875,404.5781 47.5,405.6563 Q46.8125,406.7188 46.8125,408.8125 Q46.8125,410.9063 47.5,411.9844 Q48.1875,413.0469 49.5313,413.0469 Q50.1563,413.0469 50.75,412.7813 Q51.3438,412.5 51.9688,411.9219 L51.9688,414.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="63" y="413.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="79" y="390"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="80" y="402.1387">T,std::string</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="35" x2="150" y1="425" y2="425"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="35" x2="150" y1="433" y2="433"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f19p1hqqkc0r6k)" height="60.8047" id="C_0002303611426082708583" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="6" y="255"/>
|
||||
<ellipse cx="78.75" cy="271" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M81.7188,276.6406 Q81.1406,276.9375 80.5,277.0781 Q79.8594,277.2344 79.1563,277.2344 Q76.6563,277.2344 75.3281,275.5938 Q74.0156,273.9375 74.0156,270.8125 Q74.0156,267.6875 75.3281,266.0313 Q76.6563,264.375 79.1563,264.375 Q79.8594,264.375 80.5,264.5313 Q81.1563,264.6875 81.7188,264.9844 L81.7188,267.7031 Q81.0938,267.125 80.5,266.8594 Q79.9063,266.5781 79.2813,266.5781 Q77.9375,266.5781 77.25,267.6563 Q76.5625,268.7188 76.5625,270.8125 Q76.5625,272.9063 77.25,273.9844 Q77.9375,275.0469 79.2813,275.0469 Q79.9063,275.0469 80.5,274.7813 Q81.0938,274.5 81.7188,273.9219 L81.7188,276.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="99.25" y="275.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="173" y="252"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="174" y="264.1387">T</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="178" y1="287" y2="287"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="293"/>
|
||||
<ellipse cx="17" cy="298" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L15" xlink:show="new" xlink:title="astring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="26" y="301.2104">astring : A<T,std::string></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="178" y1="307.8047" y2="307.8047"/>
|
||||
<rect fill="#FEFECE" filter="url(#f19p1hqqkc0r6k)" height="48" id="C_0001498376939480949099" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="62.5" y="146"/>
|
||||
<ellipse cx="77.5" cy="162" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M80.4688,167.6406 Q79.8906,167.9375 79.25,168.0781 Q78.6094,168.2344 77.9063,168.2344 Q75.4063,168.2344 74.0781,166.5938 Q72.7656,164.9375 72.7656,161.8125 Q72.7656,158.6875 74.0781,157.0313 Q75.4063,155.375 77.9063,155.375 Q78.6094,155.375 79.25,155.5313 Q79.9063,155.6875 80.4688,155.9844 L80.4688,158.7031 Q79.8438,158.125 79.25,157.8594 Q78.6563,157.5781 78.0313,157.5781 Q76.6875,157.5781 76,158.6563 Q75.3125,159.7188 75.3125,161.8125 Q75.3125,163.9063 76,164.9844 Q76.6875,166.0469 78.0313,166.0469 Q78.6563,166.0469 79.25,165.7813 Q79.8438,165.5 80.4688,164.9219 L80.4688,167.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="91.5" y="166.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="18" x="107.5" y="143"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="108.5" y="155.1387">int</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="63.5" x2="121.5" y1="178" y2="178"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="63.5" x2="121.5" y1="186" y2="186"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L18" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L18" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f19p1hqqkc0r6k)" height="60.8047" id="C_0001880966578968892571" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="26.5" y="8"/>
|
||||
<ellipse cx="84.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M87.2188,29.6406 Q86.6406,29.9375 86,30.0781 Q85.3594,30.2344 84.6563,30.2344 Q82.1563,30.2344 80.8281,28.5938 Q79.5156,26.9375 79.5156,23.8125 Q79.5156,20.6875 80.8281,19.0313 Q82.1563,17.375 84.6563,17.375 Q85.3594,17.375 86,17.5313 Q86.6563,17.6875 87.2188,17.9844 L87.2188,20.7031 Q86.5938,20.125 86,19.8594 Q85.4063,19.5781 84.7813,19.5781 Q83.4375,19.5781 82.75,20.6563 Q82.0625,21.7188 82.0625,23.8125 Q82.0625,25.9063 82.75,26.9844 Q83.4375,28.0469 84.7813,28.0469 Q85.4063,28.0469 86,27.7813 Q86.5938,27.5 87.2188,26.9219 L87.2188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="104.75" y="28.1543">C</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="27.5" x2="157.5" y1="40" y2="40"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L20" xlink:show="new" xlink:title="aintstring" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="32.5" y="46"/>
|
||||
<ellipse cx="37.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00010/t00010.cc#L20" xlink:show="new" xlink:title="aintstring" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="46.5" y="54.2104">aintstring : B<int></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="27.5" x2="157.5" y1="60.8047" y2="60.8047"/>
|
||||
<path d="M92.5,441.14 C92.5,452.67 92.5,467.17 92.5,481.41 " fill="none" id="C_0001861520693741915300->C_0002222216618904514099" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="99.5,481.71,92.5,501.71,85.5,481.71,99.5,481.71" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M92.5,329.5 C92.5,350.65 92.5,375.32 92.5,392.88 " fill="none" id="C_0002303611426082708583<-C_0001861520693741915300" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="92.5,316.21,88.5,322.21,92.5,328.21,96.5,322.21,92.5,316.21" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="98.5" cy="355.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="44" x="105.5" y="359.0669">astring</text>
|
||||
<path d="M92.5,194.24 C92.5,205.87 92.5,220.42 92.5,234.43 " fill="none" id="C_0001498376939480949099->C_0002303611426082708583" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="99.5,234.81,92.5,254.81,85.5,234.81,99.5,234.81" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M92.5,82.5 C92.5,103.65 92.5,128.32 92.5,145.88 " fill="none" id="C_0001880966578968892571<-C_0001498376939480949099" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="92.5,69.21,88.5,75.21,92.5,81.21,96.5,75.21,92.5,69.21" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="98.5" cy="108.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="60" x="105.5" y="112.0669">aintstring</text>
|
||||
<g id="link_C_0001861520693741915300_C_0002222216618904514099">
|
||||
<path codeLine="25" d="M97.5,447.89 C97.5,464.84 97.5,470.22 97.5,490.17 " fill="none" id="C_0001861520693741915300-to-C_0002222216618904514099" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="97.5,508.17,103.5,490.17,91.5,490.17,97.5,508.17" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0002303611426082708583_C_0001861520693741915300">
|
||||
<path codeLine="26" d="M97.5,335.01 C97.5,358.55 97.5,378.1 97.5,399.32 " fill="none" id="C_0002303611426082708583-backto-C_0001861520693741915300" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="97.5,323.01,93.5,329.01,97.5,335.01,101.5,329.01,97.5,323.01" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="103.5" cy="361.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="110.5" y="365.677">astring</text>
|
||||
</g>
|
||||
<g id="link_C_0001498376939480949099_C_0002303611426082708583">
|
||||
<path codeLine="27" d="M97.5,197.15 C97.5,214.54 97.5,220.47 97.5,239.57 " fill="none" id="C_0001498376939480949099-to-C_0002303611426082708583" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="97.5,257.57,103.5,239.57,91.5,239.57,97.5,257.57" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001880966578968892571_C_0001498376939480949099">
|
||||
<path codeLine="28" d="M97.5,84.21 C97.5,107.75 97.5,127.3 97.5,148.52 " fill="none" id="C_0001880966578968892571-backto-C_0001498376939480949099" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="97.5,72.21,93.5,78.21,97.5,84.21,101.5,78.21,97.5,72.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="103.5" cy="111.1" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="53" x="110.5" y="114.877">aintstring</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 18 KiB |
228
docs/test_cases/t00010_class_mermaid.svg
Normal file
@@ -0,0 +1,228 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 211.984375 625" style="max-width: 211.984px; background-color: white;" width="211.984375" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M105.9921875,466L105.9921875,470.1666666666667C105.9921875,474.3333333333333,105.9921875,482.6666666666667,105.9921875,488C105.9921875,493.3333333333333,105.9921875,495.6666666666667,105.9921875,496.8333333333333L105.9921875,498"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M105.9921875,359L105.9921875,361.6666666666667C105.9921875,364.3333333333333,105.9921875,369.6666666666667,105.9921875,378C105.9921875,386.3333333333333,105.9921875,397.6666666666667,105.9921875,403.3333333333333L105.9921875,409"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id3" d="M105.9921875,212L105.9921875,216.16666666666666C105.9921875,220.33333333333334,105.9921875,228.66666666666666,105.9921875,234C105.9921875,239.33333333333334,105.9921875,241.66666666666666,105.9921875,242.83333333333334L105.9921875,244"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M105.9921875,105L105.9921875,107.66666666666667C105.9921875,110.33333333333333,105.9921875,115.66666666666667,105.9921875,124C105.9921875,132.33333333333334,105.9921875,143.66666666666666,105.9921875,149.33333333333334L105.9921875,155"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(105.9921875, 375)" class="edgeLabel">
|
||||
<g transform="translate(-28.6875, -9)" class="label">
|
||||
<foreignObject height="18" width="57.375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+astring</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(105.9921875, 121)" class="edgeLabel">
|
||||
<g transform="translate(-37.1328125, -9)" class="label">
|
||||
<foreignObject height="18" width="74.265625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+aintstring</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(105.9921875, 566.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7">
|
||||
<g title="A" id="classId-C_0002222216618904514099-0" class="node default clickable">
|
||||
<rect height="101" width="99.953125" y="-50.5" x="-49.9765625" class="outer title-state"/>
|
||||
<line y2="-20.5" y1="-20.5" x2="49.9765625" x1="-49.9765625" class="divider"/>
|
||||
<line y2="39.5" y1="39.5" x2="49.9765625" x1="-49.9765625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -26.6796875, -43)" height="18" width="53.359375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<T,P></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -42.4765625, -9)" height="18" width="57.9375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+first : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -42.4765625, 13)" height="18" width="84.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+second : P</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(105.9921875, 437.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L7">
|
||||
<g title="A" id="classId-C_0001861520693741915300-1" class="node default clickable">
|
||||
<rect height="57" width="136.796875" y="-28.5" x="-68.3984375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="68.3984375" x1="-68.3984375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="68.3984375" x1="-68.3984375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -60.8984375, -21)" height="18" width="121.796875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<T,std::string></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(105.9921875, 301.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13">
|
||||
<g title="B" id="classId-C_0002303611426082708583-2" class="node default clickable">
|
||||
<rect height="79" width="195.984375" y="-39.5" x="-97.9921875" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="97.9921875" x1="-97.9921875" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="97.9921875" x1="-97.9921875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -20.0078125, -32)" height="18" width="40.015625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -90.4921875, 2)" height="18" width="180.984375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+astring : A<T,std::string></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(105.9921875, 183.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L13">
|
||||
<g title="B" id="classId-C_0001498376939480949099-3" class="node default clickable">
|
||||
<rect height="57" width="64.796875" y="-28.5" x="-32.3984375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -24.8984375, -21)" height="18" width="49.796875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(105.9921875, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00010/t00010.cc#L18">
|
||||
<g title="C" id="classId-C_0001880966578968892571-4" class="node default clickable">
|
||||
<rect height="79" width="148.859375" y="-39.5" x="-74.4296875" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="74.4296875" x1="-74.4296875" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="74.4296875" x1="-74.4296875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -32)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -66.9296875, 2)" height="18" width="133.859375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+aintstring : B<int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -1,26 +1,22 @@
|
||||
# t00011 - Friend relationships
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00011_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00011/t00011.cc
|
||||
using_namespace:
|
||||
- clanguml::t00011
|
||||
- t00011.cc
|
||||
using_namespace: clanguml::t00011
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00011
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00011.cc
|
||||
File `tests/t00011/t00011.cc`
|
||||
```cpp
|
||||
namespace external {
|
||||
class C {
|
||||
};
|
||||
class C { };
|
||||
}
|
||||
|
||||
namespace clanguml {
|
||||
@@ -49,9 +45,190 @@ public:
|
||||
void foo() { m_a->foo(); }
|
||||
A *m_a;
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace t00011
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00011::D<T>",
|
||||
"id": "1150639902748052276",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "private",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00011.cc",
|
||||
"line": 11,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"type": "T"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "D",
|
||||
"namespace": "clanguml::t00011",
|
||||
"source_location": {
|
||||
"column": 29,
|
||||
"file": "t00011.cc",
|
||||
"line": 10,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "T",
|
||||
"template_parameters": []
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00011::A",
|
||||
"id": "1420516952857803719",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_const": false,
|
||||
"is_consteval": false,
|
||||
"is_constexpr": false,
|
||||
"is_constructor": false,
|
||||
"is_copy_assignment": false,
|
||||
"is_coroutine": false,
|
||||
"is_defaulted": false,
|
||||
"is_deleted": false,
|
||||
"is_move_assignment": false,
|
||||
"is_noexcept": false,
|
||||
"is_operator": false,
|
||||
"is_pure_virtual": false,
|
||||
"is_static": false,
|
||||
"is_virtual": false,
|
||||
"name": "foo",
|
||||
"parameters": [],
|
||||
"source_location": {
|
||||
"column": 10,
|
||||
"file": "t00011.cc",
|
||||
"line": 16,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"type": "void"
|
||||
}
|
||||
],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00011",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00011.cc",
|
||||
"line": 14,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00011::B",
|
||||
"id": "1687427603952049829",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "m_a",
|
||||
"source_location": {
|
||||
"column": 8,
|
||||
"file": "t00011.cc",
|
||||
"line": 29,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"type": "A *"
|
||||
}
|
||||
],
|
||||
"methods": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_const": false,
|
||||
"is_consteval": false,
|
||||
"is_constexpr": false,
|
||||
"is_constructor": false,
|
||||
"is_copy_assignment": false,
|
||||
"is_coroutine": false,
|
||||
"is_defaulted": false,
|
||||
"is_deleted": false,
|
||||
"is_move_assignment": false,
|
||||
"is_noexcept": false,
|
||||
"is_operator": false,
|
||||
"is_pure_virtual": false,
|
||||
"is_static": false,
|
||||
"is_virtual": false,
|
||||
"name": "foo",
|
||||
"parameters": [],
|
||||
"source_location": {
|
||||
"column": 10,
|
||||
"file": "t00011.cc",
|
||||
"line": 28,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"type": "void"
|
||||
}
|
||||
],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00011",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00011.cc",
|
||||
"line": 26,
|
||||
"translation_unit": "t00011.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00011_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1687427603952049829",
|
||||
"label": "<<friend>>",
|
||||
"source": "1420516952857803719",
|
||||
"type": "friendship"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1420516952857803719",
|
||||
"label": "m_a",
|
||||
"source": "1687427603952049829",
|
||||
"type": "association"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00011"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,65 +1,79 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="230px" preserveAspectRatio="none" style="width:226px;height:230px;" version="1.1" viewBox="0 0 226 230" width="226px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="240px" preserveAspectRatio="none" style="width:228px;height:240px;background:#FFFFFF;" version="1.1" viewBox="0 0 228 240" width="228px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="ft3gm5naozxas" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L11" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L11" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ft3gm5naozxas)" height="60.8047" id="C_0001150639902748052276" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="6" y="8"/>
|
||||
<ellipse cx="31.35" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M34.3188,29.6406 Q33.7406,29.9375 33.1,30.0781 Q32.4594,30.2344 31.7563,30.2344 Q29.2563,30.2344 27.9281,28.5938 Q26.6156,26.9375 26.6156,23.8125 Q26.6156,20.6875 27.9281,19.0313 Q29.2563,17.375 31.7563,17.375 Q32.4594,17.375 33.1,17.5313 Q33.7563,17.6875 34.3188,17.9844 L34.3188,20.7031 Q33.6938,20.125 33.1,19.8594 Q32.5063,19.5781 31.8813,19.5781 Q30.5375,19.5781 29.85,20.6563 Q29.1625,21.7188 29.1625,23.8125 Q29.1625,25.9063 29.85,26.9844 Q30.5375,28.0469 31.8813,28.0469 Q32.5063,28.0469 33.1,27.7813 Q33.6938,27.5 34.3188,26.9219 L34.3188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="47.65" y="28.1543">D</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="75" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="76" y="17.1387">T</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="80" y1="40" y2="40"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L10" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L10" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<g id="elem_C_0001150639902748052276">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="64.7999" id="C_0001150639902748052276" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="7" y="10"/>
|
||||
<ellipse cx="34.6" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M29.6,27.1563 C29.6,29.6563 31.7406,31.4688 34.6625,31.4688 C35.8969,31.4688 37.0688,31.1719 37.8188,30.6563 C38.4281,30.2344 38.7563,29.8125 38.7563,29.4063 C38.7563,28.9375 38.3344,28.5313 37.8344,28.5313 C37.6,28.5313 37.3813,28.6094 37.1781,28.8125 C36.7406,29.25 36.7406,29.25 36.5688,29.3438 C36.1156,29.5781 35.475,29.7188 34.7094,29.7188 C32.7094,29.7188 31.4281,28.7031 31.4281,27.125 L31.4281,26.0781 C31.4281,24.375 32.6469,23.1719 34.35,23.1719 C34.9281,23.1719 35.5063,23.3125 35.975,23.5625 C36.4438,23.8281 36.6156,24.0156 36.6781,24.375 C36.8031,25.0469 37.0531,25.2969 37.5844,25.2969 C37.8656,25.2969 38.1469,25.1563 38.3344,24.9375 C38.4594,24.7656 38.5063,24.5938 38.5063,24.1563 L38.5063,22.7969 C38.5063,22.375 38.4906,22.2344 38.3656,22.0625 C38.1938,21.8125 37.9125,21.6563 37.5844,21.6563 C37.2719,21.6563 37.0688,21.7656 36.85,22.0313 C35.6781,21.5313 35.2406,21.4219 34.2875,21.4219 C31.6156,21.4219 29.6,23.4375 29.6,26.0625 L29.6,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="51.4" y="30.606">D</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="82" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="83" y="21.2001">T</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="87" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="87" y1="50" y2="50"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="13" y="58.9"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="15" y="60.9"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L11" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="27" y="67.0059">value : T</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="46"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="48"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L14" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L14" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001420516952857803719">
|
||||
<rect codeLine="7" fill="#F1F1F1" height="64.7999" id="C_0001420516952857803719" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="94" x="123.5" y="10"/>
|
||||
<ellipse cx="162.35" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M157.35,27.1563 C157.35,29.6563 159.4906,31.4688 162.4125,31.4688 C163.6469,31.4688 164.8188,31.1719 165.5688,30.6563 C166.1781,30.2344 166.5063,29.8125 166.5063,29.4063 C166.5063,28.9375 166.0844,28.5313 165.5844,28.5313 C165.35,28.5313 165.1313,28.6094 164.9281,28.8125 C164.4906,29.25 164.4906,29.25 164.3188,29.3438 C163.8656,29.5781 163.225,29.7188 162.4594,29.7188 C160.4594,29.7188 159.1781,28.7031 159.1781,27.125 L159.1781,26.0781 C159.1781,24.375 160.3969,23.1719 162.1,23.1719 C162.6781,23.1719 163.2563,23.3125 163.725,23.5625 C164.1938,23.8281 164.3656,24.0156 164.4281,24.375 C164.5531,25.0469 164.8031,25.2969 165.3344,25.2969 C165.6156,25.2969 165.8969,25.1563 166.0844,24.9375 C166.2094,24.7656 166.2563,24.5938 166.2563,24.1563 L166.2563,22.7969 C166.2563,22.375 166.2406,22.2344 166.1156,22.0625 C165.9438,21.8125 165.6625,21.6563 165.3344,21.6563 C165.0219,21.6563 164.8188,21.7656 164.6,22.0313 C163.4281,21.5313 162.9906,21.4219 162.0375,21.4219 C159.3656,21.4219 157.35,23.4375 157.35,26.0625 L157.35,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="181.65" y="30.606">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="124.5" x2="216.5" y1="42" y2="42"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L16" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L16" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="129.5" y="50.9"/>
|
||||
<ellipse cx="134.5" cy="55.9" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L16" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L16" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="143.5" y="59.0059">foo() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="124.5" x2="216.5" y1="66.7999" y2="66.7999"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="26" y="54.2104">value : T</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L26" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L26" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001687427603952049829">
|
||||
<rect codeLine="12" fill="#F1F1F1" height="81.5999" id="C_0001687427603952049829" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="94" x="123.5" y="151.8"/>
|
||||
<ellipse cx="162.35" cy="167.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M157.35,168.9563 C157.35,171.4563 159.4906,173.2688 162.4125,173.2688 C163.6469,173.2688 164.8188,172.9719 165.5688,172.4563 C166.1781,172.0344 166.5063,171.6125 166.5063,171.2063 C166.5063,170.7375 166.0844,170.3313 165.5844,170.3313 C165.35,170.3313 165.1313,170.4094 164.9281,170.6125 C164.4906,171.05 164.4906,171.05 164.3188,171.1438 C163.8656,171.3781 163.225,171.5188 162.4594,171.5188 C160.4594,171.5188 159.1781,170.5031 159.1781,168.925 L159.1781,167.8781 C159.1781,166.175 160.3969,164.9719 162.1,164.9719 C162.6781,164.9719 163.2563,165.1125 163.725,165.3625 C164.1938,165.6281 164.3656,165.8156 164.4281,166.175 C164.5531,166.8469 164.8031,167.0969 165.3344,167.0969 C165.6156,167.0969 165.8969,166.9563 166.0844,166.7375 C166.2094,166.5656 166.2563,166.3938 166.2563,165.9563 L166.2563,164.5969 C166.2563,164.175 166.2406,164.0344 166.1156,163.8625 C165.9438,163.6125 165.6625,163.4563 165.3344,163.4563 C165.0219,163.4563 164.8188,163.5656 164.6,163.8313 C163.4281,163.3313 162.9906,163.2219 162.0375,163.2219 C159.3656,163.2219 157.35,165.2375 157.35,167.8625 L157.35,168.9563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="181.65" y="172.406">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="124.5" x2="216.5" y1="183.8" y2="183.8"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L28" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L28" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="129.5" y="192.7"/>
|
||||
<ellipse cx="134.5" cy="197.7" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L28" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L28" xlink:show="new" xlink:title="foo" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="143.5" y="200.8059">foo() : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="124.5" x2="216.5" y1="208.5999" y2="208.5999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L29" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L29" xlink:show="new" xlink:title="m_a" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="129.5" y="217.4999"/>
|
||||
<ellipse cx="134.5" cy="222.4999" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L29" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L29" xlink:show="new" xlink:title="m_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="58" x="143.5" y="225.6059">m_a : A *</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="80" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L15" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L15" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ft3gm5naozxas)" height="60.8047" id="C_0001420516952857803719" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="116" y="8"/>
|
||||
<ellipse cx="152.15" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M155.1188,29.6406 Q154.5406,29.9375 153.9,30.0781 Q153.2594,30.2344 152.5563,30.2344 Q150.0563,30.2344 148.7281,28.5938 Q147.4156,26.9375 147.4156,23.8125 Q147.4156,20.6875 148.7281,19.0313 Q150.0563,17.375 152.5563,17.375 Q153.2594,17.375 153.9,17.5313 Q154.5563,17.6875 155.1188,17.9844 L155.1188,20.7031 Q154.4938,20.125 153.9,19.8594 Q153.3063,19.5781 152.6813,19.5781 Q151.3375,19.5781 150.65,20.6563 Q149.9625,21.7188 149.9625,23.8125 Q149.9625,25.9063 150.65,26.9844 Q151.3375,28.0469 152.6813,28.0469 Q153.3063,28.0469 153.9,27.7813 Q154.4938,27.5 155.1188,26.9219 L155.1188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="170.85" y="28.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="202" y1="40" y2="40"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="202" y1="48" y2="48"/>
|
||||
<ellipse cx="127" cy="59" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="136" y="62.2104">foo() : void</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L27" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L27" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#ft3gm5naozxas)" height="73.6094" id="C_0001687427603952049829" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="116" y="146"/>
|
||||
<ellipse cx="152.15" cy="162" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M155.1188,167.6406 Q154.5406,167.9375 153.9,168.0781 Q153.2594,168.2344 152.5563,168.2344 Q150.0563,168.2344 148.7281,166.5938 Q147.4156,164.9375 147.4156,161.8125 Q147.4156,158.6875 148.7281,157.0313 Q150.0563,155.375 152.5563,155.375 Q153.2594,155.375 153.9,155.5313 Q154.5563,155.6875 155.1188,155.9844 L155.1188,158.7031 Q154.4938,158.125 153.9,157.8594 Q153.3063,157.5781 152.6813,157.5781 Q151.3375,157.5781 150.65,158.6563 Q149.9625,159.7188 149.9625,161.8125 Q149.9625,163.9063 150.65,164.9844 Q151.3375,166.0469 152.6813,166.0469 Q153.3063,166.0469 153.9,165.7813 Q154.4938,165.5 155.1188,164.9219 L155.1188,167.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="170.85" y="166.1543">B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="202" y1="178" y2="178"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L30" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L30" xlink:show="new" xlink:title="m_a" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="122" y="184"/>
|
||||
<ellipse cx="127" cy="189" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L30" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00011/t00011.cc#L30" xlink:show="new" xlink:title="m_a" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="136" y="192.2104">m_a : A *</text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="202" y1="198.8047" y2="198.8047"/>
|
||||
<ellipse cx="127" cy="209.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="136" y="213.0151">foo() : void</text>
|
||||
<path d="M116.04,73.01 C105.09,85.59 97.85,100.6 103.5,116 C107.44,126.72 113.97,136.89 121.21,145.9 " fill="none" id="C_0001420516952857803719<-C_0001687427603952049829" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="#A80036" points="119.54,69.18,110.5057,73.102,116.1575,72.8622,116.3973,78.514,119.54,69.18" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="109.5" cy="108.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="116.5" y="112.0669">«friend»</text>
|
||||
<path d="M170.13,145.75 C173.19,131.26 175.29,114.39 173.5,99 C172.56,90.88 170.92,82.26 169.08,74.18 " fill="none" id="C_0001687427603952049829->C_0001420516952857803719" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="167.92,69.22,166.0877,78.8969,169.0652,74.0871,173.875,77.0646,167.92,69.22" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<ellipse cx="179.5" cy="108.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="186.5" y="112.0669">m_a</text>
|
||||
<g id="link_C_0001420516952857803719_C_0001687427603952049829">
|
||||
<path codeLine="17" d="M127.9244,79.7762 C116.3144,93.2562 111.89,105.14 117.5,121.8 C121,132.18 126.72,142.25 133.14,151.35 " fill="none" id="C_0001420516952857803719-backto-C_0001687427603952049829" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="#181818" points="131.84,75.23,122.9358,79.439,128.577,79.0185,128.9975,84.6597,131.84,75.23" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="123.5" cy="114.1" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="46" x="130.5" y="117.877">«friend»</text>
|
||||
</g>
|
||||
<g id="link_C_0001687427603952049829_C_0001420516952857803719">
|
||||
<path codeLine="18" d="M179.21,151.48 C181.43,136.82 182.86,120.08 181.5,104.8 C180.64,95.09 180.095,90.5229 178.365,81.0229 " fill="none" id="C_0001687427603952049829-to-C_0001420516952857803719" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="177.29,75.12,174.9671,84.691,178.1858,80.0391,182.8377,83.2577,177.29,75.12" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<ellipse cx="188.5" cy="114.1" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="195.5" y="117.877">m_a</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 13 KiB |
166
docs/test_cases/t00011_class_mermaid.svg
Normal file
@@ -0,0 +1,166 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 256.73828125 264" style="max-width: 256.738px; background-color: white;" width="256.73828125" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-start="url(#my-svg_classDiagram-dependencyStart)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M172.62028580978097,92.42619689189787L170.3730246331508,97.18849740991489C168.12576345652064,101.9507979279319,163.63124110326032,111.47539896396596,163.70990140098914,121.90436614864966C163.78856169871793,132.33333333333334,168.44040464743588,143.66666666666666,170.7663261217949,149.33333333333334L173.09224759615384,155"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M214.54837740384616,155L216.8742988782051,149.33333333333334C219.20022035256412,143.66666666666666,223.85206330128207,132.33333333333334,223.9307235990109,121.90436614864966C224.00938389673968,111.47539896396596,219.51486154347936,101.9507979279319,217.26760036684922,97.18849740991489L215.02033919021903,92.42619689189787"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(159.13671875, 121)" class="edgeLabel">
|
||||
<g transform="translate(-29.1328125, -9)" class="label">
|
||||
<foreignObject height="18" width="58.265625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+[friend]</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(228.50390625, 121)" class="edgeLabel">
|
||||
<g transform="translate(-20.234375, -9)" class="label">
|
||||
<foreignObject height="18" width="40.46875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">+m_a</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(48.703125, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L10">
|
||||
<g title="D" id="classId-C_0001150639902748052276-0" class="node default clickable">
|
||||
<rect height="79" width="81.40625" y="-39.5" x="-40.703125" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="40.703125" x1="-40.703125" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="40.703125" x1="-40.703125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -20.0078125, -32)" height="18" width="40.015625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">D<T></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -33.203125, 2)" height="18" width="66.40625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-value : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(193.8203125, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L14">
|
||||
<g title="A" id="classId-C_0001420516952857803719-1" class="node default clickable">
|
||||
<rect height="79" width="108.828125" y="-39.5" x="-54.4140625" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="54.4140625" x1="-54.4140625" class="divider"/>
|
||||
<line y2="6.5" y1="6.5" x2="54.4140625" x1="-54.4140625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -32)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -46.9140625, 14)" height="18" width="93.828125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(193.8203125, 205.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00011/t00011.cc#L26">
|
||||
<g title="B" id="classId-C_0001687427603952049829-2" class="node default clickable">
|
||||
<rect height="101" width="108.828125" y="-50.5" x="-54.4140625" class="outer title-state"/>
|
||||
<line y2="-20.5" y1="-20.5" x2="54.4140625" x1="-54.4140625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="54.4140625" x1="-54.4140625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -43)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -46.9140625, -9)" height="18" width="63.890625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">+m_a : A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -46.9140625, 25)" height="18" width="93.828125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+foo() : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -1,187 +1,231 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="390px" preserveAspectRatio="none" style="width:1362px;height:390px;" version="1.1" viewBox="0 0 1362 390" width="1362px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="413px" preserveAspectRatio="none" style="width:1220px;height:413px;background:#FFFFFF;" version="1.1" viewBox="0 0 1220 413" width="1220px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f10dr4oellt54n" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="73.6094" id="C_0001773299890023132282" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="822" y="306"/>
|
||||
<ellipse cx="885.75" cy="322" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M888.7188,327.6406 Q888.1406,327.9375 887.5,328.0781 Q886.8594,328.2344 886.1563,328.2344 Q883.6563,328.2344 882.3281,326.5938 Q881.0156,324.9375 881.0156,321.8125 Q881.0156,318.6875 882.3281,317.0313 Q883.6563,315.375 886.1563,315.375 Q886.8594,315.375 887.5,315.5313 Q888.1563,315.6875 888.7188,315.9844 L888.7188,318.7031 Q888.0938,318.125 887.5,317.8594 Q886.9063,317.5781 886.2813,317.5781 Q884.9375,317.5781 884.25,318.6563 Q883.5625,319.7188 883.5625,321.8125 Q883.5625,323.9063 884.25,324.9844 Q884.9375,326.0469 886.2813,326.0469 Q886.9063,326.0469 887.5,325.7813 Q888.0938,325.5 888.7188,324.9219 L888.7188,327.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="906.25" y="326.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="38" x="971" y="303"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="36" x="972" y="315.1387">T,Ts...</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="823" x2="1005" y1="338" y2="338"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001773299890023132282">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="81.5999" id="C_0001773299890023132282" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="193" x="698" y="325"/>
|
||||
<ellipse cx="767.75" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M762.75,342.1563 C762.75,344.6563 764.8906,346.4688 767.8125,346.4688 C769.0469,346.4688 770.2188,346.1719 770.9688,345.6563 C771.5781,345.2344 771.9063,344.8125 771.9063,344.4063 C771.9063,343.9375 771.4844,343.5313 770.9844,343.5313 C770.75,343.5313 770.5313,343.6094 770.3281,343.8125 C769.8906,344.25 769.8906,344.25 769.7188,344.3438 C769.2656,344.5781 768.625,344.7188 767.8594,344.7188 C765.8594,344.7188 764.5781,343.7031 764.5781,342.125 L764.5781,341.0781 C764.5781,339.375 765.7969,338.1719 767.5,338.1719 C768.0781,338.1719 768.6563,338.3125 769.125,338.5625 C769.5938,338.8281 769.7656,339.0156 769.8281,339.375 C769.9531,340.0469 770.2031,340.2969 770.7344,340.2969 C771.0156,340.2969 771.2969,340.1563 771.4844,339.9375 C771.6094,339.7656 771.6563,339.5938 771.6563,339.1563 L771.6563,337.7969 C771.6563,337.375 771.6406,337.2344 771.5156,337.0625 C771.3438,336.8125 771.0625,336.6563 770.7344,336.6563 C770.4219,336.6563 770.2188,336.7656 770,337.0313 C768.8281,336.5313 768.3906,336.4219 767.4375,336.4219 C764.7656,336.4219 762.75,338.4375 762.75,341.0625 L762.75,342.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="788.25" y="345.606">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="34" x="860" y="322"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="32" x="861" y="336.2001">T,Ts...</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="699" x2="890" y1="357" y2="357"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="699" x2="890" y1="365" y2="365"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="704" y="373.9"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="706" y="375.9"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="718" y="382.0059">value : T</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L13" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="704" y="390.6999"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="706" y="392.6999"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L13" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="167" x="718" y="398.8059">values : std::variant<Ts...></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="828" y="344"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="830" y="346"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0002061171077567279746">
|
||||
<rect codeLine="8" fill="#F1F1F1" height="64.7999" id="C_0002061171077567279746" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="225" x="984" y="333.4"/>
|
||||
<ellipse cx="1068.75" cy="349.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M1063.75,350.5563 C1063.75,353.0563 1065.8906,354.8688 1068.8125,354.8688 C1070.0469,354.8688 1071.2188,354.5719 1071.9688,354.0563 C1072.5781,353.6344 1072.9063,353.2125 1072.9063,352.8063 C1072.9063,352.3375 1072.4844,351.9313 1071.9844,351.9313 C1071.75,351.9313 1071.5313,352.0094 1071.3281,352.2125 C1070.8906,352.65 1070.8906,352.65 1070.7188,352.7438 C1070.2656,352.9781 1069.625,353.1188 1068.8594,353.1188 C1066.8594,353.1188 1065.5781,352.1031 1065.5781,350.525 L1065.5781,349.4781 C1065.5781,347.775 1066.7969,346.5719 1068.5,346.5719 C1069.0781,346.5719 1069.6563,346.7125 1070.125,346.9625 C1070.5938,347.2281 1070.7656,347.4156 1070.8281,347.775 C1070.9531,348.4469 1071.2031,348.6969 1071.7344,348.6969 C1072.0156,348.6969 1072.2969,348.5563 1072.4844,348.3375 C1072.6094,348.1656 1072.6563,347.9938 1072.6563,347.5563 L1072.6563,346.1969 C1072.6563,345.775 1072.6406,345.6344 1072.5156,345.4625 C1072.3438,345.2125 1072.0625,345.0563 1071.7344,345.0563 C1071.4219,345.0563 1071.2188,345.1656 1071,345.4313 C1069.8281,344.9313 1069.3906,344.8219 1068.4375,344.8219 C1065.7656,344.8219 1063.75,346.8375 1063.75,349.4625 L1063.75,350.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="1089.25" y="354.006">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="36" x="1176" y="330.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="34" x="1177" y="344.6001">int... Is</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="985" x2="1208" y1="365.4" y2="365.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="985" x2="1208" y1="373.4" y2="373.4"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="990" y="382.3"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="992" y="384.3"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="199" x="1004" y="390.4059">ints : std::array<int,sizeof...(Is)></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L12" xlink:show="new" xlink:title="value" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="842" y="352.2104">value : T</text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0000627809578407650629">
|
||||
<rect codeLine="13" fill="#F1F1F1" height="64.7999" id="C_0000627809578407650629" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="219" x="103" y="333.4"/>
|
||||
<ellipse cx="179.25" cy="349.4" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M174.25,350.5563 C174.25,353.0563 176.3906,354.8688 179.3125,354.8688 C180.5469,354.8688 181.7188,354.5719 182.4688,354.0563 C183.0781,353.6344 183.4063,353.2125 183.4063,352.8063 C183.4063,352.3375 182.9844,351.9313 182.4844,351.9313 C182.25,351.9313 182.0313,352.0094 181.8281,352.2125 C181.3906,352.65 181.3906,352.65 181.2188,352.7438 C180.7656,352.9781 180.125,353.1188 179.3594,353.1188 C177.3594,353.1188 176.0781,352.1031 176.0781,350.525 L176.0781,349.4781 C176.0781,347.775 177.2969,346.5719 179,346.5719 C179.5781,346.5719 180.1563,346.7125 180.625,346.9625 C181.0938,347.2281 181.2656,347.4156 181.3281,347.775 C181.4531,348.4469 181.7031,348.6969 182.2344,348.6969 C182.5156,348.6969 182.7969,348.5563 182.9844,348.3375 C183.1094,348.1656 183.1563,347.9938 183.1563,347.5563 L183.1563,346.1969 C183.1563,345.775 183.1406,345.6344 183.0156,345.4625 C182.8438,345.2125 182.5625,345.0563 182.2344,345.0563 C181.9219,345.0563 181.7188,345.1656 181.5,345.4313 C180.3281,344.9313 179.8906,344.8219 178.9375,344.8219 C176.2656,344.8219 174.25,346.8375 174.25,349.4625 L174.25,350.5563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="199.75" y="354.006">C</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="46" x="279" y="330.4"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="44" x="280" y="344.6001">T,int... Is</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="104" x2="321" y1="365.4" y2="365.4"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="104" x2="321" y1="373.4" y2="373.4"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="109" y="382.3"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="111" y="384.3"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="193" x="123" y="390.4059">ints : std::array<T,sizeof...(Is)></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L13" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="828" y="356.8047"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="830" y="358.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000286972398942005457">
|
||||
<rect codeLine="18" fill="#F1F1F1" height="48" id="C_0000286972398942005457" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="655" y="216"/>
|
||||
<ellipse cx="670" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M665,233.1563 C665,235.6563 667.1406,237.4688 670.0625,237.4688 C671.2969,237.4688 672.4688,237.1719 673.2188,236.6563 C673.8281,236.2344 674.1563,235.8125 674.1563,235.4063 C674.1563,234.9375 673.7344,234.5313 673.2344,234.5313 C673,234.5313 672.7813,234.6094 672.5781,234.8125 C672.1406,235.25 672.1406,235.25 671.9688,235.3438 C671.5156,235.5781 670.875,235.7188 670.1094,235.7188 C668.1094,235.7188 666.8281,234.7031 666.8281,233.125 L666.8281,232.0781 C666.8281,230.375 668.0469,229.1719 669.75,229.1719 C670.3281,229.1719 670.9063,229.3125 671.375,229.5625 C671.8438,229.8281 672.0156,230.0156 672.0781,230.375 C672.2031,231.0469 672.4531,231.2969 672.9844,231.2969 C673.2656,231.2969 673.5469,231.1563 673.7344,230.9375 C673.8594,230.7656 673.9063,230.5938 673.9063,230.1563 L673.9063,228.7969 C673.9063,228.375 673.8906,228.2344 673.7656,228.0625 C673.5938,227.8125 673.3125,227.6563 672.9844,227.6563 C672.6719,227.6563 672.4688,227.7656 672.25,228.0313 C671.0781,227.5313 670.6406,227.4219 669.6875,227.4219 C667.0156,227.4219 665,229.4375 665,232.0625 L665,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="684" y="236.606">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="96" x="701" y="213"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="94" x="702" y="227.2001">int,std::string,float</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="656" x2="793" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="656" x2="793" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L13" xlink:show="new" xlink:title="values" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="158" x="842" y="365.0151">values : std::variant<Ts...></text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000299466181098300963">
|
||||
<rect codeLine="22" fill="#F1F1F1" height="48" id="C_0000299466181098300963" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="140" x="829.5" y="216"/>
|
||||
<ellipse cx="844.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M839.5,233.1563 C839.5,235.6563 841.6406,237.4688 844.5625,237.4688 C845.7969,237.4688 846.9688,237.1719 847.7188,236.6563 C848.3281,236.2344 848.6563,235.8125 848.6563,235.4063 C848.6563,234.9375 848.2344,234.5313 847.7344,234.5313 C847.5,234.5313 847.2813,234.6094 847.0781,234.8125 C846.6406,235.25 846.6406,235.25 846.4688,235.3438 C846.0156,235.5781 845.375,235.7188 844.6094,235.7188 C842.6094,235.7188 841.3281,234.7031 841.3281,233.125 L841.3281,232.0781 C841.3281,230.375 842.5469,229.1719 844.25,229.1719 C844.8281,229.1719 845.4063,229.3125 845.875,229.5625 C846.3438,229.8281 846.5156,230.0156 846.5781,230.375 C846.7031,231.0469 846.9531,231.2969 847.4844,231.2969 C847.7656,231.2969 848.0469,231.1563 848.2344,230.9375 C848.3594,230.7656 848.4063,230.5938 848.4063,230.1563 L848.4063,228.7969 C848.4063,228.375 848.3906,228.2344 848.2656,228.0625 C848.0938,227.8125 847.8125,227.6563 847.4844,227.6563 C847.1719,227.6563 846.9688,227.7656 846.75,228.0313 C845.5781,227.5313 845.1406,227.4219 844.1875,227.4219 C841.5156,227.4219 839.5,229.4375 839.5,232.0625 L839.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="858.5" y="236.606">A</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="97" x="875.5" y="213"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="95" x="876.5" y="227.2001">int,std::string,bool</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="830.5" x2="968.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="830.5" x2="968.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="823" x2="1005" y1="371.6094" y2="371.6094"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="60.8047" id="C_0002061171077567279746" style="stroke: #A80036; stroke-width: 1.5;" width="214" x="1134" y="312.5"/>
|
||||
<ellipse cx="1209.75" cy="328.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1212.7188,334.1406 Q1212.1406,334.4375 1211.5,334.5781 Q1210.8594,334.7344 1210.1563,334.7344 Q1207.6563,334.7344 1206.3281,333.0938 Q1205.0156,331.4375 1205.0156,328.3125 Q1205.0156,325.1875 1206.3281,323.5313 Q1207.6563,321.875 1210.1563,321.875 Q1210.8594,321.875 1211.5,322.0313 Q1212.1563,322.1875 1212.7188,322.4844 L1212.7188,325.2031 Q1212.0938,324.625 1211.5,324.3594 Q1210.9063,324.0781 1210.2813,324.0781 Q1208.9375,324.0781 1208.25,325.1563 Q1207.5625,326.2188 1207.5625,328.3125 Q1207.5625,330.4063 1208.25,331.4844 Q1208.9375,332.5469 1210.2813,332.5469 Q1210.9063,332.5469 1211.5,332.2813 Q1212.0938,332 1212.7188,331.4219 L1212.7188,334.1406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="1230.25" y="332.6543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="44" x="1307" y="309.5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="42" x="1308" y="321.6387">int... Is</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1135" x2="1347" y1="344.5" y2="344.5"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1135" x2="1347" y1="352.5" y2="352.5"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0000489063277971613593">
|
||||
<rect codeLine="26" fill="#F1F1F1" height="48" id="C_0000489063277971613593" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="72" x="1004.5" y="216"/>
|
||||
<ellipse cx="1019.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M1014.5,233.1563 C1014.5,235.6563 1016.6406,237.4688 1019.5625,237.4688 C1020.7969,237.4688 1021.9688,237.1719 1022.7188,236.6563 C1023.3281,236.2344 1023.6563,235.8125 1023.6563,235.4063 C1023.6563,234.9375 1023.2344,234.5313 1022.7344,234.5313 C1022.5,234.5313 1022.2813,234.6094 1022.0781,234.8125 C1021.6406,235.25 1021.6406,235.25 1021.4688,235.3438 C1021.0156,235.5781 1020.375,235.7188 1019.6094,235.7188 C1017.6094,235.7188 1016.3281,234.7031 1016.3281,233.125 L1016.3281,232.0781 C1016.3281,230.375 1017.5469,229.1719 1019.25,229.1719 C1019.8281,229.1719 1020.4063,229.3125 1020.875,229.5625 C1021.3438,229.8281 1021.5156,230.0156 1021.5781,230.375 C1021.7031,231.0469 1021.9531,231.2969 1022.4844,231.2969 C1022.7656,231.2969 1023.0469,231.1563 1023.2344,230.9375 C1023.3594,230.7656 1023.4063,230.5938 1023.4063,230.1563 L1023.4063,228.7969 C1023.4063,228.375 1023.3906,228.2344 1023.2656,228.0625 C1023.0938,227.8125 1022.8125,227.6563 1022.4844,227.6563 C1022.1719,227.6563 1021.9688,227.7656 1021.75,228.0313 C1020.5781,227.5313 1020.1406,227.4219 1019.1875,227.4219 C1016.5156,227.4219 1014.5,229.4375 1014.5,232.0625 L1014.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="1033.5" y="236.606">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="29" x="1050.5" y="213"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="27" x="1051.5" y="227.2001">3,2,1</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="1005.5" x2="1075.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="1005.5" x2="1075.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1140" y="358.5"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1142" y="360.5"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0000014232362483200599">
|
||||
<rect codeLine="30" fill="#F1F1F1" height="48" id="C_0000014232362483200599" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="1111.5" y="216"/>
|
||||
<ellipse cx="1126.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M1121.5,233.1563 C1121.5,235.6563 1123.6406,237.4688 1126.5625,237.4688 C1127.7969,237.4688 1128.9688,237.1719 1129.7188,236.6563 C1130.3281,236.2344 1130.6563,235.8125 1130.6563,235.4063 C1130.6563,234.9375 1130.2344,234.5313 1129.7344,234.5313 C1129.5,234.5313 1129.2813,234.6094 1129.0781,234.8125 C1128.6406,235.25 1128.6406,235.25 1128.4688,235.3438 C1128.0156,235.5781 1127.375,235.7188 1126.6094,235.7188 C1124.6094,235.7188 1123.3281,234.7031 1123.3281,233.125 L1123.3281,232.0781 C1123.3281,230.375 1124.5469,229.1719 1126.25,229.1719 C1126.8281,229.1719 1127.4063,229.3125 1127.875,229.5625 C1128.3438,229.8281 1128.5156,230.0156 1128.5781,230.375 C1128.7031,231.0469 1128.9531,231.2969 1129.4844,231.2969 C1129.7656,231.2969 1130.0469,231.1563 1130.2344,230.9375 C1130.3594,230.7656 1130.4063,230.5938 1130.4063,230.1563 L1130.4063,228.7969 C1130.4063,228.375 1130.3906,228.2344 1130.2656,228.0625 C1130.0938,227.8125 1129.8125,227.6563 1129.4844,227.6563 C1129.1719,227.6563 1128.9688,227.7656 1128.75,228.0313 C1127.5781,227.5313 1127.1406,227.4219 1126.1875,227.4219 C1123.5156,227.4219 1121.5,229.4375 1121.5,232.0625 L1121.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="1140.5" y="236.606">B</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="39" x="1157.5" y="213"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="37" x="1158.5" y="227.2001">1,1,1,1</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="1112.5" x2="1192.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="1112.5" x2="1192.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="188" x="1154" y="366.7104">ints : std::array<int,sizeof...(Is)></text>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0001478239414632239754">
|
||||
<rect codeLine="34" fill="#F1F1F1" height="48" id="C_0001478239414632239754" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="411" x="7" y="216"/>
|
||||
<ellipse cx="22" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,233.1563 C17,235.6563 19.1406,237.4688 22.0625,237.4688 C23.2969,237.4688 24.4688,237.1719 25.2188,236.6563 C25.8281,236.2344 26.1563,235.8125 26.1563,235.4063 C26.1563,234.9375 25.7344,234.5313 25.2344,234.5313 C25,234.5313 24.7813,234.6094 24.5781,234.8125 C24.1406,235.25 24.1406,235.25 23.9688,235.3438 C23.5156,235.5781 22.875,235.7188 22.1094,235.7188 C20.1094,235.7188 18.8281,234.7031 18.8281,233.125 L18.8281,232.0781 C18.8281,230.375 20.0469,229.1719 21.75,229.1719 C22.3281,229.1719 22.9063,229.3125 23.375,229.5625 C23.8438,229.8281 24.0156,230.0156 24.0781,230.375 C24.2031,231.0469 24.4531,231.2969 24.9844,231.2969 C25.2656,231.2969 25.5469,231.1563 25.7344,230.9375 C25.8594,230.7656 25.9063,230.5938 25.9063,230.1563 L25.9063,228.7969 C25.9063,228.375 25.8906,228.2344 25.7656,228.0625 C25.5938,227.8125 25.3125,227.6563 24.9844,227.6563 C24.6719,227.6563 24.4688,227.7656 24.25,228.0313 C23.0781,227.5313 22.6406,227.4219 21.6875,227.4219 C19.0156,227.4219 17,229.4375 17,232.0625 L17,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="36" y="236.606">C</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="367" x="54" y="213"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="365" x="55" y="227.2001">std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="417" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="417" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="60.8047" id="C_0000627809578407650629" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="149.5" y="312.5"/>
|
||||
<ellipse cx="216.25" cy="328.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M219.2188,334.1406 Q218.6406,334.4375 218,334.5781 Q217.3594,334.7344 216.6563,334.7344 Q214.1563,334.7344 212.8281,333.0938 Q211.5156,331.4375 211.5156,328.3125 Q211.5156,325.1875 212.8281,323.5313 Q214.1563,321.875 216.6563,321.875 Q217.3594,321.875 218,322.0313 Q218.6563,322.1875 219.2188,322.4844 L219.2188,325.2031 Q218.5938,324.625 218,324.3594 Q217.4063,324.0781 216.7813,324.0781 Q215.4375,324.0781 214.75,325.1563 Q214.0625,326.2188 214.0625,328.3125 Q214.0625,330.4063 214.75,331.4844 Q215.4375,332.5469 216.7813,332.5469 Q217.4063,332.5469 218,332.2813 Q218.5938,332 219.2188,331.4219 L219.2188,334.1406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="236.75" y="332.6543">C</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="55" x="304.5" y="309.5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="53" x="305.5" y="321.6387">T,int... Is</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="150.5" x2="355.5" y1="344.5" y2="344.5"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="150.5" x2="355.5" y1="352.5" y2="352.5"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L24" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L24" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<g id="elem_C_0000559263385732885469">
|
||||
<rect codeLine="38" fill="#F1F1F1" height="131.9996" id="C_0000559263385732885469" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="513" x="643" y="7"/>
|
||||
<ellipse cx="890.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M885.25,24.1563 C885.25,26.6563 887.3906,28.4688 890.3125,28.4688 C891.5469,28.4688 892.7188,28.1719 893.4688,27.6563 C894.0781,27.2344 894.4063,26.8125 894.4063,26.4063 C894.4063,25.9375 893.9844,25.5313 893.4844,25.5313 C893.25,25.5313 893.0313,25.6094 892.8281,25.8125 C892.3906,26.25 892.3906,26.25 892.2188,26.3438 C891.7656,26.5781 891.125,26.7188 890.3594,26.7188 C888.3594,26.7188 887.0781,25.7031 887.0781,24.125 L887.0781,23.0781 C887.0781,21.375 888.2969,20.1719 890,20.1719 C890.5781,20.1719 891.1563,20.3125 891.625,20.5625 C892.0938,20.8281 892.2656,21.0156 892.3281,21.375 C892.4531,22.0469 892.7031,22.2969 893.2344,22.2969 C893.5156,22.2969 893.7969,22.1563 893.9844,21.9375 C894.1094,21.7656 894.1563,21.5938 894.1563,21.1563 L894.1563,19.7969 C894.1563,19.375 894.1406,19.2344 894.0156,19.0625 C893.8438,18.8125 893.5625,18.6563 893.2344,18.6563 C892.9219,18.6563 892.7188,18.7656 892.5,19.0313 C891.3281,18.5313 890.8906,18.4219 889.9375,18.4219 C887.2656,18.4219 885.25,20.4375 885.25,23.0625 L885.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="910.75" y="27.606">R</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="644" x2="1155" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="644" x2="1155" y1="47" y2="47"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L25" xlink:show="new" xlink:title="a1" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="649" y="55.9"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="651" y="57.9"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L25" xlink:show="new" xlink:title="a1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="663" y="64.0059">a1 : A<int,std::string,float></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L26" xlink:show="new" xlink:title="a2" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="649" y="72.6999"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="651" y="74.6999"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L26" xlink:show="new" xlink:title="a2" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="663" y="80.8059">a2 : A<int,std::string,bool></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L28" xlink:show="new" xlink:title="b1" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="649" y="89.4998"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="651" y="91.4998"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L28" xlink:show="new" xlink:title="b1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="663" y="97.6058">b1 : B<3,2,1></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L29" xlink:show="new" xlink:title="b2" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="649" y="106.2997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="651" y="108.2997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L29" xlink:show="new" xlink:title="b2" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="663" y="114.4057">b2 : B<1,1,1,1></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L33" xlink:show="new" xlink:title="c1" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="649" y="123.0997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="651" y="125.0997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L33" xlink:show="new" xlink:title="c1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="487" x="663" y="131.2057">c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3></text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="155.5" y="358.5"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="157.5" y="360.5"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="181" x="169.5" y="366.7104">ints : std::array<T,sizeof...(Is)></text>
|
||||
</a>
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="48" id="C_0000286972398942005457" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="758" y="197"/>
|
||||
<ellipse cx="773" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M775.9688,218.6406 Q775.3906,218.9375 774.75,219.0781 Q774.1094,219.2344 773.4063,219.2344 Q770.9063,219.2344 769.5781,217.5938 Q768.2656,215.9375 768.2656,212.8125 Q768.2656,209.6875 769.5781,208.0313 Q770.9063,206.375 773.4063,206.375 Q774.1094,206.375 774.75,206.5313 Q775.4063,206.6875 775.9688,206.9844 L775.9688,209.7031 Q775.3438,209.125 774.75,208.8594 Q774.1563,208.5781 773.5313,208.5781 Q772.1875,208.5781 771.5,209.6563 Q770.8125,210.7188 770.8125,212.8125 Q770.8125,214.9063 771.5,215.9844 Q772.1875,217.0469 773.5313,217.0469 Q774.1563,217.0469 774.75,216.7813 Q775.3438,216.5 775.9688,215.9219 L775.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="787" y="217.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="116" x="803" y="194"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="114" x="804" y="206.1387">int,std::string,float</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="915" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="915" y1="237" y2="237"/>
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="48" id="C_0000299466181098300963" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="951.5" y="197"/>
|
||||
<ellipse cx="966.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M969.4688,218.6406 Q968.8906,218.9375 968.25,219.0781 Q967.6094,219.2344 966.9063,219.2344 Q964.4063,219.2344 963.0781,217.5938 Q961.7656,215.9375 961.7656,212.8125 Q961.7656,209.6875 963.0781,208.0313 Q964.4063,206.375 966.9063,206.375 Q967.6094,206.375 968.25,206.5313 Q968.9063,206.6875 969.4688,206.9844 L969.4688,209.7031 Q968.8438,209.125 968.25,208.8594 Q967.6563,208.5781 967.0313,208.5781 Q965.6875,208.5781 965,209.6563 Q964.3125,210.7188 964.3125,212.8125 Q964.3125,214.9063 965,215.9844 Q965.6875,217.0469 967.0313,217.0469 Q967.6563,217.0469 968.25,216.7813 Q968.8438,216.5 969.4688,215.9219 L969.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="980.5" y="217.1543">A</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="115" x="996.5" y="194"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="113" x="997.5" y="206.1387">int,std::string,bool</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="952.5" x2="1107.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="952.5" x2="1107.5" y1="237" y2="237"/>
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="48" id="C_0000489063277971613593" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="1144" y="197"/>
|
||||
<ellipse cx="1159" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1161.9688,218.6406 Q1161.3906,218.9375 1160.75,219.0781 Q1160.1094,219.2344 1159.4063,219.2344 Q1156.9063,219.2344 1155.5781,217.5938 Q1154.2656,215.9375 1154.2656,212.8125 Q1154.2656,209.6875 1155.5781,208.0313 Q1156.9063,206.375 1159.4063,206.375 Q1160.1094,206.375 1160.75,206.5313 Q1161.4063,206.6875 1161.9688,206.9844 L1161.9688,209.7031 Q1161.3438,209.125 1160.75,208.8594 Q1160.1563,208.5781 1159.5313,208.5781 Q1158.1875,208.5781 1157.5,209.6563 Q1156.8125,210.7188 1156.8125,212.8125 Q1156.8125,214.9063 1157.5,215.9844 Q1158.1875,217.0469 1159.5313,217.0469 Q1160.1563,217.0469 1160.75,216.7813 Q1161.3438,216.5 1161.9688,215.9219 L1161.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="1173" y="217.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="34" x="1189" y="194"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="32" x="1190" y="206.1387">3,2,1</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1145" x2="1219" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1145" x2="1219" y1="237" y2="237"/>
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="48" id="C_0000014232362483200599" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="1255" y="197"/>
|
||||
<ellipse cx="1270" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1272.9688,218.6406 Q1272.3906,218.9375 1271.75,219.0781 Q1271.1094,219.2344 1270.4063,219.2344 Q1267.9063,219.2344 1266.5781,217.5938 Q1265.2656,215.9375 1265.2656,212.8125 Q1265.2656,209.6875 1266.5781,208.0313 Q1267.9063,206.375 1270.4063,206.375 Q1271.1094,206.375 1271.75,206.5313 Q1272.4063,206.6875 1272.9688,206.9844 L1272.9688,209.7031 Q1272.3438,209.125 1271.75,208.8594 Q1271.1563,208.5781 1270.5313,208.5781 Q1269.1875,208.5781 1268.5,209.6563 Q1267.8125,210.7188 1267.8125,212.8125 Q1267.8125,214.9063 1268.5,215.9844 Q1269.1875,217.0469 1270.5313,217.0469 Q1271.1563,217.0469 1271.75,216.7813 Q1272.3438,216.5 1272.9688,215.9219 L1272.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="1284" y="217.1543">B</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="46" x="1300" y="194"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="44" x="1301" y="206.1387">1,1,1,1</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1256" x2="1342" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1256" x2="1342" y1="237" y2="237"/>
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="48" id="C_0001478239414632239754" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="6" y="197"/>
|
||||
<ellipse cx="21" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,218.6406 Q23.3906,218.9375 22.75,219.0781 Q22.1094,219.2344 21.4063,219.2344 Q18.9063,219.2344 17.5781,217.5938 Q16.2656,215.9375 16.2656,212.8125 Q16.2656,209.6875 17.5781,208.0313 Q18.9063,206.375 21.4063,206.375 Q22.1094,206.375 22.75,206.5313 Q23.4063,206.6875 23.9688,206.9844 L23.9688,209.7031 Q23.3438,209.125 22.75,208.8594 Q22.1563,208.5781 21.5313,208.5781 Q20.1875,208.5781 19.5,209.6563 Q18.8125,210.7188 18.8125,212.8125 Q18.8125,214.9063 19.5,215.9844 Q20.1875,217.0469 21.5313,217.0469 Q22.1563,217.0469 22.75,216.7813 Q23.3438,216.5 23.9688,215.9219 L23.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="217.1543">C</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="452" x="51" y="194"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="450" x="52" y="206.1387">std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="499" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="499" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L24" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L24" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f10dr4oellt54n)" height="112.0234" id="C_0000559263385732885469" style="stroke: #A80036; stroke-width: 1.5;" width="493" x="783.5" y="8"/>
|
||||
<ellipse cx="1021.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1024.7188,29.6406 Q1024.1406,29.9375 1023.5,30.0781 Q1022.8594,30.2344 1022.1563,30.2344 Q1019.6563,30.2344 1018.3281,28.5938 Q1017.0156,26.9375 1017.0156,23.8125 Q1017.0156,20.6875 1018.3281,19.0313 Q1019.6563,17.375 1022.1563,17.375 Q1022.8594,17.375 1023.5,17.5313 Q1024.1563,17.6875 1024.7188,17.9844 L1024.7188,20.7031 Q1024.0938,20.125 1023.5,19.8594 Q1022.9063,19.5781 1022.2813,19.5781 Q1020.9375,19.5781 1020.25,20.6563 Q1019.5625,21.7188 1019.5625,23.8125 Q1019.5625,25.9063 1020.25,26.9844 Q1020.9375,28.0469 1022.2813,28.0469 Q1022.9063,28.0469 1023.5,27.7813 Q1024.0938,27.5 1024.7188,26.9219 L1024.7188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="1042.25" y="28.1543">R</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="784.5" x2="1275.5" y1="40" y2="40"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L25" xlink:show="new" xlink:title="a1" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="789.5" y="46"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="48"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L25" xlink:show="new" xlink:title="a1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="803.5" y="54.2104">a1 : A<int,std::string,float></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L26" xlink:show="new" xlink:title="a2" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="789.5" y="58.8047"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="60.8047"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L26" xlink:show="new" xlink:title="a2" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="156" x="803.5" y="67.0151">a2 : A<int,std::string,bool></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L28" xlink:show="new" xlink:title="b1" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="789.5" y="71.6094"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="73.6094"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L28" xlink:show="new" xlink:title="b1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="803.5" y="79.8198">b1 : B<3,2,1></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L29" xlink:show="new" xlink:title="b2" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="789.5" y="84.4141"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="86.4141"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L29" xlink:show="new" xlink:title="b2" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="92" x="803.5" y="92.6245">b2 : B<1,1,1,1></text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L33" xlink:show="new" xlink:title="c1" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="789.5" y="97.2188"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="99.2188"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00012/t00012.cc#L33" xlink:show="new" xlink:title="c1" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="467" x="803.5" y="105.4292">c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3></text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="784.5" x2="1275.5" y1="112.0234" y2="112.0234"/>
|
||||
<path d="M535.5,208.5 L535.5,217 L500.12,221 L535.5,225 L535.5,233.6328 A0,0 0 0 0 535.5,233.6328 L722.5,233.6328 A0,0 0 0 0 722.5,233.6328 L722.5,218.5 L712.5,208.5 L535.5,208.5 A0,0 0 0 0 535.5,208.5 " fill="#FBFB77" filter="url(#f10dr4oellt54n)" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M712.5,208.5 L712.5,218.5 L722.5,218.5 L712.5,208.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="166" x="541.5" y="225.5669">Long template annotation</text>
|
||||
<path d="M851.85,245.14 C859.85,257.61 870.07,273.55 879.91,288.88 " fill="none" id="C_0000286972398942005457->C_0001773299890023132282" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="885.81,285.1,890.71,305.71,874.02,292.66,885.81,285.1" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1007.63,245.14 C995.06,258.14 978.84,274.92 963.44,290.85 " fill="none" id="C_0000299466181098300963->C_0001773299890023132282" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="968.01,296.2,949.08,305.71,957.95,286.47,968.01,296.2" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1193.38,245.14 C1200.19,258.99 1209.11,277.13 1217.38,293.96 " fill="none" id="C_0000489063277971613593->C_0002061171077567279746" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="1223.76,291.07,1226.3,312.11,1211.2,297.25,1223.76,291.07" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M1287.82,245.14 C1281.12,258.99 1272.35,277.13 1264.22,293.96 " fill="none" id="C_0000014232362483200599->C_0002061171077567279746" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="1270.45,297.14,1255.45,312.11,1257.85,291.05,1270.45,297.14" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M253,245.14 C253,258.47 253,275.77 253,292.05 " fill="none" id="C_0001478239414632239754->C_0000627809578407650629" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="260,292.11,253,312.11,246,292.11,260,292.11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M950.89,128.54 C920.8,152.7 888.38,178.73 865.86,196.83 " fill="none" id="C_0000559263385732885469<-C_0000286972398942005457" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="961.41,120.08,954.2275,120.722,952.0576,127.5988,959.2401,126.9569,961.41,120.08" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="925" y="156.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="935" y="163.0669">a1</text>
|
||||
<path d="M1030,133.26 C1030,155.95 1030,179.72 1030,196.62 " fill="none" id="C_0000559263385732885469<-C_0000299466181098300963" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="1030,120.08,1026,126.08,1030,132.08,1034,126.08,1030,120.08" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1033" y="156.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="1043" y="163.0669">a2</text>
|
||||
<path d="M1093.21,129.46 C1116.56,153.27 1141.57,178.77 1159.08,196.62 " fill="none" id="C_0000559263385732885469<-C_0000489063277971613593" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="1084.02,120.08,1085.3627,127.165,1092.4191,128.6506,1091.0764,121.5656,1084.02,120.08" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1132" y="156.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="1142" y="163.0669">b1</text>
|
||||
<path d="M1136.98,126.64 C1179.82,151.33 1226.56,178.26 1258.78,196.83 " fill="none" id="C_0000559263385732885469<-C_0000014232362483200599" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="1125.6,120.08,1128.8056,126.5394,1136.001,126.0649,1132.7955,119.6054,1125.6,120.08" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1207" y="156.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="1217" y="163.0669">b2</text>
|
||||
<path d="M770.25,116.82 C634.09,143.98 474.14,175.89 368.56,196.95 " fill="none" id="C_0000559263385732885469<-C_0001478239414632239754" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="783.35,114.2,776.6838,111.4501,771.5815,116.5458,778.2477,119.2957,783.35,114.2" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="598" y="156.0664"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="15" x="608" y="163.0669">c1</text>
|
||||
<g id="elem_GMN21">
|
||||
<path d="M453,227.2 L453,236 L418.48,240 L453,244 L453,252.8 A0,0 0 0 0 453,252.8 L620,252.8 A0,0 0 0 0 620,252.8 L620,237.2 L610,227.2 L453,227.2 A0,0 0 0 0 453,227.2 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<path d="M610,227.2 L610,237.2 L620,237.2 L610,227.2 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="146" x="459" y="244.277">Long template annotation</text>
|
||||
</g>
|
||||
<g id="link_C_0000286972398942005457_C_0001773299890023132282">
|
||||
<path codeLine="46" d="M737.67,264.29 C747.25,281.24 751.6106,288.9512 762.8906,308.9012 " fill="none" id="C_0000286972398942005457-to-C_0001773299890023132282" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="771.75,324.57,768.1136,305.9481,757.6677,311.8543,771.75,324.57" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000299466181098300963_C_0001773299890023132282">
|
||||
<path codeLine="47" d="M879.75,264.29 C865.37,281.24 857.1827,290.8924 840.2627,310.8424 " fill="none" id="C_0000299466181098300963-to-C_0001773299890023132282" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="828.62,324.57,844.8386,314.7233,835.6868,306.9615,828.62,324.57" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000489063277971613593_C_0002061171077567279746">
|
||||
<path codeLine="48" d="M1051.03,264.29 C1059.84,283.76 1065.072,295.3196 1074.792,316.8096 " fill="none" id="C_0000489063277971613593-to-C_0002061171077567279746" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="1082.21,333.21,1080.2588,314.3369,1069.3252,319.2822,1082.21,333.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000014232362483200599_C_0002061171077567279746">
|
||||
<path codeLine="49" d="M1141.97,264.29 C1133.16,283.76 1127.928,295.3196 1118.208,316.8096 " fill="none" id="C_0000014232362483200599-to-C_0002061171077567279746" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="1110.79,333.21,1123.6748,319.2822,1112.7412,314.3369,1110.79,333.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001478239414632239754_C_0000627809578407650629">
|
||||
<path codeLine="50" d="M212.5,264.29 C212.5,283.76 212.5,293.72 212.5,315.21 " fill="none" id="C_0001478239414632239754-to-C_0000627809578407650629" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="212.5,333.21,218.5,315.21,206.5,315.21,212.5,333.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000559263385732885469_C_0000286972398942005457">
|
||||
<path codeLine="51" d="M821.3498,147.683 C792.7298,174.673 770.13,195.98 749.09,215.81 " fill="none" id="C_0000559263385732885469-backto-C_0000286972398942005457" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="830.08,139.45,822.9705,140.6564,821.3498,147.683,828.4592,146.4766,830.08,139.45" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="799.5" y="175.3"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="809.5" y="182.077">a1</text>
|
||||
</g>
|
||||
<g id="link_C_0000559263385732885469_C_0000299466181098300963">
|
||||
<path codeLine="52" d="M899.5,151.21 C899.5,178.24 899.5,195.85 899.5,215.74 " fill="none" id="C_0000559263385732885469-backto-C_0000299466181098300963" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="899.5,139.21,895.5,145.21,899.5,151.21,903.5,145.21,899.5,139.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="902.5" y="175.3"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="912.5" y="182.077">a2</text>
|
||||
</g>
|
||||
<g id="link_C_0000559263385732885469_C_0000489063277971613593">
|
||||
<path codeLine="53" d="M963.0242,148.3342 C986.1142,175.3642 1003.63,195.85 1020.63,215.74 " fill="none" id="C_0000559263385732885469-backto-C_0000489063277971613593" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="955.23,139.21,956.0857,146.3702,963.0242,148.3342,962.1685,141.174,955.23,139.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="998.5" y="175.3"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="1008.5" y="182.077">b1</text>
|
||||
</g>
|
||||
<g id="link_C_0000559263385732885469_C_0000014232362483200599">
|
||||
<path codeLine="54" d="M1009.9116,146.0048 C1051.1616,172.9048 1086.23,195.78 1116.64,215.62 " fill="none" id="C_0000559263385732885469-backto-C_0000014232362483200599" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="999.86,139.45,1002.7008,146.0779,1009.9116,146.0048,1007.0707,139.3769,999.86,139.45" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="1073.5" y="175.3"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="1083.5" y="182.077">b2</text>
|
||||
</g>
|
||||
<g id="link_C_0000559263385732885469_C_0001478239414632239754">
|
||||
<path codeLine="55" d="M631.042,138.4731 C514.992,166.3531 396.48,194.81 310.03,215.58 " fill="none" id="C_0000559263385732885469-backto-C_0001478239414632239754" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="642.71,135.67,635.9416,133.1822,631.042,138.4731,637.8104,140.9609,642.71,135.67" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="497.5" y="175.3"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="14" x="507.5" y="182.077">c1</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 38 KiB |
401
docs/test_cases/t00012_class_mermaid.svg
Normal file
@@ -0,0 +1,401 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 1342.828125 459" style="max-width: 1342.83px; background-color: white;" width="1342.828125" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M101.28125,300L101.28125,304.1666666666667C101.28125,308.3333333333333,101.28125,316.6666666666667,105.27996766846813,323.3858355657767C109.27868533693625,330.1050044648867,117.27612067387251,335.2100089297734,121.27483834234063,337.76251116221675L125.27355601080875,340.31501339466007"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id2" d="M337.8359375,300L337.8359375,304.1666666666667C337.8359375,308.3333333333333,337.8359375,316.6666666666667,333.83721983153185,323.3858355657767C329.83850216306377,330.1050044648867,321.8410668261275,335.2100089297734,317.8423491576594,337.76251116221675L313.84363148919124,340.31501339466007"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id3" d="M521.5234375,300L521.5234375,304.1666666666667C521.5234375,308.3333333333333,521.5234375,316.6666666666667,524.9671680465517,324.61517560627374C528.4108985931034,332.5636845458808,535.2983596862068,340.12736909176164,538.7420902327585,343.90921136470206L542.1858207793102,347.6910536376425"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id4" d="M659.0234375,300L659.0234375,304.1666666666667C659.0234375,308.3333333333333,659.0234375,316.6666666666667,655.5797069534483,324.61517560627374C652.1359764068966,332.5636845458808,645.2485153137932,340.12736909176164,641.8047847672415,343.90921136470206L638.3610542206898,347.6910536376425"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id5" d="M1045.46875,300L1045.46875,304.1666666666667C1045.46875,308.3333333333333,1045.46875,316.6666666666667,1045.46875,323.8333333333333C1045.46875,331,1045.46875,337,1045.46875,340L1045.46875,343"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id6" d="M219.65703899316415,175.9020492934285L199.92774082763677,181.4183744111904C180.19844266210944,186.93469952895234,140.73984633105474,197.96734976447615,121.01054816552737,209.15034154890475C101.28125,220.33333333333334,101.28125,231.66666666666666,101.28125,237.33333333333334L101.28125,243"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id7" d="M375.8249315866398,184.69945257472511L369.4934325721999,188.7495438122709C363.16193355775994,192.79963504981674,350.49893552887994,200.89981752490837,344.16743651443994,210.61657542912084C337.8359375,220.33333333333334,337.8359375,231.66666666666666,337.8359375,237.33333333333334L337.8359375,243"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id8" d="M521.5234375,193L521.5234375,195.66666666666666C521.5234375,198.33333333333334,521.5234375,203.66666666666666,521.5234375,212C521.5234375,220.33333333333334,521.5234375,231.66666666666666,521.5234375,237.33333333333334L521.5234375,243"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id9" d="M632.9203695065175,186.69374189647863L637.2708808387646,190.41145158039885C641.6213921710117,194.1291612643191,650.3224148355058,201.56458063215953,654.672926167753,210.9489569827464C659.0234375,220.33333333333334,659.0234375,231.66666666666666,659.0234375,237.33333333333334L659.0234375,243"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id10" d="M823.6184420318964,159.24783968030601L860.5934933599137,167.53986640025502C897.568544687931,175.831893120204,971.5186473439654,192.41594656010201,1008.4936986719828,206.37463994671768C1045.46875,220.33333333333334,1045.46875,231.66666666666666,1045.46875,237.33333333333334L1045.46875,243"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(101.28125, 209)" class="edgeLabel">
|
||||
<g transform="translate(-11.5625, -9)" class="label">
|
||||
<foreignObject height="18" width="23.125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-a1</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(337.8359375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-11.5625, -9)" class="label">
|
||||
<foreignObject height="18" width="23.125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-a2</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(521.5234375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-11.5625, -9)" class="label">
|
||||
<foreignObject height="18" width="23.125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-b1</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(659.0234375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-11.5625, -9)" class="label">
|
||||
<foreignObject height="18" width="23.125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-b2</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(1045.46875, 209)" class="edgeLabel">
|
||||
<g transform="translate(-11.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="22.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-c1</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(219.55859375, 400.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11">
|
||||
<g title="A" id="classId-C_0001773299890023132282-0" class="node default clickable">
|
||||
<rect height="101" width="206.203125" y="-50.5" x="-103.1015625" class="outer title-state"/>
|
||||
<line y2="-20.5" y1="-20.5" x2="103.1015625" x1="-103.1015625" class="divider"/>
|
||||
<line y2="39.5" y1="39.5" x2="103.1015625" x1="-103.1015625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -36.7578125, -43)" height="18" width="73.515625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<T,Ts...></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -95.6015625, -9)" height="18" width="66.40625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-value : T</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -95.6015625, 13)" height="18" width="191.203125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-values : std::variant<Ts...></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(590.2734375, 400.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16">
|
||||
<g title="B" id="classId-C_0002061171077567279746-1" class="node default clickable">
|
||||
<rect height="79" width="243.515625" y="-39.5" x="-121.7578125" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="121.7578125" x1="-121.7578125" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="121.7578125" x1="-121.7578125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -40.4609375, -32)" height="18" width="80.921875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<int... Is></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -114.2578125, 2)" height="18" width="228.515625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-ints : std::array<int,sizeof...(Is)></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(1045.46875, 400.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20">
|
||||
<g title="C" id="classId-C_0000627809578407650629-2" class="node default clickable">
|
||||
<rect height="79" width="234.625" y="-39.5" x="-117.3125" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="117.3125" x1="-117.3125" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="117.3125" x1="-117.3125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -46.6796875, -32)" height="18" width="93.359375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C<T,int... Is></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -109.8125, 2)" height="18" width="219.625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-ints : std::array<T,sizeof...(Is)></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(101.28125, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11">
|
||||
<g title="A" id="classId-C_0000286972398942005457-3" class="node default clickable">
|
||||
<rect height="57" width="186.5625" y="-28.5" x="-93.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="93.28125" x1="-93.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="93.28125" x1="-93.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -85.78125, -21)" height="18" width="171.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<int,std::string,float></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(337.8359375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L11">
|
||||
<g title="A" id="classId-C_0000299466181098300963-4" class="node default clickable">
|
||||
<rect height="57" width="186.546875" y="-28.5" x="-93.2734375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="93.2734375" x1="-93.2734375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="93.2734375" x1="-93.2734375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -85.7734375, -21)" height="18" width="171.546875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A<int,std::string,bool></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(521.5234375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16">
|
||||
<g title="B" id="classId-C_0000489063277971613593-5" class="node default clickable">
|
||||
<rect height="57" width="80.828125" y="-28.5" x="-40.4140625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="40.4140625" x1="-40.4140625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="40.4140625" x1="-40.4140625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -32.9140625, -21)" height="18" width="65.828125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<3,2,1></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(659.0234375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L16">
|
||||
<g title="B" id="classId-C_0000014232362483200599-6" class="node default clickable">
|
||||
<rect height="57" width="94.171875" y="-28.5" x="-47.0859375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="47.0859375" x1="-47.0859375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="47.0859375" x1="-47.0859375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -39.5859375, -21)" height="18" width="79.171875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B<1,1,1,1></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(1045.46875, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L20">
|
||||
<g title="C" id="classId-C_0001478239414632239754-7" class="node default clickable">
|
||||
<rect height="57" width="578.71875" y="-28.5" x="-289.359375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="289.359375" x1="-289.359375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="289.359375" x1="-289.359375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -281.859375, -21)" height="18" width="563.71875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(521.5234375, 91.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00012/t00012.cc#L24">
|
||||
<g title="R" id="classId-C_0000559263385732885469-8" class="node default clickable">
|
||||
<rect height="167" width="569.0625" y="-83.5" x="-284.53125" class="outer title-state"/>
|
||||
<line y2="-53.5" y1="-53.5" x2="284.53125" x1="-284.53125" class="divider"/>
|
||||
<line y2="72.5" y1="72.5" x2="284.53125" x1="-284.53125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -76)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">R</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -277.03125, -42)" height="18" width="190.328125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-a1 : A<int,std::string,float></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -277.03125, -20)" height="18" width="190.34375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-a2 : A<int,std::string,bool></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -277.03125, 2)" height="18" width="101.40625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-b1 : B<3,2,1></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -277.03125, 24)" height="18" width="114.75">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-b2 : B<1,1,1,1></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -277.03125, 46)" height="18" width="554.0625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 58 KiB |
583
docs/test_cases/t00013_class_mermaid.svg
Normal file
|
After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 86 KiB |
922
docs/test_cases/t00014_class_mermaid.svg
Normal file
|
After Width: | Height: | Size: 65 KiB |
@@ -1,56 +1,211 @@
|
||||
# t00015 - Namespace fun
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00015_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00015/t00015.cc
|
||||
using_namespace:
|
||||
- clanguml::t00015
|
||||
- t00015.cc
|
||||
using_namespace: clanguml::t00015
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00015
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00015.cc
|
||||
File `tests/t00015/t00015.cc`
|
||||
```cpp
|
||||
namespace clanguml {
|
||||
namespace t00015 {
|
||||
|
||||
namespace ns1 {
|
||||
inline namespace ns2_v1_0_0 {
|
||||
class A {
|
||||
};
|
||||
class A { };
|
||||
}
|
||||
|
||||
namespace ns2_v0_9_0 {
|
||||
class [[deprecated]] A {
|
||||
};
|
||||
class [[deprecated]] A { };
|
||||
}
|
||||
|
||||
namespace {
|
||||
class Anon final : public A {
|
||||
};
|
||||
}
|
||||
class Anon final : public A { };
|
||||
}
|
||||
} // namespace ns1
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
namespace ns1::ns2 {
|
||||
class Anon : public t00015::ns1::A {
|
||||
};
|
||||
class Anon : public t00015::ns1::A { };
|
||||
}
|
||||
|
||||
class B : public ns1::ns2::Anon {
|
||||
};
|
||||
}
|
||||
}
|
||||
class B : public ns1::ns2::Anon { };
|
||||
}
|
||||
} // namespace t00015
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00015::ns1::A",
|
||||
"id": "1410694888805149453",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00015::ns1",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00015.cc",
|
||||
"line": 6,
|
||||
"translation_unit": "t00015.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00015::ns1::ns2_v0_9_0::A",
|
||||
"id": "485552648049088863",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "A",
|
||||
"namespace": "clanguml::t00015::ns1::ns2_v0_9_0",
|
||||
"source_location": {
|
||||
"column": 22,
|
||||
"file": "t00015.cc",
|
||||
"line": 10,
|
||||
"translation_unit": "t00015.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [
|
||||
{
|
||||
"access": "public",
|
||||
"id": "1410694888805149453",
|
||||
"is_virtual": false,
|
||||
"name": "clanguml::t00015::ns1::A"
|
||||
}
|
||||
],
|
||||
"display_name": "clanguml::t00015::ns1::Anon",
|
||||
"id": "1060731132374575329",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "Anon",
|
||||
"namespace": "clanguml::t00015::ns1",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00015.cc",
|
||||
"line": 14,
|
||||
"translation_unit": "t00015.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [
|
||||
{
|
||||
"access": "public",
|
||||
"id": "1410694888805149453",
|
||||
"is_virtual": false,
|
||||
"name": "clanguml::t00015::ns1::A"
|
||||
}
|
||||
],
|
||||
"display_name": "clanguml::t00015::ns3::ns1::ns2::Anon",
|
||||
"id": "1797521288354158629",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "Anon",
|
||||
"namespace": "clanguml::t00015::ns3::ns1::ns2",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00015.cc",
|
||||
"line": 21,
|
||||
"translation_unit": "t00015.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [
|
||||
{
|
||||
"access": "public",
|
||||
"id": "1797521288354158629",
|
||||
"is_virtual": false,
|
||||
"name": "clanguml::t00015::ns3::ns1::ns2::Anon"
|
||||
}
|
||||
],
|
||||
"display_name": "clanguml::t00015::ns3::B",
|
||||
"id": "870882387819356092",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": false,
|
||||
"is_template": false,
|
||||
"is_union": false,
|
||||
"members": [],
|
||||
"methods": [],
|
||||
"name": "B",
|
||||
"namespace": "clanguml::t00015::ns3",
|
||||
"source_location": {
|
||||
"column": 7,
|
||||
"file": "t00015.cc",
|
||||
"line": 24,
|
||||
"translation_unit": "t00015.cc"
|
||||
},
|
||||
"template_parameters": [],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00015_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1410694888805149453",
|
||||
"source": "1060731132374575329",
|
||||
"type": "extension"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1410694888805149453",
|
||||
"source": "1797521288354158629",
|
||||
"type": "extension"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "1797521288354158629",
|
||||
"source": "870882387819356092",
|
||||
"type": "extension"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00015"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,59 +1,69 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="283px" preserveAspectRatio="none" style="width:365px;height:283px;" version="1.1" viewBox="0 0 365 283" width="365px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="278px" preserveAspectRatio="none" style="width:372px;height:278px;background:#FFFFFF;" version="1.1" viewBox="0 0 372 278" width="372px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="fzju67s2gofu" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fzju67s2gofu)" height="48" id="C_0001410694888805149453" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="98" y="8"/>
|
||||
<ellipse cx="113" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M115.9688,29.6406 Q115.3906,29.9375 114.75,30.0781 Q114.1094,30.2344 113.4063,30.2344 Q110.9063,30.2344 109.5781,28.5938 Q108.2656,26.9375 108.2656,23.8125 Q108.2656,20.6875 109.5781,19.0313 Q110.9063,17.375 113.4063,17.375 Q114.1094,17.375 114.75,17.5313 Q115.4063,17.6875 115.9688,17.9844 L115.9688,20.7031 Q115.3438,20.125 114.75,19.8594 Q114.1563,19.5781 113.5313,19.5781 Q112.1875,19.5781 111.5,20.6563 Q110.8125,21.7188 110.8125,23.8125 Q110.8125,25.9063 111.5,26.9844 Q112.1875,28.0469 113.5313,28.0469 Q114.1563,28.0469 114.75,27.7813 Q115.3438,27.5 115.9688,26.9219 L115.9688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="127" y="28.1543">ns1::A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="99" x2="168" y1="40" y2="40"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="99" x2="168" y1="48" y2="48"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0001410694888805149453">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="48" id="C_0001410694888805149453" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="72" x="100" y="7"/>
|
||||
<ellipse cx="115" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M110,24.1563 C110,26.6563 112.1406,28.4688 115.0625,28.4688 C116.2969,28.4688 117.4688,28.1719 118.2188,27.6563 C118.8281,27.2344 119.1563,26.8125 119.1563,26.4063 C119.1563,25.9375 118.7344,25.5313 118.2344,25.5313 C118,25.5313 117.7813,25.6094 117.5781,25.8125 C117.1406,26.25 117.1406,26.25 116.9688,26.3438 C116.5156,26.5781 115.875,26.7188 115.1094,26.7188 C113.1094,26.7188 111.8281,25.7031 111.8281,24.125 L111.8281,23.0781 C111.8281,21.375 113.0469,20.1719 114.75,20.1719 C115.3281,20.1719 115.9063,20.3125 116.375,20.5625 C116.8438,20.8281 117.0156,21.0156 117.0781,21.375 C117.2031,22.0469 117.4531,22.2969 117.9844,22.2969 C118.2656,22.2969 118.5469,22.1563 118.7344,21.9375 C118.8594,21.7656 118.9063,21.5938 118.9063,21.1563 L118.9063,19.7969 C118.9063,19.375 118.8906,19.2344 118.7656,19.0625 C118.5938,18.8125 118.3125,18.6563 117.9844,18.6563 C117.6719,18.6563 117.4688,18.7656 117.25,19.0313 C116.0781,18.5313 115.6406,18.4219 114.6875,18.4219 C112.0156,18.4219 110,20.4375 110,23.0625 L110,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="129" y="27.606">ns1::A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="101" x2="171" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="101" x2="171" y1="47" y2="47"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fzju67s2gofu)" height="48" id="C_0000485552648049088863" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="204.5" y="8"/>
|
||||
<ellipse cx="219.5" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M222.4688,29.6406 Q221.8906,29.9375 221.25,30.0781 Q220.6094,30.2344 219.9063,30.2344 Q217.4063,30.2344 216.0781,28.5938 Q214.7656,26.9375 214.7656,23.8125 Q214.7656,20.6875 216.0781,19.0313 Q217.4063,17.375 219.9063,17.375 Q220.6094,17.375 221.25,17.5313 Q221.9063,17.6875 222.4688,17.9844 L222.4688,20.7031 Q221.8438,20.125 221.25,19.8594 Q220.6563,19.5781 220.0313,19.5781 Q218.6875,19.5781 218,20.6563 Q217.3125,21.7188 217.3125,23.8125 Q217.3125,25.9063 218,26.9844 Q218.6875,28.0469 220.0313,28.0469 Q220.6563,28.0469 221.25,27.7813 Q221.8438,27.5 222.4688,26.9219 L222.4688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="233.5" y="28.1543">ns1::ns2_v0_9_0::A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="205.5" x2="353.5" y1="40" y2="40"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="205.5" x2="353.5" y1="48" y2="48"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L10" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000485552648049088863">
|
||||
<rect codeLine="6" fill="#F1F1F1" height="48" id="C_0000485552648049088863" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="158" x="207" y="7"/>
|
||||
<ellipse cx="222" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M217,24.1563 C217,26.6563 219.1406,28.4688 222.0625,28.4688 C223.2969,28.4688 224.4688,28.1719 225.2188,27.6563 C225.8281,27.2344 226.1563,26.8125 226.1563,26.4063 C226.1563,25.9375 225.7344,25.5313 225.2344,25.5313 C225,25.5313 224.7813,25.6094 224.5781,25.8125 C224.1406,26.25 224.1406,26.25 223.9688,26.3438 C223.5156,26.5781 222.875,26.7188 222.1094,26.7188 C220.1094,26.7188 218.8281,25.7031 218.8281,24.125 L218.8281,23.0781 C218.8281,21.375 220.0469,20.1719 221.75,20.1719 C222.3281,20.1719 222.9063,20.3125 223.375,20.5625 C223.8438,20.8281 224.0156,21.0156 224.0781,21.375 C224.2031,22.0469 224.4531,22.2969 224.9844,22.2969 C225.2656,22.2969 225.5469,22.1563 225.7344,21.9375 C225.8594,21.7656 225.9063,21.5938 225.9063,21.1563 L225.9063,19.7969 C225.9063,19.375 225.8906,19.2344 225.7656,19.0625 C225.5938,18.8125 225.3125,18.6563 224.9844,18.6563 C224.6719,18.6563 224.4688,18.7656 224.25,19.0313 C223.0781,18.5313 222.6406,18.4219 221.6875,18.4219 C219.0156,18.4219 217,20.4375 217,23.0625 L217,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="236" y="27.606">ns1::ns2_v0_9_0::A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="208" x2="364" y1="39" y2="39"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="208" x2="364" y1="47" y2="47"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L16" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L16" xlink:show="new" xlink:title="Anon" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fzju67s2gofu)" height="48" id="C_0001060731132374575329" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="6" y="116"/>
|
||||
<ellipse cx="21" cy="132" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,137.6406 Q23.3906,137.9375 22.75,138.0781 Q22.1094,138.2344 21.4063,138.2344 Q18.9063,138.2344 17.5781,136.5938 Q16.2656,134.9375 16.2656,131.8125 Q16.2656,128.6875 17.5781,127.0313 Q18.9063,125.375 21.4063,125.375 Q22.1094,125.375 22.75,125.5313 Q23.4063,125.6875 23.9688,125.9844 L23.9688,128.7031 Q23.3438,128.125 22.75,127.8594 Q22.1563,127.5781 21.5313,127.5781 Q20.1875,127.5781 19.5,128.6563 Q18.8125,129.7188 18.8125,131.8125 Q18.8125,133.9063 19.5,134.9844 Q20.1875,136.0469 21.5313,136.0469 Q22.1563,136.0469 22.75,135.7813 Q23.3438,135.5 23.9688,134.9219 L23.9688,137.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="35" y="136.1543">ns1::Anon</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="100" y1="148" y2="148"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="100" y1="156" y2="156"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L14" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L14" xlink:show="new" xlink:title="Anon" xlink:type="simple">
|
||||
<g id="elem_C_0001060731132374575329">
|
||||
<rect codeLine="10" fill="#F1F1F1" height="48" id="C_0001060731132374575329" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="7" y="115"/>
|
||||
<ellipse cx="22" cy="131" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,132.1563 C17,134.6563 19.1406,136.4688 22.0625,136.4688 C23.2969,136.4688 24.4688,136.1719 25.2188,135.6563 C25.8281,135.2344 26.1563,134.8125 26.1563,134.4063 C26.1563,133.9375 25.7344,133.5313 25.2344,133.5313 C25,133.5313 24.7813,133.6094 24.5781,133.8125 C24.1406,134.25 24.1406,134.25 23.9688,134.3438 C23.5156,134.5781 22.875,134.7188 22.1094,134.7188 C20.1094,134.7188 18.8281,133.7031 18.8281,132.125 L18.8281,131.0781 C18.8281,129.375 20.0469,128.1719 21.75,128.1719 C22.3281,128.1719 22.9063,128.3125 23.375,128.5625 C23.8438,128.8281 24.0156,129.0156 24.0781,129.375 C24.2031,130.0469 24.4531,130.2969 24.9844,130.2969 C25.2656,130.2969 25.5469,130.1563 25.7344,129.9375 C25.8594,129.7656 25.9063,129.5938 25.9063,129.1563 L25.9063,127.7969 C25.9063,127.375 25.8906,127.2344 25.7656,127.0625 C25.5938,126.8125 25.3125,126.6563 24.9844,126.6563 C24.6719,126.6563 24.4688,126.7656 24.25,127.0313 C23.0781,126.5313 22.6406,126.4219 21.6875,126.4219 C19.0156,126.4219 17,128.4375 17,131.0625 L17,132.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="36" y="135.606">ns1::Anon</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="102" y1="147" y2="147"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="102" y1="155" y2="155"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L24" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L24" xlink:show="new" xlink:title="Anon" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fzju67s2gofu)" height="48" id="C_0001797521288354158629" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="136" y="116"/>
|
||||
<ellipse cx="151" cy="132" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M153.9688,137.6406 Q153.3906,137.9375 152.75,138.0781 Q152.1094,138.2344 151.4063,138.2344 Q148.9063,138.2344 147.5781,136.5938 Q146.2656,134.9375 146.2656,131.8125 Q146.2656,128.6875 147.5781,127.0313 Q148.9063,125.375 151.4063,125.375 Q152.1094,125.375 152.75,125.5313 Q153.4063,125.6875 153.9688,125.9844 L153.9688,128.7031 Q153.3438,128.125 152.75,127.8594 Q152.1563,127.5781 151.5313,127.5781 Q150.1875,127.5781 149.5,128.6563 Q148.8125,129.7188 148.8125,131.8125 Q148.8125,133.9063 149.5,134.9844 Q150.1875,136.0469 151.5313,136.0469 Q152.1563,136.0469 152.75,135.7813 Q153.3438,135.5 153.9688,134.9219 L153.9688,137.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="165" y="136.1543">ns3::ns1::ns2::Anon</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="292" y1="148" y2="148"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="292" y1="156" y2="156"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L21" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L21" xlink:show="new" xlink:title="Anon" xlink:type="simple">
|
||||
<g id="elem_C_0001797521288354158629">
|
||||
<rect codeLine="14" fill="#F1F1F1" height="48" id="C_0001797521288354158629" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="158" x="138" y="115"/>
|
||||
<ellipse cx="153" cy="131" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M148,132.1563 C148,134.6563 150.1406,136.4688 153.0625,136.4688 C154.2969,136.4688 155.4688,136.1719 156.2188,135.6563 C156.8281,135.2344 157.1563,134.8125 157.1563,134.4063 C157.1563,133.9375 156.7344,133.5313 156.2344,133.5313 C156,133.5313 155.7813,133.6094 155.5781,133.8125 C155.1406,134.25 155.1406,134.25 154.9688,134.3438 C154.5156,134.5781 153.875,134.7188 153.1094,134.7188 C151.1094,134.7188 149.8281,133.7031 149.8281,132.125 L149.8281,131.0781 C149.8281,129.375 151.0469,128.1719 152.75,128.1719 C153.3281,128.1719 153.9063,128.3125 154.375,128.5625 C154.8438,128.8281 155.0156,129.0156 155.0781,129.375 C155.2031,130.0469 155.4531,130.2969 155.9844,130.2969 C156.2656,130.2969 156.5469,130.1563 156.7344,129.9375 C156.8594,129.7656 156.9063,129.5938 156.9063,129.1563 L156.9063,127.7969 C156.9063,127.375 156.8906,127.2344 156.7656,127.0625 C156.5938,126.8125 156.3125,126.6563 155.9844,126.6563 C155.6719,126.6563 155.4688,126.7656 155.25,127.0313 C154.0781,126.5313 153.6406,126.4219 152.6875,126.4219 C150.0156,126.4219 148,128.4375 148,131.0625 L148,132.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="167" y="135.606">ns3::ns1::ns2::Anon</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="139" x2="295" y1="147" y2="147"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="139" x2="295" y1="155" y2="155"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L28" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00015/t00015.cc#L28" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fzju67s2gofu)" height="48" id="C_0000870882387819356092" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="179" y="224"/>
|
||||
<ellipse cx="194" cy="240" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M196.9688,245.6406 Q196.3906,245.9375 195.75,246.0781 Q195.1094,246.2344 194.4063,246.2344 Q191.9063,246.2344 190.5781,244.5938 Q189.2656,242.9375 189.2656,239.8125 Q189.2656,236.6875 190.5781,235.0313 Q191.9063,233.375 194.4063,233.375 Q195.1094,233.375 195.75,233.5313 Q196.4063,233.6875 196.9688,233.9844 L196.9688,236.7031 Q196.3438,236.125 195.75,235.8594 Q195.1563,235.5781 194.5313,235.5781 Q193.1875,235.5781 192.5,236.6563 Q191.8125,237.7188 191.8125,239.8125 Q191.8125,241.9063 192.5,242.9844 Q193.1875,244.0469 194.5313,244.0469 Q195.1563,244.0469 195.75,243.7813 Q196.3438,243.5 196.9688,242.9219 L196.9688,245.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="208" y="244.1543">ns3::B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="249" y1="256" y2="256"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="249" y1="264" y2="264"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0000870882387819356092">
|
||||
<rect codeLine="18" fill="#F1F1F1" height="48" id="C_0000870882387819356092" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="72" x="181" y="223"/>
|
||||
<ellipse cx="196" cy="239" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M191,240.1563 C191,242.6563 193.1406,244.4688 196.0625,244.4688 C197.2969,244.4688 198.4688,244.1719 199.2188,243.6563 C199.8281,243.2344 200.1563,242.8125 200.1563,242.4063 C200.1563,241.9375 199.7344,241.5313 199.2344,241.5313 C199,241.5313 198.7813,241.6094 198.5781,241.8125 C198.1406,242.25 198.1406,242.25 197.9688,242.3438 C197.5156,242.5781 196.875,242.7188 196.1094,242.7188 C194.1094,242.7188 192.8281,241.7031 192.8281,240.125 L192.8281,239.0781 C192.8281,237.375 194.0469,236.1719 195.75,236.1719 C196.3281,236.1719 196.9063,236.3125 197.375,236.5625 C197.8438,236.8281 198.0156,237.0156 198.0781,237.375 C198.2031,238.0469 198.4531,238.2969 198.9844,238.2969 C199.2656,238.2969 199.5469,238.1563 199.7344,237.9375 C199.8594,237.7656 199.9063,237.5938 199.9063,237.1563 L199.9063,235.7969 C199.9063,235.375 199.8906,235.2344 199.7656,235.0625 C199.5938,234.8125 199.3125,234.6563 198.9844,234.6563 C198.6719,234.6563 198.4688,234.7656 198.25,235.0313 C197.0781,234.5313 196.6406,234.4219 195.6875,234.4219 C193.0156,234.4219 191,236.4375 191,239.0625 L191,240.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="210" y="243.606">ns3::B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="182" x2="252" y1="255" y2="255"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="182" x2="252" y1="263" y2="263"/>
|
||||
</g>
|
||||
</a>
|
||||
<path d="M103.93,72.18 C92.9,86.8 80.72,102.93 71.1,115.68 " fill="none" id="C_0001410694888805149453<-C_0001060731132374575329" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="98.51,67.75,116.14,56,109.68,76.18,98.51,67.75" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M163.44,72.18 C174.61,86.8 186.94,102.93 196.68,115.68 " fill="none" id="C_0001410694888805149453<-C_0001797521288354158629" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="157.66,76.14,151.08,56,168.78,67.64,157.66,76.14" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M214.5,184.02 C214.5,197.58 214.5,212.04 214.5,223.68 " fill="none" id="C_0001797521288354158629<-C_0000870882387819356092" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="none" points="207.5,184,214.5,164,221.5,184,207.5,184" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<g id="link_C_0001410694888805149453_C_0001060731132374575329">
|
||||
<path codeLine="21" d="M107.2961,69.5662 C93.7961,87.2462 86.23,97.13 72.73,114.79 " fill="none" id="C_0001410694888805149453-backto-C_0001060731132374575329" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="118.22,55.26,102.5274,65.925,112.0649,73.2075,118.22,55.26" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001410694888805149453_C_0001797521288354158629">
|
||||
<path codeLine="22" d="M164.7039,69.5662 C178.2039,87.2462 185.77,97.13 199.27,114.79 " fill="none" id="C_0001410694888805149453-backto-C_0001797521288354158629" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="153.78,55.26,159.9351,73.2075,169.4726,65.925,153.78,55.26" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0001797521288354158629_C_0000870882387819356092">
|
||||
<path codeLine="23" d="M217,181.26 C217,198.94 217,205.13 217,222.79 " fill="none" id="C_0001797521288354158629-backto-C_0000870882387819356092" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="217,163.26,211,181.26,223,181.26,217,163.26" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
190
docs/test_cases/t00015_class_mermaid.svg
Normal file
@@ -0,0 +1,190 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 401.91015625 287" style="max-width: 401.91px; background-color: white;" width="401.91015625" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M98.30768237624903,64.6178920337158L91.09884989687419,68.84824336142984C83.89001741749935,73.07859468914387,69.47235245874968,81.53929734457193,62.26351997937484,89.93631533895264C55.0546875,98.33333333333333,55.0546875,106.66666666666667,55.0546875,110.83333333333333L55.0546875,115"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M194.13763012375097,64.6178920337158L201.34646260312581,68.84824336142984C208.55529508250063,73.07859468914387,222.97296004125033,81.53929734457193,230.18179252062518,89.93631533895264C237.390625,98.33333333333333,237.390625,106.66666666666667,237.390625,110.83333333333333L237.390625,115"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M237.390625,190L237.390625,191.16666666666666C237.390625,192.33333333333334,237.390625,194.66666666666666,237.390625,200C237.390625,205.33333333333334,237.390625,213.66666666666666,237.390625,217.83333333333334L237.390625,222"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(146.22265625, 36.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L6">
|
||||
<g title="A" id="classId-C_0001410694888805149453-0" class="node default clickable">
|
||||
<rect height="57" width="64.78125" y="-28.5" x="-32.390625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="32.390625" x1="-32.390625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="32.390625" x1="-32.390625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -24.890625, -21)" height="18" width="49.78125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">ns1::A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(311.26171875, 36.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L10">
|
||||
<g title="A" id="classId-C_0000485552648049088863-1" class="node default clickable">
|
||||
<rect height="57" width="165.296875" y="-28.5" x="-82.6484375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="82.6484375" x1="-82.6484375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="82.6484375" x1="-82.6484375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -75.1484375, -21)" height="18" width="150.296875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">ns1::ns2_v0_9_0::A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(55.0546875, 143.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L14">
|
||||
<g title="Anon" id="classId-C_0001060731132374575329-2" class="node default clickable">
|
||||
<rect height="57" width="94.109375" y="-28.5" x="-47.0546875" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="47.0546875" x1="-47.0546875" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="47.0546875" x1="-47.0546875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -39.5546875, -21)" height="18" width="79.109375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">ns1::Anon</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(237.390625, 143.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L21">
|
||||
<g title="Anon" id="classId-C_0001797521288354158629-3" class="node default clickable">
|
||||
<rect height="57" width="170.5625" y="-28.5" x="-85.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="85.28125" x1="-85.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="85.28125" x1="-85.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -77.78125, -21)" height="18" width="155.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">ns3::ns1::ns2::Anon</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(237.390625, 250.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00015/t00015.cc#L24">
|
||||
<g title="B" id="classId-C_0000870882387819356092-4" class="node default clickable">
|
||||
<rect height="57" width="64.78125" y="-28.5" x="-32.390625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="32.390625" x1="-32.390625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="32.390625" x1="-32.390625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -24.890625, -21)" height="18" width="49.78125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">ns3::B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -1,22 +1,19 @@
|
||||
# t00016 - Unnamed enums and empty templates
|
||||
## Config
|
||||
```yaml
|
||||
compilation_database_dir: ..
|
||||
output_directory: puml
|
||||
diagrams:
|
||||
t00016_class:
|
||||
type: class
|
||||
glob:
|
||||
- ../../tests/t00016/t00016.cc
|
||||
using_namespace:
|
||||
- clanguml::t00016
|
||||
- t00016.cc
|
||||
using_namespace: clanguml::t00016
|
||||
include:
|
||||
namespaces:
|
||||
- clanguml::t00016
|
||||
|
||||
```
|
||||
## Source code
|
||||
File t00016.cc
|
||||
File `tests/t00016/t00016.cc`
|
||||
```cpp
|
||||
namespace clanguml {
|
||||
namespace t00016 {
|
||||
@@ -44,9 +41,269 @@ template <> struct is_numeric<int> {
|
||||
template <> struct is_numeric<bool> {
|
||||
enum { value = false };
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace t00016
|
||||
} // namespace clanguml
|
||||
|
||||
```
|
||||
## Generated UML diagrams
|
||||
## Generated PlantUML diagrams
|
||||

|
||||
## Generated Mermaid diagrams
|
||||

|
||||
## Generated JSON models
|
||||
```json
|
||||
{
|
||||
"diagram_type": "class",
|
||||
"elements": [
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<typename>",
|
||||
"id": "932856332558460389",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 28,
|
||||
"file": "t00016.cc",
|
||||
"line": 4,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "template_type",
|
||||
"name": "typename",
|
||||
"template_parameters": []
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<float>",
|
||||
"id": "95618295648274199",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 20,
|
||||
"file": "t00016.cc",
|
||||
"line": 8,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "float"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<char>",
|
||||
"id": "979129381790761728",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 20,
|
||||
"file": "t00016.cc",
|
||||
"line": 12,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "char"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<unsigned int>",
|
||||
"id": "2090787690027341836",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 20,
|
||||
"file": "t00016.cc",
|
||||
"line": 16,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "unsigned int"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<int>",
|
||||
"id": "500603075237446075",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 20,
|
||||
"file": "t00016.cc",
|
||||
"line": 20,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
},
|
||||
{
|
||||
"bases": [],
|
||||
"display_name": "clanguml::t00016::is_numeric<bool>",
|
||||
"id": "2111316837513419920",
|
||||
"is_abstract": false,
|
||||
"is_nested": false,
|
||||
"is_struct": true,
|
||||
"is_template": true,
|
||||
"is_union": false,
|
||||
"members": [
|
||||
{
|
||||
"access": "public",
|
||||
"is_static": false,
|
||||
"name": "value",
|
||||
"type": "enum"
|
||||
}
|
||||
],
|
||||
"methods": [],
|
||||
"name": "is_numeric",
|
||||
"namespace": "clanguml::t00016",
|
||||
"source_location": {
|
||||
"column": 20,
|
||||
"file": "t00016.cc",
|
||||
"line": 24,
|
||||
"translation_unit": "t00016.cc"
|
||||
},
|
||||
"template_parameters": [
|
||||
{
|
||||
"is_variadic": false,
|
||||
"kind": "argument",
|
||||
"template_parameters": [],
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"type": "class"
|
||||
}
|
||||
],
|
||||
"name": "t00016_class",
|
||||
"relationships": [
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "932856332558460389",
|
||||
"source": "95618295648274199",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "932856332558460389",
|
||||
"source": "979129381790761728",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "932856332558460389",
|
||||
"source": "2090787690027341836",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "932856332558460389",
|
||||
"source": "500603075237446075",
|
||||
"type": "instantiation"
|
||||
},
|
||||
{
|
||||
"access": "public",
|
||||
"destination": "932856332558460389",
|
||||
"source": "2111316837513419920",
|
||||
"type": "instantiation"
|
||||
}
|
||||
],
|
||||
"using_namespace": "clanguml::t00016"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,93 +1,111 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="200px" preserveAspectRatio="none" style="width:847px;height:200px;" version="1.1" viewBox="0 0 847 200" width="847px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="206px" preserveAspectRatio="none" style="width:835px;height:206px;background:#FFFFFF;" version="1.1" viewBox="0 0 835 206" width="835px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="f1jpcadjiwvhv0" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L4" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L4" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="367" y="129"/>
|
||||
<ellipse cx="382" cy="145" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M384.9688,150.6406 Q384.3906,150.9375 383.75,151.0781 Q383.1094,151.2344 382.4063,151.2344 Q379.9063,151.2344 378.5781,149.5938 Q377.2656,147.9375 377.2656,144.8125 Q377.2656,141.6875 378.5781,140.0313 Q379.9063,138.375 382.4063,138.375 Q383.1094,138.375 383.75,138.5313 Q384.4063,138.6875 384.9688,138.9844 L384.9688,141.7031 Q384.3438,141.125 383.75,140.8594 Q383.1563,140.5781 382.5313,140.5781 Q381.1875,140.5781 380.5,141.6563 Q379.8125,142.7188 379.8125,144.8125 Q379.8125,146.9063 380.5,147.9844 Q381.1875,149.0469 382.5313,149.0469 Q383.1563,149.0469 383.75,148.7813 Q384.3438,148.5 384.9688,147.9219 L384.9688,150.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="396" y="149.1543">is_numeric<></text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="484" y1="161" y2="161"/>
|
||||
<ellipse cx="378" cy="172" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="387" y="175.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="484" y1="181.8047" y2="181.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L4" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L4" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0000932856332558460389">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="64.7999" id="C_0000932856332558460389" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="341.5" y="134.8"/>
|
||||
<ellipse cx="356.5" cy="150.8" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M351.5,151.9562 C351.5,154.4562 353.6406,156.2687 356.5625,156.2687 C357.7969,156.2687 358.9688,155.9719 359.7188,155.4562 C360.3281,155.0344 360.6563,154.6125 360.6563,154.2062 C360.6563,153.7375 360.2344,153.3312 359.7344,153.3312 C359.5,153.3312 359.2813,153.4094 359.0781,153.6125 C358.6406,154.05 358.6406,154.05 358.4688,154.1437 C358.0156,154.3781 357.375,154.5187 356.6094,154.5187 C354.6094,154.5187 353.3281,153.5031 353.3281,151.925 L353.3281,150.8781 C353.3281,149.175 354.5469,147.9719 356.25,147.9719 C356.8281,147.9719 357.4063,148.1125 357.875,148.3625 C358.3438,148.6281 358.5156,148.8156 358.5781,149.175 C358.7031,149.8469 358.9531,150.0969 359.4844,150.0969 C359.7656,150.0969 360.0469,149.9562 360.2344,149.7375 C360.3594,149.5656 360.4063,149.3937 360.4063,148.9562 L360.4063,147.5969 C360.4063,147.175 360.3906,147.0344 360.2656,146.8625 C360.0938,146.6125 359.8125,146.4562 359.4844,146.4562 C359.1719,146.4562 358.9688,146.5656 358.75,146.8312 C357.5781,146.3312 357.1406,146.2219 356.1875,146.2219 C353.5156,146.2219 351.5,148.2375 351.5,150.8625 L351.5,151.9562 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="370.5" y="155.406">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="56" x="447.5" y="131.8"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="54" x="448.5" y="146.0001">typename</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="342.5" x2="499.5" y1="166.8" y2="166.8"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="342.5" x2="499.5" y1="174.8" y2="174.8"/>
|
||||
<ellipse cx="352.5" cy="188.7" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="361.5" y="191.8059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L8" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L8" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0000095618295648274199" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="6" y="8"/>
|
||||
<ellipse cx="21" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,29.6406 Q23.3906,29.9375 22.75,30.0781 Q22.1094,30.2344 21.4063,30.2344 Q18.9063,30.2344 17.5781,28.5938 Q16.2656,26.9375 16.2656,23.8125 Q16.2656,20.6875 17.5781,19.0313 Q18.9063,17.375 21.4063,17.375 Q22.1094,17.375 22.75,17.5313 Q23.4063,17.6875 23.9688,17.9844 L23.9688,20.7031 Q23.3438,20.125 22.75,19.8594 Q22.1563,19.5781 21.5313,19.5781 Q20.1875,19.5781 19.5,20.6563 Q18.8125,21.7188 18.8125,23.8125 Q18.8125,25.9063 19.5,26.9844 Q20.1875,28.0469 21.5313,28.0469 Q22.1563,28.0469 22.75,27.7813 Q23.3438,27.5 23.9688,26.9219 L23.9688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="35" y="28.1543">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="30" x="109" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="28" x="110" y="17.1387">float</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="135" y1="40" y2="40"/>
|
||||
<ellipse cx="17" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="26" y="54.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="135" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L8" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L8" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0000095618295648274199">
|
||||
<rect codeLine="7" fill="#F1F1F1" height="64.7999" id="C_0000095618295648274199" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="128" x="7" y="10"/>
|
||||
<ellipse cx="22" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,27.1563 C17,29.6563 19.1406,31.4688 22.0625,31.4688 C23.2969,31.4688 24.4688,31.1719 25.2188,30.6563 C25.8281,30.2344 26.1563,29.8125 26.1563,29.4063 C26.1563,28.9375 25.7344,28.5313 25.2344,28.5313 C25,28.5313 24.7813,28.6094 24.5781,28.8125 C24.1406,29.25 24.1406,29.25 23.9688,29.3438 C23.5156,29.5781 22.875,29.7188 22.1094,29.7188 C20.1094,29.7188 18.8281,28.7031 18.8281,27.125 L18.8281,26.0781 C18.8281,24.375 20.0469,23.1719 21.75,23.1719 C22.3281,23.1719 22.9063,23.3125 23.375,23.5625 C23.8438,23.8281 24.0156,24.0156 24.0781,24.375 C24.2031,25.0469 24.4531,25.2969 24.9844,25.2969 C25.2656,25.2969 25.5469,25.1563 25.7344,24.9375 C25.8594,24.7656 25.9063,24.5938 25.9063,24.1563 L25.9063,22.7969 C25.9063,22.375 25.8906,22.2344 25.7656,22.0625 C25.5938,21.8125 25.3125,21.6563 24.9844,21.6563 C24.6719,21.6563 24.4688,21.7656 24.25,22.0313 C23.0781,21.5313 22.6406,21.4219 21.6875,21.4219 C19.0156,21.4219 17,23.4375 17,26.0625 L17,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="36" y="30.606">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="25" x="113" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="23" x="114" y="21.2001">float</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="134" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="134" y1="50" y2="50"/>
|
||||
<ellipse cx="18" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="27" y="67.0059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L12" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L12" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0000979129381790761728" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="171" y="8"/>
|
||||
<ellipse cx="186" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M188.9688,29.6406 Q188.3906,29.9375 187.75,30.0781 Q187.1094,30.2344 186.4063,30.2344 Q183.9063,30.2344 182.5781,28.5938 Q181.2656,26.9375 181.2656,23.8125 Q181.2656,20.6875 182.5781,19.0313 Q183.9063,17.375 186.4063,17.375 Q187.1094,17.375 187.75,17.5313 Q188.4063,17.6875 188.9688,17.9844 L188.9688,20.7031 Q188.3438,20.125 187.75,19.8594 Q187.1563,19.5781 186.5313,19.5781 Q185.1875,19.5781 184.5,20.6563 Q183.8125,21.7188 183.8125,23.8125 Q183.8125,25.9063 184.5,26.9844 Q185.1875,28.0469 186.5313,28.0469 Q187.1563,28.0469 187.75,27.7813 Q188.3438,27.5 188.9688,26.9219 L188.9688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="200" y="28.1543">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="30" x="274" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="28" x="275" y="17.1387">char</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="172" x2="300" y1="40" y2="40"/>
|
||||
<ellipse cx="182" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="191" y="54.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="172" x2="300" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L12" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L12" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0000979129381790761728">
|
||||
<rect codeLine="12" fill="#F1F1F1" height="64.7999" id="C_0000979129381790761728" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129" x="170.5" y="10"/>
|
||||
<ellipse cx="185.5" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M180.5,27.1563 C180.5,29.6563 182.6406,31.4688 185.5625,31.4688 C186.7969,31.4688 187.9688,31.1719 188.7188,30.6563 C189.3281,30.2344 189.6563,29.8125 189.6563,29.4063 C189.6563,28.9375 189.2344,28.5313 188.7344,28.5313 C188.5,28.5313 188.2813,28.6094 188.0781,28.8125 C187.6406,29.25 187.6406,29.25 187.4688,29.3438 C187.0156,29.5781 186.375,29.7188 185.6094,29.7188 C183.6094,29.7188 182.3281,28.7031 182.3281,27.125 L182.3281,26.0781 C182.3281,24.375 183.5469,23.1719 185.25,23.1719 C185.8281,23.1719 186.4063,23.3125 186.875,23.5625 C187.3438,23.8281 187.5156,24.0156 187.5781,24.375 C187.7031,25.0469 187.9531,25.2969 188.4844,25.2969 C188.7656,25.2969 189.0469,25.1563 189.2344,24.9375 C189.3594,24.7656 189.4063,24.5938 189.4063,24.1563 L189.4063,22.7969 C189.4063,22.375 189.3906,22.2344 189.2656,22.0625 C189.0938,21.8125 188.8125,21.6563 188.4844,21.6563 C188.1719,21.6563 187.9688,21.7656 187.75,22.0313 C186.5781,21.5313 186.1406,21.4219 185.1875,21.4219 C182.5156,21.4219 180.5,23.4375 180.5,26.0625 L180.5,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="199.5" y="30.606">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="26" x="276.5" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="24" x="277.5" y="21.2001">char</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="171.5" x2="298.5" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="171.5" x2="298.5" y1="50" y2="50"/>
|
||||
<ellipse cx="181.5" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="190.5" y="67.0059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L16" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L16" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0002090787690027341836" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="336.5" y="8"/>
|
||||
<ellipse cx="351.5" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M354.4688,29.6406 Q353.8906,29.9375 353.25,30.0781 Q352.6094,30.2344 351.9063,30.2344 Q349.4063,30.2344 348.0781,28.5938 Q346.7656,26.9375 346.7656,23.8125 Q346.7656,20.6875 348.0781,19.0313 Q349.4063,17.375 351.9063,17.375 Q352.6094,17.375 353.25,17.5313 Q353.9063,17.6875 354.4688,17.9844 L354.4688,20.7031 Q353.8438,20.125 353.25,19.8594 Q352.6563,19.5781 352.0313,19.5781 Q350.6875,19.5781 350,20.6563 Q349.3125,21.7188 349.3125,23.8125 Q349.3125,25.9063 350,26.9844 Q350.6875,28.0469 352.0313,28.0469 Q352.6563,28.0469 353.25,27.7813 Q353.8438,27.5 354.4688,26.9219 L354.4688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="365.5" y="28.1543">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="79" x="439.5" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="77" x="440.5" y="17.1387">unsigned int</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="337.5" x2="514.5" y1="40" y2="40"/>
|
||||
<ellipse cx="347.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="356.5" y="54.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="337.5" x2="514.5" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L16" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L16" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0002090787690027341836">
|
||||
<rect codeLine="17" fill="#F1F1F1" height="64.7999" id="C_0002090787690027341836" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="172" x="335" y="10"/>
|
||||
<ellipse cx="350" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M345,27.1563 C345,29.6563 347.1406,31.4688 350.0625,31.4688 C351.2969,31.4688 352.4688,31.1719 353.2188,30.6563 C353.8281,30.2344 354.1563,29.8125 354.1563,29.4063 C354.1563,28.9375 353.7344,28.5313 353.2344,28.5313 C353,28.5313 352.7813,28.6094 352.5781,28.8125 C352.1406,29.25 352.1406,29.25 351.9688,29.3438 C351.5156,29.5781 350.875,29.7188 350.1094,29.7188 C348.1094,29.7188 346.8281,28.7031 346.8281,27.125 L346.8281,26.0781 C346.8281,24.375 348.0469,23.1719 349.75,23.1719 C350.3281,23.1719 350.9063,23.3125 351.375,23.5625 C351.8438,23.8281 352.0156,24.0156 352.0781,24.375 C352.2031,25.0469 352.4531,25.2969 352.9844,25.2969 C353.2656,25.2969 353.5469,25.1563 353.7344,24.9375 C353.8594,24.7656 353.9063,24.5938 353.9063,24.1563 L353.9063,22.7969 C353.9063,22.375 353.8906,22.2344 353.7656,22.0625 C353.5938,21.8125 353.3125,21.6563 352.9844,21.6563 C352.6719,21.6563 352.4688,21.7656 352.25,22.0313 C351.0781,21.5313 350.6406,21.4219 349.6875,21.4219 C347.0156,21.4219 345,23.4375 345,26.0625 L345,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="364" y="30.606">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="69" x="441" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="67" x="442" y="21.2001">unsigned int</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="336" x2="506" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="336" x2="506" y1="50" y2="50"/>
|
||||
<ellipse cx="346" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="355" y="67.0059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L20" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L20" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0000500603075237446075" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="551" y="8"/>
|
||||
<ellipse cx="566" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M568.9688,29.6406 Q568.3906,29.9375 567.75,30.0781 Q567.1094,30.2344 566.4063,30.2344 Q563.9063,30.2344 562.5781,28.5938 Q561.2656,26.9375 561.2656,23.8125 Q561.2656,20.6875 562.5781,19.0313 Q563.9063,17.375 566.4063,17.375 Q567.1094,17.375 567.75,17.5313 Q568.4063,17.6875 568.9688,17.9844 L568.9688,20.7031 Q568.3438,20.125 567.75,19.8594 Q567.1563,19.5781 566.5313,19.5781 Q565.1875,19.5781 564.5,20.6563 Q563.8125,21.7188 563.8125,23.8125 Q563.8125,25.9063 564.5,26.9844 Q565.1875,28.0469 566.5313,28.0469 Q567.1563,28.0469 567.75,27.7813 Q568.3438,27.5 568.9688,26.9219 L568.9688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="580" y="28.1543">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="18" x="654" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="655" y="17.1387">int</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="552" x2="668" y1="40" y2="40"/>
|
||||
<ellipse cx="562" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="571" y="54.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="552" x2="668" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L20" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L20" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0000500603075237446075">
|
||||
<rect codeLine="22" fill="#F1F1F1" height="64.7999" id="C_0000500603075237446075" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="118" x="542" y="10"/>
|
||||
<ellipse cx="557" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M552,27.1563 C552,29.6563 554.1406,31.4688 557.0625,31.4688 C558.2969,31.4688 559.4688,31.1719 560.2188,30.6563 C560.8281,30.2344 561.1563,29.8125 561.1563,29.4063 C561.1563,28.9375 560.7344,28.5313 560.2344,28.5313 C560,28.5313 559.7813,28.6094 559.5781,28.8125 C559.1406,29.25 559.1406,29.25 558.9688,29.3438 C558.5156,29.5781 557.875,29.7188 557.1094,29.7188 C555.1094,29.7188 553.8281,28.7031 553.8281,27.125 L553.8281,26.0781 C553.8281,24.375 555.0469,23.1719 556.75,23.1719 C557.3281,23.1719 557.9063,23.3125 558.375,23.5625 C558.8438,23.8281 559.0156,24.0156 559.0781,24.375 C559.2031,25.0469 559.4531,25.2969 559.9844,25.2969 C560.2656,25.2969 560.5469,25.1563 560.7344,24.9375 C560.8594,24.7656 560.9063,24.5938 560.9063,24.1563 L560.9063,22.7969 C560.9063,22.375 560.8906,22.2344 560.7656,22.0625 C560.5938,21.8125 560.3125,21.6563 559.9844,21.6563 C559.6719,21.6563 559.4688,21.7656 559.25,22.0313 C558.0781,21.5313 557.6406,21.4219 556.6875,21.4219 C554.0156,21.4219 552,23.4375 552,26.0625 L552,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="571" y="30.606">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="15" x="648" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="13" x="649" y="21.2001">int</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="543" x2="659" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="543" x2="659" y1="50" y2="50"/>
|
||||
<ellipse cx="553" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="562" y="67.0059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L24" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00016/t00016.cc#L24" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#f1jpcadjiwvhv0)" height="60.8047" id="C_0002111316837513419920" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="704.5" y="8"/>
|
||||
<ellipse cx="719.5" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M722.4688,29.6406 Q721.8906,29.9375 721.25,30.0781 Q720.6094,30.2344 719.9063,30.2344 Q717.4063,30.2344 716.0781,28.5938 Q714.7656,26.9375 714.7656,23.8125 Q714.7656,20.6875 716.0781,19.0313 Q717.4063,17.375 719.9063,17.375 Q720.6094,17.375 721.25,17.5313 Q721.9063,17.6875 722.4688,17.9844 L722.4688,20.7031 Q721.8438,20.125 721.25,19.8594 Q720.6563,19.5781 720.0313,19.5781 Q718.6875,19.5781 718,20.6563 Q717.3125,21.7188 717.3125,23.8125 Q717.3125,25.9063 718,26.9844 Q718.6875,28.0469 720.0313,28.0469 Q720.6563,28.0469 721.25,27.7813 Q721.8438,27.5 722.4688,26.9219 L722.4688,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="733.5" y="28.1543">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="29" x="807.5" y="5"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="27" x="808.5" y="17.1387">bool</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="705.5" x2="832.5" y1="40" y2="40"/>
|
||||
<ellipse cx="715.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="724.5" y="54.2104">value : enum</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="705.5" x2="832.5" y1="60.8047" y2="60.8047"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L24" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L24" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
|
||||
<g id="elem_C_0002111316837513419920">
|
||||
<rect codeLine="27" fill="#F1F1F1" height="64.7999" id="C_0002111316837513419920" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129" x="695.5" y="10"/>
|
||||
<ellipse cx="710.5" cy="26" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M705.5,27.1563 C705.5,29.6563 707.6406,31.4688 710.5625,31.4688 C711.7969,31.4688 712.9688,31.1719 713.7188,30.6563 C714.3281,30.2344 714.6563,29.8125 714.6563,29.4063 C714.6563,28.9375 714.2344,28.5313 713.7344,28.5313 C713.5,28.5313 713.2813,28.6094 713.0781,28.8125 C712.6406,29.25 712.6406,29.25 712.4688,29.3438 C712.0156,29.5781 711.375,29.7188 710.6094,29.7188 C708.6094,29.7188 707.3281,28.7031 707.3281,27.125 L707.3281,26.0781 C707.3281,24.375 708.5469,23.1719 710.25,23.1719 C710.8281,23.1719 711.4063,23.3125 711.875,23.5625 C712.3438,23.8281 712.5156,24.0156 712.5781,24.375 C712.7031,25.0469 712.9531,25.2969 713.4844,25.2969 C713.7656,25.2969 714.0469,25.1563 714.2344,24.9375 C714.3594,24.7656 714.4063,24.5938 714.4063,24.1563 L714.4063,22.7969 C714.4063,22.375 714.3906,22.2344 714.2656,22.0625 C714.0938,21.8125 713.8125,21.6563 713.4844,21.6563 C713.1719,21.6563 712.9688,21.7656 712.75,22.0313 C711.5781,21.5313 711.1406,21.4219 710.1875,21.4219 C707.5156,21.4219 705.5,23.4375 705.5,26.0625 L705.5,27.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="724.5" y="30.606">is_numeric</text>
|
||||
<rect fill="#FFFFFF" height="18.2001" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="26" x="801.5" y="7"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="24" x="802.5" y="21.2001">bool</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="696.5" x2="823.5" y1="42" y2="42"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="696.5" x2="823.5" y1="50" y2="50"/>
|
||||
<ellipse cx="706.5" cy="63.9" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="715.5" y="67.0059">value : enum</text>
|
||||
</g>
|
||||
</a>
|
||||
<path d="M136.29,63.18 C141.93,65.17 147.56,67.13 153,69 C218.43,91.49 293.11,115.88 347.8,133.52 " fill="none" id="C_0000095618295648274199->C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="350.1,126.9,366.99,139.69,345.81,140.23,350.1,126.9" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M283.45,69.22 C307.12,84.04 336.09,102.19 361.72,118.24 " fill="none" id="C_0000979129381790761728->C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="365.59,112.4,378.82,128.95,358.16,124.27,365.59,112.4" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M426,69.22 C426,81.15 426,95.23 426,108.63 " fill="none" id="C_0002090787690027341836->C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="433,108.74,426,128.74,419,108.74,433,108.74" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M564.04,69.22 C541.24,83.97 513.34,102.01 488.61,118.01 " fill="none" id="C_0000500603075237446075->C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="492.28,123.97,471.69,128.95,484.68,112.21,492.28,123.97" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M704.13,62.94 C698.34,65 692.57,67.04 687,69 C625.69,90.54 556.06,114.39 504.15,132.04 " fill="none" id="C_0002111316837513419920->C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="none" points="506.36,138.68,485.17,138.49,501.86,125.43,506.36,138.68" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<g id="link_C_0000095618295648274199_C_0000932856332558460389">
|
||||
<path codeLine="31" d="M135.37,68.31 C141.32,70.53 147.27,72.73 153,74.8 C215.98,97.59 270.7682,116.3045 324.2082,134.1645 " fill="none" id="C_0000095618295648274199-to-C_0000932856332558460389" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="341.28,139.87,326.11,128.4739,322.3063,139.8551,341.28,139.87" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000979129381790761728_C_0000932856332558460389">
|
||||
<path codeLine="32" d="M282.9,75.02 C310.56,93.29 330.2282,106.2731 357.9182,124.5531 " fill="none" id="C_0000979129381790761728-to-C_0000932856332558460389" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="372.94,134.47,361.2238,119.5458,354.6125,129.5604,372.94,134.47" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0002090787690027341836_C_0000932856332558460389">
|
||||
<path codeLine="33" d="M421,75.02 C421,93.36 421,98.37 421,116.68 " fill="none" id="C_0002090787690027341836-to-C_0000932856332558460389" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="421,134.68,427,116.68,415,116.68,421,134.68" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0000500603075237446075_C_0000932856332558460389">
|
||||
<path codeLine="34" d="M554.65,75.02 C527.88,93.29 509.1802,106.0472 482.3802,124.3272 " fill="none" id="C_0000500603075237446075-to-C_0000932856332558460389" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="467.51,134.47,485.7612,129.2839,478.9993,119.3704,467.51,134.47" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
<g id="link_C_0002111316837513419920_C_0000932856332558460389">
|
||||
<path codeLine="35" d="M695.15,68.4 C689.36,70.58 683.58,72.74 678,74.8 C618.8,96.66 568.5812,114.55 517.7512,132.42 " fill="none" id="C_0002111316837513419920-to-C_0000932856332558460389" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/>
|
||||
<polygon fill="none" points="500.77,138.39,519.7411,138.0804,515.7612,126.7597,500.77,138.39" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 18 KiB |
269
docs/test_cases/t00016_class_mermaid.svg
Normal file
@@ -0,0 +1,269 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 1022.859375 224" style="max-width: 1022.86px; background-color: white;" width="1022.859375" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M83.9765625,87L83.9765625,91.16666666666667C83.9765625,95.33333333333333,83.9765625,103.66666666666667,137.36714084731958,115.75741003772994C190.75771919463918,127.84815340879322,297.53887588927836,143.69630681758647,350.929454236598,151.6203835219831L404.32003258391757,159.5444602263797"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id2" d="M285.9375,87L285.9375,91.16666666666667C285.9375,95.33333333333333,285.9375,103.66666666666667,305.744484916316,113.32522168197336C325.5514698326321,122.98377669728005,365.16543966526416,133.9675533945601,384.9724245815803,139.45944174320013L404.7794094978963,144.95133009184013"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id3" d="M518.5625,87L518.5625,91.16666666666667C518.5625,95.33333333333333,518.5625,103.66666666666667,518.5625,109C518.5625,114.33333333333333,518.5625,116.66666666666667,518.5625,117.83333333333333L518.5625,119"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id4" d="M744.0625,87L744.0625,91.16666666666667C744.0625,95.33333333333333,744.0625,103.66666666666667,725.4364137163183,113.1609722038321C706.8103274326364,122.65527774099753,669.558154865273,133.3105554819951,650.9320685815911,138.63819435249385L632.3059822979094,143.96583322299264"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id5" d="M938.890625,87L938.890625,91.16666666666667C938.890625,95.33333333333333,938.890625,103.66666666666667,887.8741448971663,115.66189100273215C836.8576647943327,127.65711533879762,734.8247045886652,143.31423067759525,683.8082244858315,151.14278834699405L632.7917443829979,158.97134601639286"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
||||
<g transform="translate(0, 0)" class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel"/>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(518.5625, 176.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L4">
|
||||
<g title="is_numeric" id="classId-C_0000932856332558460389-0" class="node default clickable">
|
||||
<rect height="79" width="192.875" y="-39.5" x="-96.4375" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="96.4375" x1="-96.4375" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="96.4375" x1="-96.4375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -88.9375, -32)" height="18" width="177.875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<typename></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -88.9375, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(83.9765625, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L8">
|
||||
<g title="is_numeric" id="classId-C_0000095618295648274199-1" class="node default clickable">
|
||||
<rect height="79" width="151.953125" y="-39.5" x="-75.9765625" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="75.9765625" x1="-75.9765625" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="75.9765625" x1="-75.9765625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.4765625, -32)" height="18" width="136.953125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<float></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.4765625, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(285.9375, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L12">
|
||||
<g title="is_numeric" id="classId-C_0000979129381790761728-2" class="node default clickable">
|
||||
<rect height="79" width="151.96875" y="-39.5" x="-75.984375" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="75.984375" x1="-75.984375" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="75.984375" x1="-75.984375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.484375, -32)" height="18" width="136.96875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<char></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.484375, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(518.5625, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L16">
|
||||
<g title="is_numeric" id="classId-C_0002090787690027341836-3" class="node default clickable">
|
||||
<rect height="79" width="213.28125" y="-39.5" x="-106.640625" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="106.640625" x1="-106.640625" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="106.640625" x1="-106.640625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -99.140625, -32)" height="18" width="198.28125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<unsigned int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -99.140625, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(744.0625, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L20">
|
||||
<g title="is_numeric" id="classId-C_0000500603075237446075-4" class="node default clickable">
|
||||
<rect height="79" width="137.71875" y="-39.5" x="-68.859375" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="68.859375" x1="-68.859375" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="68.859375" x1="-68.859375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -61.359375, -32)" height="18" width="122.71875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<int></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -61.359375, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(938.890625, 47.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00016/t00016.cc#L24">
|
||||
<g title="is_numeric" id="classId-C_0002111316837513419920-5" class="node default clickable">
|
||||
<rect height="79" width="151.9375" y="-39.5" x="-75.96875" class="outer title-state"/>
|
||||
<line y2="-9.5" y1="-9.5" x2="75.96875" x1="-75.96875" class="divider"/>
|
||||
<line y2="28.5" y1="28.5" x2="75.96875" x1="-75.96875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.46875, -32)" height="18" width="136.9375" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">is_numeric<bool></span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -68.46875, 2)" height="18" width="100.953125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">+value : enum</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 19 KiB |
@@ -1,180 +1,217 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="256px" preserveAspectRatio="none" style="width:799px;height:256px;" version="1.1" viewBox="0 0 799 256" width="799px" zoomAndPan="magnify">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="271px" preserveAspectRatio="none" style="width:812px;height:271px;background:#FFFFFF;" version="1.1" viewBox="0 0 812 271" width="812px" zoomAndPan="magnify">
|
||||
<defs>
|
||||
<filter height="300%" id="fhxzdem6t3o5e" width="300%" x="-1" y="-1">
|
||||
<feGaussianBlur result="blurOut" stdDeviation="2.0"/>
|
||||
<feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
|
||||
<feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
|
||||
<feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
|
||||
</filter>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<g>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0000121332093434690887" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="197"/>
|
||||
<ellipse cx="21" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M23.9688,218.6406 Q23.3906,218.9375 22.75,219.0781 Q22.1094,219.2344 21.4063,219.2344 Q18.9063,219.2344 17.5781,217.5938 Q16.2656,215.9375 16.2656,212.8125 Q16.2656,209.6875 17.5781,208.0313 Q18.9063,206.375 21.4063,206.375 Q22.1094,206.375 22.75,206.5313 Q23.4063,206.6875 23.9688,206.9844 L23.9688,209.7031 Q23.3438,209.125 22.75,208.8594 Q22.1563,208.5781 21.5313,208.5781 Q20.1875,208.5781 19.5,209.6563 Q18.8125,210.7188 18.8125,212.8125 Q18.8125,214.9063 19.5,215.9844 Q20.1875,217.0469 21.5313,217.0469 Q22.1563,217.0469 22.75,216.7813 Q23.3438,216.5 23.9688,215.9219 L23.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="217.1543">A</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
|
||||
<g id="elem_C_0000121332093434690887">
|
||||
<rect codeLine="2" fill="#F1F1F1" height="48" id="C_0000121332093434690887" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="7" y="216"/>
|
||||
<ellipse cx="22" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M17,233.1563 C17,235.6563 19.1406,237.4688 22.0625,237.4688 C23.2969,237.4688 24.4688,237.1719 25.2188,236.6563 C25.8281,236.2344 26.1563,235.8125 26.1563,235.4063 C26.1563,234.9375 25.7344,234.5313 25.2344,234.5313 C25,234.5313 24.7813,234.6094 24.5781,234.8125 C24.1406,235.25 24.1406,235.25 23.9688,235.3438 C23.5156,235.5781 22.875,235.7188 22.1094,235.7188 C20.1094,235.7188 18.8281,234.7031 18.8281,233.125 L18.8281,232.0781 C18.8281,230.375 20.0469,229.1719 21.75,229.1719 C22.3281,229.1719 22.9063,229.3125 23.375,229.5625 C23.8438,229.8281 24.0156,230.0156 24.0781,230.375 C24.2031,231.0469 24.4531,231.2969 24.9844,231.2969 C25.2656,231.2969 25.5469,231.1563 25.7344,230.9375 C25.8594,230.7656 25.9063,230.5938 25.9063,230.1563 L25.9063,228.7969 C25.9063,228.375 25.8906,228.2344 25.7656,228.0625 C25.5938,227.8125 25.3125,227.6563 24.9844,227.6563 C24.6719,227.6563 24.4688,227.7656 24.25,228.0313 C23.0781,227.5313 22.6406,227.4219 21.6875,227.4219 C19.0156,227.4219 17,229.4375 17,232.0625 L17,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="36" y="236.606">A</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="47" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="47" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L8" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L8" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001424864837456200487" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="197"/>
|
||||
<ellipse cx="96" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M98.9688,218.6406 Q98.3906,218.9375 97.75,219.0781 Q97.1094,219.2344 96.4063,219.2344 Q93.9063,219.2344 92.5781,217.5938 Q91.2656,215.9375 91.2656,212.8125 Q91.2656,209.6875 92.5781,208.0313 Q93.9063,206.375 96.4063,206.375 Q97.1094,206.375 97.75,206.5313 Q98.4063,206.6875 98.9688,206.9844 L98.9688,209.7031 Q98.3438,209.125 97.75,208.8594 Q97.1563,208.5781 96.5313,208.5781 Q95.1875,208.5781 94.5,209.6563 Q93.8125,210.7188 93.8125,212.8125 Q93.8125,214.9063 94.5,215.9844 Q95.1875,217.0469 96.5313,217.0469 Q97.1563,217.0469 97.75,216.7813 Q98.3438,216.5 98.9688,215.9219 L98.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="110" y="217.1543">B</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L7" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L7" xlink:show="new" xlink:title="B" xlink:type="simple">
|
||||
<g id="elem_C_0001424864837456200487">
|
||||
<rect codeLine="6" fill="#F1F1F1" height="48" id="C_0001424864837456200487" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="83" y="216"/>
|
||||
<ellipse cx="98" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M93,233.1563 C93,235.6563 95.1406,237.4688 98.0625,237.4688 C99.2969,237.4688 100.4688,237.1719 101.2188,236.6563 C101.8281,236.2344 102.1563,235.8125 102.1563,235.4063 C102.1563,234.9375 101.7344,234.5313 101.2344,234.5313 C101,234.5313 100.7813,234.6094 100.5781,234.8125 C100.1406,235.25 100.1406,235.25 99.9688,235.3438 C99.5156,235.5781 98.875,235.7188 98.1094,235.7188 C96.1094,235.7188 94.8281,234.7031 94.8281,233.125 L94.8281,232.0781 C94.8281,230.375 96.0469,229.1719 97.75,229.1719 C98.3281,229.1719 98.9063,229.3125 99.375,229.5625 C99.8438,229.8281 100.0156,230.0156 100.0781,230.375 C100.2031,231.0469 100.4531,231.2969 100.9844,231.2969 C101.2656,231.2969 101.5469,231.1563 101.7344,230.9375 C101.8594,230.7656 101.9063,230.5938 101.9063,230.1563 L101.9063,228.7969 C101.9063,228.375 101.8906,228.2344 101.7656,228.0625 C101.5938,227.8125 101.3125,227.6563 100.9844,227.6563 C100.6719,227.6563 100.4688,227.7656 100.25,228.0313 C99.0781,227.5313 98.6406,227.4219 97.6875,227.4219 C95.0156,227.4219 93,229.4375 93,232.0625 L93,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="112" y="236.606">B</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="84" x2="123" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="84" x2="123" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0002151170391844743478" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="197"/>
|
||||
<ellipse cx="171" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M173.9688,218.6406 Q173.3906,218.9375 172.75,219.0781 Q172.1094,219.2344 171.4063,219.2344 Q168.9063,219.2344 167.5781,217.5938 Q166.2656,215.9375 166.2656,212.8125 Q166.2656,209.6875 167.5781,208.0313 Q168.9063,206.375 171.4063,206.375 Q172.1094,206.375 172.75,206.5313 Q173.4063,206.6875 173.9688,206.9844 L173.9688,209.7031 Q173.3438,209.125 172.75,208.8594 Q172.1563,208.5781 171.5313,208.5781 Q170.1875,208.5781 169.5,209.6563 Q168.8125,210.7188 168.8125,212.8125 Q168.8125,214.9063 169.5,215.9844 Q170.1875,217.0469 171.5313,217.0469 Q172.1563,217.0469 172.75,216.7813 Q173.3438,216.5 173.9688,215.9219 L173.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="185" y="217.1543">C</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L9" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L9" xlink:show="new" xlink:title="C" xlink:type="simple">
|
||||
<g id="elem_C_0002151170391844743478">
|
||||
<rect codeLine="10" fill="#F1F1F1" height="48" id="C_0002151170391844743478" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="42" x="158.5" y="216"/>
|
||||
<ellipse cx="173.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M168.5,233.1563 C168.5,235.6563 170.6406,237.4688 173.5625,237.4688 C174.7969,237.4688 175.9688,237.1719 176.7188,236.6563 C177.3281,236.2344 177.6563,235.8125 177.6563,235.4063 C177.6563,234.9375 177.2344,234.5313 176.7344,234.5313 C176.5,234.5313 176.2813,234.6094 176.0781,234.8125 C175.6406,235.25 175.6406,235.25 175.4688,235.3438 C175.0156,235.5781 174.375,235.7188 173.6094,235.7188 C171.6094,235.7188 170.3281,234.7031 170.3281,233.125 L170.3281,232.0781 C170.3281,230.375 171.5469,229.1719 173.25,229.1719 C173.8281,229.1719 174.4063,229.3125 174.875,229.5625 C175.3438,229.8281 175.5156,230.0156 175.5781,230.375 C175.7031,231.0469 175.9531,231.2969 176.4844,231.2969 C176.7656,231.2969 177.0469,231.1563 177.2344,230.9375 C177.3594,230.7656 177.4063,230.5938 177.4063,230.1563 L177.4063,228.7969 C177.4063,228.375 177.3906,228.2344 177.2656,228.0625 C177.0938,227.8125 176.8125,227.6563 176.4844,227.6563 C176.1719,227.6563 175.9688,227.7656 175.75,228.0313 C174.5781,227.5313 174.1406,227.4219 173.1875,227.4219 C170.5156,227.4219 168.5,229.4375 168.5,232.0625 L168.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="187.5" y="236.606">C</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="159.5" x2="199.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="159.5" x2="199.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L14" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L14" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001378112127131766972" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="197"/>
|
||||
<ellipse cx="246.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M249.4688,218.6406 Q248.8906,218.9375 248.25,219.0781 Q247.6094,219.2344 246.9063,219.2344 Q244.4063,219.2344 243.0781,217.5938 Q241.7656,215.9375 241.7656,212.8125 Q241.7656,209.6875 243.0781,208.0313 Q244.4063,206.375 246.9063,206.375 Q247.6094,206.375 248.25,206.5313 Q248.9063,206.6875 249.4688,206.9844 L249.4688,209.7031 Q248.8438,209.125 248.25,208.8594 Q247.6563,208.5781 247.0313,208.5781 Q245.6875,208.5781 245,209.6563 Q244.3125,210.7188 244.3125,212.8125 Q244.3125,214.9063 245,215.9844 Q245.6875,217.0469 247.0313,217.0469 Q247.6563,217.0469 248.25,216.7813 Q248.8438,216.5 249.4688,215.9219 L249.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="260.5" y="217.1543">D</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L11" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L11" xlink:show="new" xlink:title="D" xlink:type="simple">
|
||||
<g id="elem_C_0001378112127131766972">
|
||||
<rect codeLine="14" fill="#F1F1F1" height="48" id="C_0001378112127131766972" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="42" x="235.5" y="216"/>
|
||||
<ellipse cx="250.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M245.5,233.1563 C245.5,235.6563 247.6406,237.4688 250.5625,237.4688 C251.7969,237.4688 252.9688,237.1719 253.7188,236.6563 C254.3281,236.2344 254.6563,235.8125 254.6563,235.4063 C254.6563,234.9375 254.2344,234.5313 253.7344,234.5313 C253.5,234.5313 253.2813,234.6094 253.0781,234.8125 C252.6406,235.25 252.6406,235.25 252.4688,235.3438 C252.0156,235.5781 251.375,235.7188 250.6094,235.7188 C248.6094,235.7188 247.3281,234.7031 247.3281,233.125 L247.3281,232.0781 C247.3281,230.375 248.5469,229.1719 250.25,229.1719 C250.8281,229.1719 251.4063,229.3125 251.875,229.5625 C252.3438,229.8281 252.5156,230.0156 252.5781,230.375 C252.7031,231.0469 252.9531,231.2969 253.4844,231.2969 C253.7656,231.2969 254.0469,231.1563 254.2344,230.9375 C254.3594,230.7656 254.4063,230.5938 254.4063,230.1563 L254.4063,228.7969 C254.4063,228.375 254.3906,228.2344 254.2656,228.0625 C254.0938,227.8125 253.8125,227.6563 253.4844,227.6563 C253.1719,227.6563 252.9688,227.7656 252.75,228.0313 C251.5781,227.5313 251.1406,227.4219 250.1875,227.4219 C247.5156,227.4219 245.5,229.4375 245.5,232.0625 L245.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="264.5" y="236.606">D</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="236.5" x2="276.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="236.5" x2="276.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L17" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L17" xlink:show="new" xlink:title="E" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001535300935831802489" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="308" y="197"/>
|
||||
<ellipse cx="323" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M325.9688,218.6406 Q325.3906,218.9375 324.75,219.0781 Q324.1094,219.2344 323.4063,219.2344 Q320.9063,219.2344 319.5781,217.5938 Q318.2656,215.9375 318.2656,212.8125 Q318.2656,209.6875 319.5781,208.0313 Q320.9063,206.375 323.4063,206.375 Q324.1094,206.375 324.75,206.5313 Q325.4063,206.6875 325.9688,206.9844 L325.9688,209.7031 Q325.3438,209.125 324.75,208.8594 Q324.1563,208.5781 323.5313,208.5781 Q322.1875,208.5781 321.5,209.6563 Q320.8125,210.7188 320.8125,212.8125 Q320.8125,214.9063 321.5,215.9844 Q322.1875,217.0469 323.5313,217.0469 Q324.1563,217.0469 324.75,216.7813 Q325.3438,216.5 325.9688,215.9219 L325.9688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="337" y="217.1543">E</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="309" x2="347" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="309" x2="347" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L13" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L13" xlink:show="new" xlink:title="E" xlink:type="simple">
|
||||
<g id="elem_C_0001535300935831802489">
|
||||
<rect codeLine="18" fill="#F1F1F1" height="48" id="C_0001535300935831802489" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="312" y="216"/>
|
||||
<ellipse cx="327" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M322,233.1563 C322,235.6563 324.1406,237.4688 327.0625,237.4688 C328.2969,237.4688 329.4688,237.1719 330.2188,236.6563 C330.8281,236.2344 331.1563,235.8125 331.1563,235.4063 C331.1563,234.9375 330.7344,234.5313 330.2344,234.5313 C330,234.5313 329.7813,234.6094 329.5781,234.8125 C329.1406,235.25 329.1406,235.25 328.9688,235.3438 C328.5156,235.5781 327.875,235.7188 327.1094,235.7188 C325.1094,235.7188 323.8281,234.7031 323.8281,233.125 L323.8281,232.0781 C323.8281,230.375 325.0469,229.1719 326.75,229.1719 C327.3281,229.1719 327.9063,229.3125 328.375,229.5625 C328.8438,229.8281 329.0156,230.0156 329.0781,230.375 C329.2031,231.0469 329.4531,231.2969 329.9844,231.2969 C330.2656,231.2969 330.5469,231.1563 330.7344,230.9375 C330.8594,230.7656 330.9063,230.5938 330.9063,230.1563 L330.9063,228.7969 C330.9063,228.375 330.8906,228.2344 330.7656,228.0625 C330.5938,227.8125 330.3125,227.6563 329.9844,227.6563 C329.6719,227.6563 329.4688,227.7656 329.25,228.0313 C328.0781,227.5313 327.6406,227.4219 326.6875,227.4219 C324.0156,227.4219 322,229.4375 322,232.0625 L322,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="341" y="236.606">E</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="313" x2="352" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="313" x2="352" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L20" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L20" xlink:show="new" xlink:title="F" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001803800465279710134" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="383.5" y="197"/>
|
||||
<ellipse cx="398.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M401.4688,218.6406 Q400.8906,218.9375 400.25,219.0781 Q399.6094,219.2344 398.9063,219.2344 Q396.4063,219.2344 395.0781,217.5938 Q393.7656,215.9375 393.7656,212.8125 Q393.7656,209.6875 395.0781,208.0313 Q396.4063,206.375 398.9063,206.375 Q399.6094,206.375 400.25,206.5313 Q400.9063,206.6875 401.4688,206.9844 L401.4688,209.7031 Q400.8438,209.125 400.25,208.8594 Q399.6563,208.5781 399.0313,208.5781 Q397.6875,208.5781 397,209.6563 Q396.3125,210.7188 396.3125,212.8125 Q396.3125,214.9063 397,215.9844 Q397.6875,217.0469 399.0313,217.0469 Q399.6563,217.0469 400.25,216.7813 Q400.8438,216.5 401.4688,215.9219 L401.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="412.5" y="217.1543">F</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="421.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="421.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L15" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L15" xlink:show="new" xlink:title="F" xlink:type="simple">
|
||||
<g id="elem_C_0001803800465279710134">
|
||||
<rect codeLine="22" fill="#F1F1F1" height="48" id="C_0001803800465279710134" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="388" y="216"/>
|
||||
<ellipse cx="403" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M398,233.1563 C398,235.6563 400.1406,237.4688 403.0625,237.4688 C404.2969,237.4688 405.4688,237.1719 406.2188,236.6563 C406.8281,236.2344 407.1563,235.8125 407.1563,235.4063 C407.1563,234.9375 406.7344,234.5313 406.2344,234.5313 C406,234.5313 405.7813,234.6094 405.5781,234.8125 C405.1406,235.25 405.1406,235.25 404.9688,235.3438 C404.5156,235.5781 403.875,235.7188 403.1094,235.7188 C401.1094,235.7188 399.8281,234.7031 399.8281,233.125 L399.8281,232.0781 C399.8281,230.375 401.0469,229.1719 402.75,229.1719 C403.3281,229.1719 403.9063,229.3125 404.375,229.5625 C404.8438,229.8281 405.0156,230.0156 405.0781,230.375 C405.2031,231.0469 405.4531,231.2969 405.9844,231.2969 C406.2656,231.2969 406.5469,231.1563 406.7344,230.9375 C406.8594,230.7656 406.9063,230.5938 406.9063,230.1563 L406.9063,228.7969 C406.9063,228.375 406.8906,228.2344 406.7656,228.0625 C406.5938,227.8125 406.3125,227.6563 405.9844,227.6563 C405.6719,227.6563 405.4688,227.7656 405.25,228.0313 C404.0781,227.5313 403.6406,227.4219 402.6875,227.4219 C400.0156,227.4219 398,229.4375 398,232.0625 L398,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="417" y="236.606">F</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="389" x2="428" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="389" x2="428" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L23" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L23" xlink:show="new" xlink:title="G" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001135797791892670246" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="197"/>
|
||||
<ellipse cx="472.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M475.4688,218.6406 Q474.8906,218.9375 474.25,219.0781 Q473.6094,219.2344 472.9063,219.2344 Q470.4063,219.2344 469.0781,217.5938 Q467.7656,215.9375 467.7656,212.8125 Q467.7656,209.6875 469.0781,208.0313 Q470.4063,206.375 472.9063,206.375 Q473.6094,206.375 474.25,206.5313 Q474.9063,206.6875 475.4688,206.9844 L475.4688,209.7031 Q474.8438,209.125 474.25,208.8594 Q473.6563,208.5781 473.0313,208.5781 Q471.6875,208.5781 471,209.6563 Q470.3125,210.7188 470.3125,212.8125 Q470.3125,214.9063 471,215.9844 Q471.6875,217.0469 473.0313,217.0469 Q473.6563,217.0469 474.25,216.7813 Q474.8438,216.5 475.4688,215.9219 L475.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="486.5" y="217.1543">G</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L17" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L17" xlink:show="new" xlink:title="G" xlink:type="simple">
|
||||
<g id="elem_C_0001135797791892670246">
|
||||
<rect codeLine="26" fill="#F1F1F1" height="48" id="C_0001135797791892670246" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="43" x="464" y="216"/>
|
||||
<ellipse cx="479" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M474,233.1563 C474,235.6563 476.1406,237.4688 479.0625,237.4688 C480.2969,237.4688 481.4688,237.1719 482.2188,236.6563 C482.8281,236.2344 483.1563,235.8125 483.1563,235.4063 C483.1563,234.9375 482.7344,234.5313 482.2344,234.5313 C482,234.5313 481.7813,234.6094 481.5781,234.8125 C481.1406,235.25 481.1406,235.25 480.9688,235.3438 C480.5156,235.5781 479.875,235.7188 479.1094,235.7188 C477.1094,235.7188 475.8281,234.7031 475.8281,233.125 L475.8281,232.0781 C475.8281,230.375 477.0469,229.1719 478.75,229.1719 C479.3281,229.1719 479.9063,229.3125 480.375,229.5625 C480.8438,229.8281 481.0156,230.0156 481.0781,230.375 C481.2031,231.0469 481.4531,231.2969 481.9844,231.2969 C482.2656,231.2969 482.5469,231.1563 482.7344,230.9375 C482.8594,230.7656 482.9063,230.5938 482.9063,230.1563 L482.9063,228.7969 C482.9063,228.375 482.8906,228.2344 482.7656,228.0625 C482.5938,227.8125 482.3125,227.6563 481.9844,227.6563 C481.6719,227.6563 481.4688,227.7656 481.25,228.0313 C480.0781,227.5313 479.6406,227.4219 478.6875,227.4219 C476.0156,227.4219 474,229.4375 474,232.0625 L474,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="493" y="236.606">G</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="465" x2="506" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="465" x2="506" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L26" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L26" xlink:show="new" xlink:title="H" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001243547836571712317" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="533.5" y="197"/>
|
||||
<ellipse cx="548.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M551.4688,218.6406 Q550.8906,218.9375 550.25,219.0781 Q549.6094,219.2344 548.9063,219.2344 Q546.4063,219.2344 545.0781,217.5938 Q543.7656,215.9375 543.7656,212.8125 Q543.7656,209.6875 545.0781,208.0313 Q546.4063,206.375 548.9063,206.375 Q549.6094,206.375 550.25,206.5313 Q550.9063,206.6875 551.4688,206.9844 L551.4688,209.7031 Q550.8438,209.125 550.25,208.8594 Q549.6563,208.5781 549.0313,208.5781 Q547.6875,208.5781 547,209.6563 Q546.3125,210.7188 546.3125,212.8125 Q546.3125,214.9063 547,215.9844 Q547.6875,217.0469 549.0313,217.0469 Q549.6563,217.0469 550.25,216.7813 Q550.8438,216.5 551.4688,215.9219 L551.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="562.5" y="217.1543">H</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="573.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="573.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L19" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L19" xlink:show="new" xlink:title="H" xlink:type="simple">
|
||||
<g id="elem_C_0001243547836571712317">
|
||||
<rect codeLine="30" fill="#F1F1F1" height="48" id="C_0001243547836571712317" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="42" x="541.5" y="216"/>
|
||||
<ellipse cx="556.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M551.5,233.1563 C551.5,235.6563 553.6406,237.4688 556.5625,237.4688 C557.7969,237.4688 558.9688,237.1719 559.7188,236.6563 C560.3281,236.2344 560.6563,235.8125 560.6563,235.4063 C560.6563,234.9375 560.2344,234.5313 559.7344,234.5313 C559.5,234.5313 559.2813,234.6094 559.0781,234.8125 C558.6406,235.25 558.6406,235.25 558.4688,235.3438 C558.0156,235.5781 557.375,235.7188 556.6094,235.7188 C554.6094,235.7188 553.3281,234.7031 553.3281,233.125 L553.3281,232.0781 C553.3281,230.375 554.5469,229.1719 556.25,229.1719 C556.8281,229.1719 557.4063,229.3125 557.875,229.5625 C558.3438,229.8281 558.5156,230.0156 558.5781,230.375 C558.7031,231.0469 558.9531,231.2969 559.4844,231.2969 C559.7656,231.2969 560.0469,231.1563 560.2344,230.9375 C560.3594,230.7656 560.4063,230.5938 560.4063,230.1563 L560.4063,228.7969 C560.4063,228.375 560.3906,228.2344 560.2656,228.0625 C560.0938,227.8125 559.8125,227.6563 559.4844,227.6563 C559.1719,227.6563 558.9688,227.7656 558.75,228.0313 C557.5781,227.5313 557.1406,227.4219 556.1875,227.4219 C553.5156,227.4219 551.5,229.4375 551.5,232.0625 L551.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="570.5" y="236.606">H</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="542.5" x2="582.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="542.5" x2="582.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L29" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L29" xlink:show="new" xlink:title="I" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0000387733199705628658" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="609.5" y="197"/>
|
||||
<ellipse cx="624.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M627.4688,218.6406 Q626.8906,218.9375 626.25,219.0781 Q625.6094,219.2344 624.9063,219.2344 Q622.4063,219.2344 621.0781,217.5938 Q619.7656,215.9375 619.7656,212.8125 Q619.7656,209.6875 621.0781,208.0313 Q622.4063,206.375 624.9063,206.375 Q625.6094,206.375 626.25,206.5313 Q626.9063,206.6875 627.4688,206.9844 L627.4688,209.7031 Q626.8438,209.125 626.25,208.8594 Q625.6563,208.5781 625.0313,208.5781 Q623.6875,208.5781 623,209.6563 Q622.3125,210.7188 622.3125,212.8125 Q622.3125,214.9063 623,215.9844 Q623.6875,217.0469 625.0313,217.0469 Q625.6563,217.0469 626.25,216.7813 Q626.8438,216.5 627.4688,215.9219 L627.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="638.5" y="217.1543">I</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="643.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="643.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L21" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L21" xlink:show="new" xlink:title="I" xlink:type="simple">
|
||||
<g id="elem_C_0000387733199705628658">
|
||||
<rect codeLine="34" fill="#F1F1F1" height="48" id="C_0000387733199705628658" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="36" x="618.5" y="216"/>
|
||||
<ellipse cx="633.5" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M628.5,233.1563 C628.5,235.6563 630.6406,237.4688 633.5625,237.4688 C634.7969,237.4688 635.9688,237.1719 636.7188,236.6563 C637.3281,236.2344 637.6563,235.8125 637.6563,235.4063 C637.6563,234.9375 637.2344,234.5313 636.7344,234.5313 C636.5,234.5313 636.2813,234.6094 636.0781,234.8125 C635.6406,235.25 635.6406,235.25 635.4688,235.3438 C635.0156,235.5781 634.375,235.7188 633.6094,235.7188 C631.6094,235.7188 630.3281,234.7031 630.3281,233.125 L630.3281,232.0781 C630.3281,230.375 631.5469,229.1719 633.25,229.1719 C633.8281,229.1719 634.4063,229.3125 634.875,229.5625 C635.3438,229.8281 635.5156,230.0156 635.5781,230.375 C635.7031,231.0469 635.9531,231.2969 636.4844,231.2969 C636.7656,231.2969 637.0469,231.1563 637.2344,230.9375 C637.3594,230.7656 637.4063,230.5938 637.4063,230.1563 L637.4063,228.7969 C637.4063,228.375 637.3906,228.2344 637.2656,228.0625 C637.0938,227.8125 636.8125,227.6563 636.4844,227.6563 C636.1719,227.6563 635.9688,227.7656 635.75,228.0313 C634.5781,227.5313 634.1406,227.4219 633.1875,227.4219 C630.5156,227.4219 628.5,229.4375 628.5,232.0625 L628.5,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="647.5" y="236.606">I</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="619.5" x2="653.5" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="619.5" x2="653.5" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L32" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L32" xlink:show="new" xlink:title="J" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0000747991828672433537" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="679.5" y="197"/>
|
||||
<ellipse cx="694.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M697.4688,218.6406 Q696.8906,218.9375 696.25,219.0781 Q695.6094,219.2344 694.9063,219.2344 Q692.4063,219.2344 691.0781,217.5938 Q689.7656,215.9375 689.7656,212.8125 Q689.7656,209.6875 691.0781,208.0313 Q692.4063,206.375 694.9063,206.375 Q695.6094,206.375 696.25,206.5313 Q696.9063,206.6875 697.4688,206.9844 L697.4688,209.7031 Q696.8438,209.125 696.25,208.8594 Q695.6563,208.5781 695.0313,208.5781 Q693.6875,208.5781 693,209.6563 Q692.3125,210.7188 692.3125,212.8125 Q692.3125,214.9063 693,215.9844 Q693.6875,217.0469 695.0313,217.0469 Q695.6563,217.0469 696.25,216.7813 Q696.8438,216.5 697.4688,215.9219 L697.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="708.5" y="217.1543">J</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="680.5" x2="713.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="680.5" x2="713.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L23" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L23" xlink:show="new" xlink:title="J" xlink:type="simple">
|
||||
<g id="elem_C_0000747991828672433537">
|
||||
<rect codeLine="38" fill="#F1F1F1" height="48" id="C_0000747991828672433537" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="39" x="690" y="216"/>
|
||||
<ellipse cx="705" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M700,233.1563 C700,235.6563 702.1406,237.4688 705.0625,237.4688 C706.2969,237.4688 707.4688,237.1719 708.2188,236.6563 C708.8281,236.2344 709.1563,235.8125 709.1563,235.4063 C709.1563,234.9375 708.7344,234.5313 708.2344,234.5313 C708,234.5313 707.7813,234.6094 707.5781,234.8125 C707.1406,235.25 707.1406,235.25 706.9688,235.3438 C706.5156,235.5781 705.875,235.7188 705.1094,235.7188 C703.1094,235.7188 701.8281,234.7031 701.8281,233.125 L701.8281,232.0781 C701.8281,230.375 703.0469,229.1719 704.75,229.1719 C705.3281,229.1719 705.9063,229.3125 706.375,229.5625 C706.8438,229.8281 707.0156,230.0156 707.0781,230.375 C707.2031,231.0469 707.4531,231.2969 707.9844,231.2969 C708.2656,231.2969 708.5469,231.1563 708.7344,230.9375 C708.8594,230.7656 708.9063,230.5938 708.9063,230.1563 L708.9063,228.7969 C708.9063,228.375 708.8906,228.2344 708.7656,228.0625 C708.5938,227.8125 708.3125,227.6563 707.9844,227.6563 C707.6719,227.6563 707.4688,227.7656 707.25,228.0313 C706.0781,227.5313 705.6406,227.4219 704.6875,227.4219 C702.0156,227.4219 700,229.4375 700,232.0625 L700,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="7" x="719" y="236.606">J</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="691" x2="728" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="691" x2="728" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L35" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L35" xlink:show="new" xlink:title="K" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="48" id="C_0001783571342994833467" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="749.5" y="197"/>
|
||||
<ellipse cx="764.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M767.4688,218.6406 Q766.8906,218.9375 766.25,219.0781 Q765.6094,219.2344 764.9063,219.2344 Q762.4063,219.2344 761.0781,217.5938 Q759.7656,215.9375 759.7656,212.8125 Q759.7656,209.6875 761.0781,208.0313 Q762.4063,206.375 764.9063,206.375 Q765.6094,206.375 766.25,206.5313 Q766.9063,206.6875 767.4688,206.9844 L767.4688,209.7031 Q766.8438,209.125 766.25,208.8594 Q765.6563,208.5781 765.0313,208.5781 Q763.6875,208.5781 763,209.6563 Q762.3125,210.7188 762.3125,212.8125 Q762.3125,214.9063 763,215.9844 Q763.6875,217.0469 765.0313,217.0469 Q765.6563,217.0469 766.25,216.7813 Q766.8438,216.5 767.4688,215.9219 L767.4688,218.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="778.5" y="217.1543">K</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="750.5" x2="787.5" y1="229" y2="229"/>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="750.5" x2="787.5" y1="237" y2="237"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L25" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L25" xlink:show="new" xlink:title="K" xlink:type="simple">
|
||||
<g id="elem_C_0001783571342994833467">
|
||||
<rect codeLine="42" fill="#F1F1F1" height="48" id="C_0001783571342994833467" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="41" x="764" y="216"/>
|
||||
<ellipse cx="779" cy="232" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M774,233.1563 C774,235.6563 776.1406,237.4688 779.0625,237.4688 C780.2969,237.4688 781.4688,237.1719 782.2188,236.6563 C782.8281,236.2344 783.1563,235.8125 783.1563,235.4063 C783.1563,234.9375 782.7344,234.5313 782.2344,234.5313 C782,234.5313 781.7813,234.6094 781.5781,234.8125 C781.1406,235.25 781.1406,235.25 780.9688,235.3438 C780.5156,235.5781 779.875,235.7188 779.1094,235.7188 C777.1094,235.7188 775.8281,234.7031 775.8281,233.125 L775.8281,232.0781 C775.8281,230.375 777.0469,229.1719 778.75,229.1719 C779.3281,229.1719 779.9063,229.3125 780.375,229.5625 C780.8438,229.8281 781.0156,230.0156 781.0781,230.375 C781.2031,231.0469 781.4531,231.2969 781.9844,231.2969 C782.2656,231.2969 782.5469,231.1563 782.7344,230.9375 C782.8594,230.7656 782.9063,230.5938 782.9063,230.1563 L782.9063,228.7969 C782.9063,228.375 782.8906,228.2344 782.7656,228.0625 C782.5938,227.8125 782.3125,227.6563 781.9844,227.6563 C781.6719,227.6563 781.4688,227.7656 781.25,228.0313 C780.0781,227.5313 779.6406,227.4219 778.6875,227.4219 C776.0156,227.4219 774,229.4375 774,232.0625 L774,233.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="793" y="236.606">K</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="765" x2="804" y1="248" y2="248"/>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="765" x2="804" y1="256" y2="256"/>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L38" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L38" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<rect fill="#FEFECE" filter="url(#fhxzdem6t3o5e)" height="112.0234" id="C_0000287495916564113342" style="stroke: #A80036; stroke-width: 1.5;" width="515" x="128.5" y="8"/>
|
||||
<ellipse cx="377.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M380.7188,29.6406 Q380.1406,29.9375 379.5,30.0781 Q378.8594,30.2344 378.1563,30.2344 Q375.6563,30.2344 374.3281,28.5938 Q373.0156,26.9375 373.0156,23.8125 Q373.0156,20.6875 374.3281,19.0313 Q375.6563,17.375 378.1563,17.375 Q378.8594,17.375 379.5,17.5313 Q380.1563,17.6875 380.7188,17.9844 L380.7188,20.7031 Q380.0938,20.125 379.5,19.8594 Q378.9063,19.5781 378.2813,19.5781 Q376.9375,19.5781 376.25,20.6563 Q375.5625,21.7188 375.5625,23.8125 Q375.5625,25.9063 376.25,26.9844 Q376.9375,28.0469 378.2813,28.0469 Q378.9063,28.0469 379.5,27.7813 Q380.0938,27.5 380.7188,26.9219 L380.7188,29.6406 Z "/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="398.25" y="28.1543">R</text>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129.5" x2="642.5" y1="40" y2="40"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L27" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L27" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<g id="elem_C_0000287495916564113342">
|
||||
<rect codeLine="46" fill="#F1F1F1" height="131.9996" id="C_0000287495916564113342" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="402" x="207.5" y="7"/>
|
||||
<ellipse cx="399.25" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<path d="M394.25,24.1563 C394.25,26.6563 396.3906,28.4688 399.3125,28.4688 C400.5469,28.4688 401.7188,28.1719 402.4688,27.6563 C403.0781,27.2344 403.4063,26.8125 403.4063,26.4063 C403.4063,25.9375 402.9844,25.5313 402.4844,25.5313 C402.25,25.5313 402.0313,25.6094 401.8281,25.8125 C401.3906,26.25 401.3906,26.25 401.2188,26.3438 C400.7656,26.5781 400.125,26.7188 399.3594,26.7188 C397.3594,26.7188 396.0781,25.7031 396.0781,24.125 L396.0781,23.0781 C396.0781,21.375 397.2969,20.1719 399,20.1719 C399.5781,20.1719 400.1563,20.3125 400.625,20.5625 C401.0938,20.8281 401.2656,21.0156 401.3281,21.375 C401.4531,22.0469 401.7031,22.2969 402.2344,22.2969 C402.5156,22.2969 402.7969,22.1563 402.9844,21.9375 C403.1094,21.7656 403.1563,21.5938 403.1563,21.1563 L403.1563,19.7969 C403.1563,19.375 403.1406,19.2344 403.0156,19.0625 C402.8438,18.8125 402.5625,18.6563 402.2344,18.6563 C401.9219,18.6563 401.7188,18.7656 401.5,19.0313 C400.3281,18.5313 399.8906,18.4219 398.9375,18.4219 C396.2656,18.4219 394.25,20.4375 394.25,23.0625 L394.25,24.1563 Z " fill="#000000"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="10" x="419.75" y="27.606">R</text>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="208.5" x2="608.5" y1="39" y2="39"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L28" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L28" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="213.5" y="47.9"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="215.5" y="49.9"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L28" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L28" xlink:show="new" xlink:title="R" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="376" x="227.5" y="56.0059">R(int & some_int, C & cc, const E & ee, F && ff, I *& ii) : void</text>
|
||||
</a>
|
||||
<line style="stroke:#181818;stroke-width:0.5;" x1="208.5" x2="608.5" y1="63.7999" y2="63.7999"/>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L38" xlink:show="new" xlink:title="some_int" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="213.5" y="72.6999"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="215.5" y="74.6999"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L38" xlink:show="new" xlink:title="some_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="227.5" y="80.8059">some_int : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L39" xlink:show="new" xlink:title="some_int_pointer" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="213.5" y="89.4998"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="215.5" y="91.4998"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L39" xlink:show="new" xlink:title="some_int_pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="227.5" y="97.6058">some_int_pointer : int *</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L40" xlink:show="new" xlink:title="some_int_pointer_pointer" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="213.5" y="106.2997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="215.5" y="108.2997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L40" xlink:show="new" xlink:title="some_int_pointer_pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="203" x="227.5" y="114.4057">some_int_pointer_pointer : int **</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L41" xlink:show="new" xlink:title="some_int_reference" xlink:type="simple">
|
||||
<rect fill="#F1F1F1" height="10" style="stroke:none;stroke-width:1.0;" width="20" x="213.5" y="123.0997"/>
|
||||
<rect fill="none" height="6" style="stroke:#C82930;stroke-width:1.0;" width="6" x="215.5" y="125.0997"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L41" xlink:show="new" xlink:title="some_int_reference" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="167" x="227.5" y="131.2057">some_int_reference : int &</text>
|
||||
</a>
|
||||
</g>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L49" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L49" xlink:show="new" xlink:title="some_int" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134.5" y="46"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="48"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L49" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L49" xlink:show="new" xlink:title="some_int" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="148.5" y="54.2104">some_int : int</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L50" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L50" xlink:show="new" xlink:title="some_int_pointer" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134.5" y="58.8047"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="60.8047"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L50" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L50" xlink:show="new" xlink:title="some_int_pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="148.5" y="67.0151">some_int_pointer : int *</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L51" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L51" xlink:show="new" xlink:title="some_int_pointer_pointer" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134.5" y="71.6094"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="73.6094"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L51" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L51" xlink:show="new" xlink:title="some_int_pointer_pointer" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="148.5" y="79.8198">some_int_pointer_pointer : int **</text>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L52" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L52" xlink:show="new" xlink:title="some_int_reference" xlink:type="simple">
|
||||
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134.5" y="84.4141"/>
|
||||
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="86.4141"/>
|
||||
</a>
|
||||
<a href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L52" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/993726299647bf4dab2ef054bb756539c4f18ffe/tests/t00017/t00017.cc#L52" xlink:show="new" xlink:title="some_int_reference" xlink:type="simple">
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="148.5" y="92.6245">some_int_reference : int &</text>
|
||||
</a>
|
||||
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129.5" x2="642.5" y1="99.2188" y2="99.2188"/>
|
||||
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="107.2188"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="489" x="148.5" y="113.4292">R(int & some_int, class C & cc, const class E & ee, class F && ff, class I *& ii) : void</text>
|
||||
<path d="M190.44,120.02 C179.59,128.61 169.91,138.53 162,150 C153.6,162.17 156.07,178.21 161.11,191.86 " fill="none" id="C_0000287495916564113342->C_0002151170391844743478" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="#A80036" points="163.06,196.77,163.4575,186.9292,161.2154,192.1227,156.0218,189.8806,163.06,196.77" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M297.03,120.16 C282.72,129.76 268.27,139.91 255,150 C235.64,164.73 215.11,183 199.84,197.19 " fill="none" id="C_0000287495916564113342->C_0002151170391844743478-1" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="196.07,200.7,205.385,197.5015,199.7319,197.2956,199.9379,191.6424,196.07,200.7" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="256" y="163.0669">-c</text>
|
||||
<path d="M328.46,120.3 C321.75,129.55 315.91,139.56 312,150 C306.98,163.4 309.68,178.85 314.18,191.83 " fill="none" id="C_0000287495916564113342->C_0001535300935831802489" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="#A80036" points="316.06,196.85,316.6452,187.0185,314.3044,192.1684,309.1546,189.8275,316.06,196.85" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M365.39,120.08 C356.32,144.31 346.06,171.73 338.59,191.71 " fill="none" id="C_0000287495916564113342->C_0001535300935831802489-1" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="336.75,196.62,343.6366,189.5791,338.4931,191.9337,336.1385,186.7901,336.75,196.62" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="355" y="163.0669">-e</text>
|
||||
<path d="M392.04,120.08 C394.69,144.21 397.68,171.5 399.87,191.46 " fill="none" id="C_0000287495916564113342->C_0001803800465279710134" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="#A80036" points="400.44,196.62,403.4128,187.2305,399.8831,191.6511,395.4625,188.1215,400.44,196.62" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M402.61,133.18 C403.57,138.85 404.39,144.5 405,150 C405.83,157.51 405.14,159.45 405,167 C404.82,176.76 404.44,187.52 404.07,196.79 " fill="none" id="C_0000287495916564113342<-C_0001803800465279710134" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="400.15,120.03,397.3198,126.6625,402.3535,131.826,405.1837,125.1935,400.15,120.03" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="9" x="407" y="163.0669">-f</text>
|
||||
<path d="M472.34,120.01 C509.26,143.62 552.81,171.57 592,197 C596.21,199.73 600.69,202.66 604.99,205.48 " fill="none" id="C_0000287495916564113342->C_0000387733199705628658" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
|
||||
<polygon fill="#A80036" points="609.22,208.26,603.8846,199.9815,605.0379,205.5195,599.4999,206.6728,609.22,208.26" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<path d="M511.39,120.16 C527.93,129.27 544.24,139.28 559,150 C576.42,162.65 593.29,179.99 605.88,194.24 " fill="none" id="C_0000287495916564113342->C_0000387733199705628658-1" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="609.31,198.17,606.414,188.7565,606.0256,194.4,600.3821,194.0116,609.31,198.17" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="579" y="163.0669">-i</text>
|
||||
<path d="M147.8,125.11 C130.52,132.54 113.72,140.81 98,150 C77.23,162.14 57.93,181.54 44.55,196.83 " fill="none" id="C_0000287495916564113342<-C_0000121332093434690887" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#FFFFFF" points="159.84,120.11,152.7631,118.7254,148.7631,124.7254,155.84,126.11,159.84,120.11" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="99" y="163.0669">-a</text>
|
||||
<path d="M176.58,120.06 C161.28,128.65 146.84,138.56 134,150 C121.56,161.08 113.43,177.85 108.35,192.19 " fill="none" id="C_0000287495916564113342->C_0001424864837456200487" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="106.75,196.95,113.4236,189.7069,108.3526,192.2138,105.8457,187.1427,106.75,196.95" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="135" y="163.0669">-b</text>
|
||||
<path d="M314.7,120.06 C304.75,129.44 295.15,139.55 287,150 C277.1,162.69 268.87,178.62 262.88,192.08 " fill="none" id="C_0000287495916564113342->C_0001378112127131766972" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="260.78,196.92,268.0444,190.2695,262.7788,192.3369,260.7115,187.0714,260.78,196.92" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="288" y="163.0669">-d</text>
|
||||
<path d="M418.69,120.08 C433.2,144.51 449.63,172.2 461.51,192.22 " fill="none" id="C_0000287495916564113342->C_0001135797791892670246" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="464.13,196.62,462.9678,186.84,461.5743,192.3225,456.0918,190.929,464.13,196.62" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="447" y="163.0669">-g</text>
|
||||
<path d="M445.7,120.08 C474.59,146.73 507.67,177.26 529.59,197.48 " fill="none" id="C_0000287495916564113342->C_0001243547836571712317" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="533.28,200.88,529.3755,191.8382,529.6043,197.4904,523.9521,197.7192,533.28,200.88" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="496" y="163.0669">-h</text>
|
||||
<path d="M533.93,120.04 C555.11,129.31 576.36,139.39 596,150 C624.74,165.53 655.23,187.52 675.1,202.69 " fill="none" id="C_0000287495916564113342->C_0000747991828672433537" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="679.17,205.82,674.4737,197.1629,675.2063,202.7721,669.5971,203.5048,679.17,205.82" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="624" y="163.0669">-j</text>
|
||||
<path d="M562.91,120.01 C589.34,129.36 616.06,139.48 641,150 C682.94,167.69 692.42,174.52 732,197 C736.15,199.36 740.51,201.95 744.72,204.52 " fill="none" id="C_0000287495916564113342->C_0001783571342994833467" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<polygon fill="#A80036" points="749.2,207.29,743.6436,199.1582,744.9456,204.6631,739.4407,205.9652,749.2,207.29" style="stroke: #A80036; stroke-width: 1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="680" y="163.0669">-k</text>
|
||||
<g id="link_C_0000287495916564113342_C_0000121332093434690887">
|
||||
<path codeLine="54" d="M224.9586,143.8818 C169.6686,166.4318 119.82,188.46 65.5,216 C59.86,218.86 53.93,222.25 48.48,225.53 " fill="none" id="C_0000287495916564113342-backto-C_0000121332093434690887" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="236.07,139.35,229.0037,137.9121,224.9586,143.8818,232.0249,145.3197,236.07,139.35" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="159.5" y="182.077">-a</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001424864837456200487">
|
||||
<path codeLine="55" d="M282.08,139.4 C237.37,163 186.92,190.2 141.5,216 C135.87,219.2 134.9752,219.6767 129.4152,223.0367 " fill="none" id="C_0000287495916564113342-to-C_0001424864837456200487" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="124.28,226.14,134.0516,224.9085,128.5593,223.554,129.9139,218.0617,124.28,226.14" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="223.5" y="182.077">-b</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0002151170391844743478">
|
||||
<path codeLine="56" d="M317.66,139.45 C274.96,170.22 232.5278,200.7923 205.8278,220.0323 " fill="none" id="C_0000287495916564113342-to-C_0002151170391844743478" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="200.96,223.54,210.6002,221.5236,205.0165,220.6169,205.9232,215.0332,200.96,223.54" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="274.5" y="182.077">-c</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001378112127131766972">
|
||||
<path codeLine="57" d="M348.43,139.21 C323.53,166.24 300.3149,191.4368 281.9949,211.3268 " fill="none" id="C_0000287495916564113342-to-C_0001378112127131766972" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="277.93,215.74,286.9695,211.8301,281.3174,212.0623,281.0852,206.4102,277.93,215.74" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="320.5" y="182.077">-d</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001535300935831802489">
|
||||
<path codeLine="58" d="M378.46,139.21 C366.02,166.24 354.8798,190.4002 345.7198,210.2902 " fill="none" id="C_0000287495916564113342-to-C_0001535300935831802489" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="343.21,215.74,350.608,209.2385,345.3015,211.1985,343.3415,205.892,343.21,215.74" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="365.5" y="182.077">-e</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001803800465279710134">
|
||||
<path codeLine="59" d="M408.5,151.21 C408.5,178.24 408.5,195.85 408.5,215.74 " fill="none" id="C_0000287495916564113342-backto-C_0001803800465279710134" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="none" points="408.5,139.21,404.5,145.21,408.5,151.21,412.5,145.21,408.5,139.21" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="409.5" y="182.077">-f</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001135797791892670246">
|
||||
<path codeLine="60" d="M438.93,139.21 C451.54,166.24 462.8209,190.4137 472.1109,210.3037 " fill="none" id="C_0000287495916564113342-to-C_0001135797791892670246" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="474.65,215.74,474.4655,205.8929,472.5341,211.2098,467.2172,209.2783,474.65,215.74" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="462.5" y="182.077">-g</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001243547836571712317">
|
||||
<path codeLine="61" d="M469.36,139.21 C494.76,166.42 518.5066,191.8632 537.0666,211.7532 " fill="none" id="C_0000287495916564113342-to-C_0001243547836571712317" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="541.16,216.14,537.9444,206.8309,537.7488,212.4844,532.0953,212.2888,541.16,216.14" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="514.5" y="182.077">-h</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0000387733199705628658">
|
||||
<path codeLine="62" d="M498.94,139.45 C543.2,171.48 587.5594,203.5823 613.4394,222.3123 " fill="none" id="C_0000287495916564113342-to-C_0000387733199705628658" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="618.3,225.83,613.3543,217.313,614.2495,222.8985,608.6639,223.7938,618.3,225.83" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="7" x="564.5" y="182.077">-i</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0000747991828672433537">
|
||||
<path codeLine="63" d="M532.62,139.4 C576.73,163.06 626.57,190.3 671.5,216 C677.52,219.45 678.8813,220.1961 684.7613,223.7661 " fill="none" id="C_0000287495916564113342-to-C_0000747991828672433537" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="689.89,226.88,684.2728,218.79,685.6161,224.2851,680.121,225.6283,689.89,226.88" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="7" x="615.5" y="182.077">-j</text>
|
||||
</g>
|
||||
<g id="link_C_0000287495916564113342_C_0001783571342994833467">
|
||||
<path codeLine="64" d="M577.9,139.47 C632.5,162.07 692.76,188.63 746.5,216 C752.13,218.87 752.9192,219.1661 758.3692,222.4461 " fill="none" id="C_0000287495916564113342-to-C_0001783571342994833467" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<polygon fill="#181818" points="763.51,225.54,757.8614,217.4719,759.226,222.9617,753.7362,224.3263,763.51,225.54" style="stroke:#181818;stroke-width:1.0;"/>
|
||||
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="11" x="684.5" y="182.077">-k</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 38 KiB |
450
docs/test_cases/t00017_class_mermaid.svg
Normal file
@@ -0,0 +1,450 @@
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 796.640625 308" style="max-width: 796.641px; background-color: white;" width="796.640625" id="my-svg">
|
||||
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
||||
<g>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="my-svg_classDiagram-aggregationEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="my-svg_classDiagram-extensionStart">
|
||||
<path d="M 1,7 L18,13 V 1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="my-svg_classDiagram-extensionEnd">
|
||||
<path d="M 1,1 V 13 L18,7 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="my-svg_classDiagram-compositionStart">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="my-svg_classDiagram-compositionEnd">
|
||||
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyStart">
|
||||
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="my-svg_classDiagram-dependencyEnd">
|
||||
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopStart">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<defs>
|
||||
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="my-svg_classDiagram-lollipopEnd">
|
||||
<circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g class="root">
|
||||
<g class="clusters"/>
|
||||
<g class="edgePaths">
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M157.68208786076138,166.93757480878676L134.94861488396782,173.9479790073223C112.21514190717426,180.9583832058578,66.74819595358713,194.97919160292892,44.014722976793564,207.65626246813113C21.28125,220.33333333333334,21.28125,231.66666666666666,21.28125,237.33333333333334L21.28125,243"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M185.94534574468085,175L171.2617464539007,180.66666666666666C156.57814716312058,186.33333333333334,127.21094858156027,197.66666666666666,112.52734929078014,208C97.84375,218.33333333333334,97.84375,227.66666666666666,97.84375,232.33333333333334L97.84375,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M240.3535904255319,175L229.36236702127658,180.66666666666666C218.3711436170213,186.33333333333334,196.38869680851064,197.66666666666666,185.3974734042553,208C174.40625,218.33333333333334,174.40625,227.66666666666666,174.40625,232.33333333333334L174.40625,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M294.761835106383,175L287.4629875886525,180.66666666666666C280.164140070922,186.33333333333334,265.56644503546096,197.66666666666666,258.2675975177305,208C250.96875,218.33333333333334,250.96875,227.66666666666666,250.96875,232.33333333333334L250.96875,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id5" d="M348.85362367021276,175L345.22567597517735,180.66666666666666C341.59772828014184,186.33333333333334,334.3418328900709,197.66666666666666,330.71388519503546,208C327.0859375,218.33333333333334,327.0859375,227.66666666666666,327.0859375,232.33333333333334L327.0859375,237"/>
|
||||
<path marker-start="url(#my-svg_classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id6" d="M402.3125,193L402.3125,195.66666666666666C402.3125,198.33333333333334,402.3125,203.66666666666666,402.3125,212C402.3125,220.33333333333334,402.3125,231.66666666666666,402.3125,237.33333333333334L402.3125,243"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id7" d="M456.40428856382977,175L460.0751883865248,180.66666666666666C463.74608820921986,186.33333333333334,471.08788785460996,197.66666666666666,474.75878767730495,208C478.4296875,218.33333333333334,478.4296875,227.66666666666666,478.4296875,232.33333333333334L478.4296875,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id8" d="M511.1289893617021,175L518.5137411347517,180.66666666666666C525.8984929078014,186.33333333333334,540.6679964539007,197.66666666666666,548.0527482269504,208C555.4375,218.33333333333334,555.4375,227.66666666666666,555.4375,232.33333333333334L555.4375,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id9" d="M563.0111369680851,175L573.916832890071,180.66666666666666C584.8225288120567,186.33333333333334,606.6339206560284,197.66666666666666,617.5396165780143,208C628.4453125,218.33333333333334,628.4453125,227.66666666666666,628.4453125,232.33333333333334L628.4453125,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id10" d="M613.9494680851064,175L628.3120567375887,180.66666666666666C642.674645390071,186.33333333333334,671.3998226950355,197.66666666666666,685.7624113475177,208C700.125,218.33333333333334,700.125,227.66666666666666,700.125,232.33333333333334L700.125,237"/>
|
||||
<path marker-end="url(#my-svg_classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-solid relation" id="id11" d="M629.7421875,163.13439790575916L654.01171875,170.77866492146597C678.28125,178.42293193717276,726.8203125,193.7114659685864,751.08984375,206.02239965095987C775.359375,218.33333333333334,775.359375,227.66666666666666,775.359375,232.33333333333334L775.359375,237"/>
|
||||
</g>
|
||||
<g class="edgeLabels">
|
||||
<g transform="translate(21.28125, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-a</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(97.84375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-b</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(174.40625, 209)" class="edgeLabel">
|
||||
<g transform="translate(-6.6640625, -9)" class="label">
|
||||
<foreignObject height="18" width="13.328125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-c</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(250.96875, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-d</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(327.0859375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-e</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(402.3125, 209)" class="edgeLabel">
|
||||
<g transform="translate(-4.890625, -9)" class="label">
|
||||
<foreignObject height="18" width="9.78125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-f</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(478.4296875, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-g</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(555.4375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-7.1171875, -9)" class="label">
|
||||
<foreignObject height="18" width="14.234375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-h</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(628.4453125, 209)" class="edgeLabel">
|
||||
<g transform="translate(-4.4453125, -9)" class="label">
|
||||
<foreignObject height="18" width="8.890625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-i</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(700.125, 209)" class="edgeLabel">
|
||||
<g transform="translate(-4.4453125, -9)" class="label">
|
||||
<foreignObject height="18" width="8.890625">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-j</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(775.359375, 209)" class="edgeLabel">
|
||||
<g transform="translate(-6.6640625, -9)" class="label">
|
||||
<foreignObject height="18" width="13.328125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="edgeLabel">
|
||||
<span class="edgeLabel">-k</span>
|
||||
</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="nodes">
|
||||
<a transform="translate(21.28125, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L5">
|
||||
<g title="A" id="classId-C_0000121332093434690887-0" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">A</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(97.84375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L7">
|
||||
<g title="B" id="classId-C_0001424864837456200487-1" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">B</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(174.40625, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L9">
|
||||
<g title="C" id="classId-C_0002151170391844743478-2" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">C</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(250.96875, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L11">
|
||||
<g title="D" id="classId-C_0001378112127131766972-3" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">D</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(327.0859375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L13">
|
||||
<g title="E" id="classId-C_0001535300935831802489-4" class="node default clickable">
|
||||
<rect height="57" width="25.671875" y="-28.5" x="-12.8359375" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="12.8359375" x1="-12.8359375" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="12.8359375" x1="-12.8359375" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.3359375, -21)" height="18" width="10.671875" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">E</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(402.3125, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L15">
|
||||
<g title="F" id="classId-C_0001803800465279710134-5" class="node default clickable">
|
||||
<rect height="57" width="24.78125" y="-28.5" x="-12.390625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="12.390625" x1="-12.390625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="12.390625" x1="-12.390625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -4.890625, -21)" height="18" width="9.78125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">F</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(478.4296875, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L17">
|
||||
<g title="G" id="classId-C_0001135797791892670246-6" class="node default clickable">
|
||||
<rect height="57" width="27.453125" y="-28.5" x="-13.7265625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.7265625" x1="-13.7265625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.7265625" x1="-13.7265625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -6.2265625, -21)" height="18" width="12.453125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">G</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(555.4375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L19">
|
||||
<g title="H" id="classId-C_0001243547836571712317-7" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">H</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(628.4453125, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L21">
|
||||
<g title="I" id="classId-C_0000387733199705628658-8" class="node default clickable">
|
||||
<rect height="57" width="19.453125" y="-28.5" x="-9.7265625" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="9.7265625" x1="-9.7265625" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="9.7265625" x1="-9.7265625" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -2.2265625, -21)" height="18" width="4.453125" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">I</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(700.125, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L23">
|
||||
<g title="J" id="classId-C_0000747991828672433537-9" class="node default clickable">
|
||||
<rect height="57" width="23.90625" y="-28.5" x="-11.953125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="11.953125" x1="-11.953125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="11.953125" x1="-11.953125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -4.453125, -21)" height="18" width="8.90625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">J</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(775.359375, 271.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L25">
|
||||
<g title="K" id="classId-C_0001783571342994833467-10" class="node default clickable">
|
||||
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
|
||||
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -21)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">K</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
<a transform="translate(402.3125, 91.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t00017/t00017.cc#L27">
|
||||
<g title="R" id="classId-C_0000287495916564113342-11" class="node default clickable">
|
||||
<rect height="167" width="454.859375" y="-83.5" x="-227.4296875" class="outer title-state"/>
|
||||
<line y2="-53.5" y1="-53.5" x2="227.4296875" x1="-227.4296875" class="divider"/>
|
||||
<line y2="50.5" y1="50.5" x2="227.4296875" x1="-227.4296875" class="divider"/>
|
||||
<g class="label">
|
||||
<foreignObject height="0" width="0">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel"/>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -5.78125, -76)" height="18" width="11.5625" class="classTitle">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">R</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -219.9296875, -42)" height="18" width="100.484375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-some_int : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -219.9296875, -20)" height="18" width="158.3125">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">-some_int_pointer : int</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -219.9296875, 2)" height="18" width="226.796875">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
||||
<span style="font-style:italic;" class="nodeLabel">-some_int_pointer_pointer : int *</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -219.9296875, 24)" height="18" width="192.09375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-some_int_reference : int &</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<foreignObject transform="translate( -219.9296875, 58)" height="18" width="439.859375">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
||||
<span class="nodeLabel">-R(int & some_int, C & cc, const E & ee, F && ff, I *& ii) : : void</span>
|
||||
</div>
|
||||
</foreignObject>
|
||||
</g>
|
||||
</g>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 31 KiB |