Compare commits

...

380 Commits

Author SHA1 Message Date
Bartek Kryza
66612fb244 Updated CHANGELOG 2023-08-05 19:52:23 +02:00
Bartek Kryza
301d424fce Updated test cases documentation 2023-08-05 19:34:03 +02:00
Bartek Kryza
2e1013c12f Added option to skip redundant dependency relationships 2023-08-05 19:06:00 +02:00
Bartek Kryza
f6efb7941f Added option to exclude dependencies from template arguments (Fixes #141) 2023-08-02 00:04:11 +02:00
Bartek Kryza
c119a622fa Refactored generator inheritance hierarchy 2023-08-01 00:53:41 +02:00
Bartek Kryza
eded9f4292 Fixed template API warning 2023-07-24 19:41:04 +02:00
Bartek Kryza
9df58ca251 Merge pull request #171 from bkryza/add-configuration-file-validation
Add configuration file validation
2023-07-23 18:59:12 +02:00
Bartek Kryza
bcd32bfd41 Fixed building on MSVC 2023-07-23 18:34:03 +02:00
Bartek Kryza
366bb19912 Minor configuration schema updates 2023-07-23 17:07:22 +02:00
Bartek Kryza
18c4031047 Added schema validation command line flags 2023-07-23 13:12:17 +02:00
Bartek Kryza
ec0079d876 Added include/exclude filter specification to validator schema 2023-07-23 01:22:14 +02:00
Bartek Kryza
8dc0dacd3f Added initial configuration file schema validation 2023-07-22 18:39:07 +02:00
Bartek Kryza
97efbbb332 Added miroir yaml validation library 2023-07-22 18:36:37 +02:00
Bartek Kryza
561a2b16fd Merge pull request #170 from bkryza/v0.3.8
V0.3.8
2023-07-09 17:28:19 +02:00
Bartek Kryza
f50ea3f2c9 Updated clang-uml diagrams config 2023-07-09 16:57:21 +02:00
Bartek Kryza
ff5184da51 Fixed building on Fedora 38 2023-07-09 16:08:00 +02:00
Bartek Kryza
1e305ae4e2 Updated test cases documentation 2023-07-09 14:38:31 +02:00
Bartek Kryza
fb370adbfd Improved documentation 2023-07-09 12:58:03 +02:00
Bartek Kryza
a6b48a99fd Updated version to 0.3.8 2023-07-09 11:11:58 +02:00
Bartek Kryza
a10bf6ba9f Updated changelog 2023-07-09 11:07:53 +02:00
Bartek Kryza
0fd0d97786 Updated docs 2023-07-05 22:39:19 +02:00
Bartek Kryza
51e31b4bf7 Added option --print-start-from to list all possible 'start_from' values (fixes #94) 2023-07-05 22:12:01 +02:00
Bartek Kryza
e6202d4e5a Updated test cases documentation 2023-07-05 00:35:11 +02:00
Bartek Kryza
3bd8f7f7a8 Added option to include if and loop condition text in the diagram (fixes #162) 2023-07-05 00:31:34 +02:00
Bartek Kryza
a514532e51 Updated test cases documentation 2023-07-04 01:02:59 +02:00
Bartek Kryza
2104d930a8 Added option to enable rendering return types in sequence diagrams (fixes #93) 2023-07-04 00:50:47 +02:00
Bartek Kryza
d944a2cead Merge pull request #169 from bkryza/add-support-for-method-type-filter-in-sequence-diagrams
Add support for method type filter in sequence diagrams
2023-07-02 19:02:26 +02:00
Bartek Kryza
7576816f42 Updated test cases documentation 2023-07-02 18:31:33 +02:00
Bartek Kryza
ed88fcd39d Added sequence diagram model cleanup step to remove empty block statements 2023-07-02 18:17:06 +02:00
Bartek Kryza
9ada158828 Removed deprecated diagram configs from .clang-uml 2023-07-02 00:08:00 +02:00
Bartek Kryza
1d2f83127f Removed dead code 2023-07-01 23:54:09 +02:00
Bartek Kryza
fb3283d9c7 Updated test cases documentation 2023-07-01 23:48:45 +02:00
Bartek Kryza
e50a7b1846 Added callee_filter for including/excluding messages based on receiver type (#152) 2023-07-01 23:46:02 +02:00
Bartek Kryza
213483dd3b Added support for constructors and operators in sequence diagrams 2023-06-29 00:35:57 +02:00
Bartek Kryza
9e7b147244 Updated test cases documentation 2023-06-26 17:11:36 +02:00
Bartek Kryza
8d1bac0af4 Merge pull request #165 from bkryza/fix-method-links
Fix method links
2023-06-26 16:59:13 +02:00
Bartek Kryza
13ea67c1d8 Updated test cases documentation 2023-06-26 16:15:55 +02:00
Bartek Kryza
ed151f45e1 Fixed class method links in PlantUML diagrams 2023-06-26 16:15:10 +02:00
Bartek Kryza
ef753eaaff Merge pull request #163 from bkryza/add-doxygen-config
Add doxygen config
2023-06-25 18:45:24 +02:00
Bartek Kryza
46b8c29907 Update Doxygen docs for util namespace 2023-06-25 17:53:21 +02:00
Bartek Kryza
f1250e5780 Update Doxygen docs for sequence_diagram namespace 2023-06-25 12:48:32 +02:00
Bartek Kryza
c0b0af1bda Added Doxygen footer 2023-06-25 12:46:53 +02:00
Bartek Kryza
06045cee21 Updated docs 2023-06-24 21:57:55 +02:00
Bartek Kryza
c49517925e Update Doxygen docs for package_diagram namespace 2023-06-24 20:53:58 +02:00
Bartek Kryza
d594f79155 Update Doxygen docs for include_diagram namespace 2023-06-24 20:05:24 +02:00
Bartek Kryza
e1b7d67c71 Update Doxygen docs for decorators namespace 2023-06-24 18:22:10 +02:00
Bartek Kryza
935d25c8f4 Update Doxygen docs for class_diagram namespace 2023-06-24 17:24:06 +02:00
Bartek Kryza
627a9fe1a8 Disbaled dark mode in HTML Doxygen docs style 2023-06-24 17:23:27 +02:00
Bartek Kryza
6c6384e5fd Fixed clang-tidy warnings 2023-06-23 20:46:43 +02:00
Bartek Kryza
525b3f74a6 Updated docs links 2023-06-23 19:54:30 +02:00
Bartek Kryza
321fb177a9 Updated code for Doxygen documentation 2023-06-23 19:39:41 +02:00
Bartek Kryza
d8ef12d1c6 Added Doxygen documentation 2023-06-23 19:38:28 +02:00
Bartek Kryza
a39af67987 Fixed comment_parser option handling 2023-06-21 00:51:39 +02:00
Bartek Kryza
fb348fbaa1 Updated Doxygen docs 2023-06-19 23:25:31 +02:00
Bartek Kryza
6dd4089c8d Added initial Doxygen config 2023-06-18 23:41:48 +02:00
Bartek Kryza
7575147b71 Fixed @file doxygen links 2023-06-18 23:40:13 +02:00
Bartek Kryza
f424ed4c8c Added doxygen comments to common namespace 2023-06-18 20:23:44 +02:00
Bartek Kryza
da2cb63ab3 Added initial Doxygen config 2023-06-18 01:18:35 +02:00
Bartek Kryza
031235bf49 Updated troubleshooting 2023-06-16 16:46:37 +02:00
Bartek Kryza
d8aa955455 Merge pull request #159 from bkryza/add-progress-indicators
Add progress indicators
2023-06-15 22:54:14 +02:00
Bartek Kryza
94b1d51ca8 Fixed building on Windows 2023-06-15 22:28:29 +02:00
Bartek Kryza
8c4e48d511 Fixed clang-tidy warnings 2023-06-15 21:41:22 +02:00
Bartek Kryza
930ffb3468 Updated README 2023-06-15 21:07:12 +02:00
Bartek Kryza
408416020f Added --progress option for diagram progress indicators 2023-06-15 00:24:55 +02:00
Bartek Kryza
c387aba82e Added indicators library v2.3 2023-06-14 01:19:11 +02:00
Bartek Kryza
2cfff608d8 Updated README logo link 2023-06-14 00:22:21 +02:00
Bartek Kryza
3261838af8 Updated log levels 2023-06-12 20:29:11 +02:00
Bartek Kryza
01db5185b2 Updated test cases documentation 2023-06-12 00:55:11 +02:00
Bartek Kryza
43cc5cb49f Extended source_location with column and translation unit info 2023-06-12 00:42:52 +02:00
Bartek Kryza
84ec4733cc Merge pull request #156 from bkryza/v0.3.7
V0.3.7
2023-06-11 18:02:43 +02:00
Bartek Kryza
f963c10257 Updated conda packaging 2023-06-11 17:27:07 +02:00
Bartek Kryza
fbb16859f3 Added Windows installer build script 2023-06-11 17:14:00 +02:00
Bartek Kryza
3154cfd737 Releasing version 0.3.7 2023-06-11 12:50:51 +02:00
Bartek Kryza
6ff1618827 Updated README 2023-06-10 23:30:14 +02:00
Bartek Kryza
73b446f0f7 Merge pull request #155 from bkryza/add-config-regexp-support
Add config regexp support
2023-06-10 20:11:08 +02:00
Bartek Kryza
6d329dfdf6 Fixed diagram filters docs 2023-06-10 20:10:02 +02:00
Bartek Kryza
20fe6b1687 Updated test cases documentation 2023-06-10 19:02:06 +02:00
Bartek Kryza
01ef3dcbcc Updated diagram filters docs 2023-06-10 18:59:36 +02:00
Bartek Kryza
7564b6408f Updated troubleshooting 2023-06-10 17:30:42 +02:00
Bartek Kryza
dc74069dfd Added glob pattern support in paths filter 2023-06-10 16:21:55 +02:00
Bartek Kryza
ac01127436 Added OS details information in version help message 2023-06-09 22:35:03 +02:00
Bartek Kryza
0a4e2c8855 Fixed clang-tidy warnings 2023-06-09 01:31:29 +02:00
Bartek Kryza
7e416ffa97 Added regex support to dependencies and dependants filter 2023-06-09 00:44:25 +02:00
Bartek Kryza
658bceee4b Added regex support to context filter 2023-06-08 19:02:14 +02:00
Bartek Kryza
b0501d4bfb Added regex support to specializations filter 2023-06-08 14:08:31 +02:00
Bartek Kryza
b3b95efb65 Added regex support to parents filter 2023-06-08 00:03:50 +02:00
Bartek Kryza
ad2fc3f8a6 Added regex support to subclasses filter 2023-06-07 00:15:56 +02:00
Bartek Kryza
c7e61a586b Added regex support to namespaces filter 2023-06-06 21:31:50 +02:00
Bartek Kryza
399b7e1907 Added regex support to elements filter 2023-06-05 23:05:54 +02:00
Bartek Kryza
3430d5422a Added Ubuntu Lunar packaging spec 2023-06-05 22:44:27 +02:00
Bartek Kryza
6ffed4188c Merge pull request #153 from bkryza/fix-building-on-gcc13
Fix building on gcc13
2023-06-04 11:16:07 +02:00
Bartek Kryza
d3a5ba28ff Added Ubuntu Lunar package spec 2023-06-03 23:17:21 +02:00
Bartek Kryza
194164c8a4 Updated packaging warnings 2023-06-03 18:45:39 +02:00
Bartek Kryza
9f726e495c Updated packaging warnings 2023-06-03 18:36:02 +02:00
Bartek Kryza
12f129a6fe Upgraded spdlog to v1.11.0 2023-06-03 18:00:54 +02:00
Bartek Kryza
859758a1eb Merge pull request #151 from bkryza/add-method-groups-and-filters
Add method groups and filters
2023-06-02 22:52:43 +02:00
Bartek Kryza
a78839eecf Updated test cases documentation 2023-06-02 22:02:08 +02:00
Bartek Kryza
75d1daac31 Updated diagram filters test cases and docs 2023-06-02 21:50:51 +02:00
Bartek Kryza
e681d1a3cc Added custom method type destructor filter 2023-06-02 21:08:19 +02:00
Bartek Kryza
e40dc3a60c Added method type diagram filter (#145) 2023-06-02 01:06:22 +02:00
Bartek Kryza
e7f738c6dc Fixed handling properties of template methods (e.g. is_constructor) 2023-06-01 00:57:46 +02:00
Bartek Kryza
112f7cb806 Refactored apply_if helper functions 2023-06-01 00:06:32 +02:00
Bartek Kryza
ae44c2413b Fixed clang-tidy warnings 2023-05-31 23:07:40 +02:00
Bartek Kryza
0973289eb7 Added test case for unsorted and ungrouped class members and methods 2023-05-31 22:52:31 +02:00
Bartek Kryza
c87bd7d94b Added default class method and member grouping and sorting 2023-05-31 22:46:39 +02:00
Bartek Kryza
097f7a11ed Extended generation of method attributes (#142) 2023-05-30 18:51:13 +02:00
Bartek Kryza
75b900bf46 Extended troubleshooting section 2023-05-29 20:25:15 +02:00
Bartek Kryza
af7973d707 Merge pull request #149 from bkryza/v0.3.6
Updated README and CHANGELOG for 0.3.6
2023-05-29 00:05:54 +02:00
Bartek Kryza
3d8a0ce428 Updated README and CHANGELOG for 0.3.6 2023-05-28 23:02:51 +02:00
Bartek Kryza
77f3325d6a Merge pull request #148 from bkryza/add-packages-from-directory-structure
Add packages from directory structure
2023-05-28 22:58:45 +02:00
Bartek Kryza
f273f6b2f7 Fixed formatting 2023-05-28 22:20:40 +02:00
Bartek Kryza
8e801fe31d Fixed building on MSVC 2023-05-28 22:17:21 +02:00
Bartek Kryza
0028cf6f3d Fixed building on macos 2023-05-28 19:59:58 +02:00
Bartek Kryza
3e97a37c5f Updated docs 2023-05-28 19:08:10 +02:00
Bartek Kryza
81c7ce71df Improved skipping of empty packages in class diagrams 2023-05-28 18:38:57 +02:00
Bartek Kryza
5c4a98ba79 Fixed clang-tidy warnings 2023-05-27 23:41:36 +02:00
Bartek Kryza
e6fa19ff39 Refactored nested diagrams with element_view template 2023-05-27 22:32:04 +02:00
Bartek Kryza
ba32b54395 Added test case for package diagram from directory structure for plain C 2023-05-26 21:46:39 +02:00
Bartek Kryza
2a29968f09 Added test case for package diagram from directory structure 2023-05-26 21:06:23 +02:00
Bartek Kryza
467c021e17 Added generation of package diagrams from directory structure instead of namespaces 2023-05-26 21:05:52 +02:00
Bartek Kryza
c3dcac72da Updated t00065 test case 2023-05-24 22:23:14 +02:00
Bartek Kryza
75c027262f Fixed class diagram generation with packages from directories 2023-05-24 22:22:47 +02:00
Bartek Kryza
10a28cf35e Added clanguml element hierarchy class diagram 2023-05-24 22:18:40 +02:00
Bartek Kryza
01c791e6a1 Added initial support for directory based packages in class diagrams 2023-05-21 11:55:57 +02:00
Bartek Kryza
044c9ced19 Fixed generation of dependent template argument names (#146) 2023-05-20 11:40:12 +02:00
Bartek Kryza
bca1162b16 Updated changelog 2023-05-16 18:01:42 +02:00
Bartek Kryza
7dff400978 Fixed possible segfault in package diagram generator 2023-05-16 08:56:08 +02:00
Bartek Kryza
9035ee52ac Merge pull request #143 from bkryza/fix-handling-field-template-instantiation-relationships
Fix handling field template instantiation relationships
2023-05-15 09:39:05 +02:00
Bartek Kryza
90e251314f Updated test cases documentation 2023-05-15 01:26:34 +02:00
Bartek Kryza
57aa174a86 Fixed t00064 on LLVM 16 2023-05-15 01:23:37 +02:00
Bartek Kryza
02f470e563 Fixed rendering of methods in template class specializations 2023-05-14 18:57:40 +02:00
Bartek Kryza
0fbf491dfe Fixed handling of decltype cxxmember type aliases with dependend parameters 2023-05-14 16:35:14 +02:00
Bartek Kryza
4b0fcd631d Fixed handling of function template parameters 2023-05-13 18:10:11 +02:00
Bartek Kryza
d6db61bde0 Updated README example 2023-05-13 15:01:29 +02:00
Bartek Kryza
c110d19a78 Added type_list test case 2023-05-13 14:58:24 +02:00
Bartek Kryza
3b573ff034 Fixed handling of anonymous template parameters 2023-05-13 14:58:07 +02:00
Bartek Kryza
2223f595cd Fixed generation of template specializations from alias template type members 2023-05-13 12:42:30 +02:00
Bartek Kryza
3b99ca1313 Updated CHANGELOG 2023-05-11 22:01:34 +02:00
Bartek Kryza
8ae1d2a005 Merge pull request #139 from bkryza/fix-handling-of-anonymous-c-style-typedef-structs
Fixed handling of C99 typedef structs (#138)
2023-05-11 22:00:59 +02:00
Bartek Kryza
463f27e54e Updated test cases documentation 2023-05-11 21:29:13 +02:00
Bartek Kryza
7e9944ce60 Fixed handling of C99 typedef structs (#138) 2023-05-11 19:52:27 +02:00
Bartek Kryza
9a5a1523d9 Merge pull request #137 from bkryza/v0.3.5
V0.3.5
2023-05-09 23:04:02 +02:00
Bartek Kryza
e2b772d8d6 Fixed formatting 2023-05-09 22:04:51 +02:00
Bartek Kryza
c4fb819014 Fixed include diagram JSON generator on Windows 2023-05-09 22:03:42 +02:00
Bartek Kryza
48e845ce07 Updated test cases documentation 2023-05-09 20:03:25 +02:00
Bartek Kryza
9e366ddd9e Improved libraries detection on Apple Silicon Homebrew 2023-05-09 20:01:28 +02:00
Bartek Kryza
0aa6ff50c9 Updated README badge 2023-05-09 19:59:08 +02:00
Bartek Kryza
7fb453c1ad Updated changelog 2023-05-09 19:57:58 +02:00
Bartek Kryza
e14a6effd5 Fixed clang-tidy warnings 2023-05-09 19:41:55 +02:00
Bartek Kryza
29a3a10ca8 Improve error handling in PlantUML directives generator 2023-05-09 19:20:07 +02:00
Bartek Kryza
f3453b595d Merge pull request #136 from bkryza/add-element-types-filter
Added element_types diagram filter (#131)
2023-05-08 23:53:48 +02:00
Bartek Kryza
39efdf5680 Updated test cases documentation 2023-05-08 23:24:12 +02:00
Bartek Kryza
dec4b7bc3d Added element_types diagram filter (#131) 2023-05-08 22:54:34 +02:00
Bartek Kryza
f8876b1ed0 Updated changelog 2023-05-07 19:02:12 +02:00
Bartek Kryza
2bbaad2715 Merge pull request #134 from bkryza/add-query-driver-option
Add query driver option
2023-05-07 18:55:01 +02:00
Bartek Kryza
58572e4da7 Updated building on Windows 2023-05-07 16:50:10 +02:00
Bartek Kryza
702a1655d0 Updated docs 2023-05-07 16:33:17 +02:00
Bartek Kryza
16ca3bd50a Added handling of query-driver target and using default driver for '.' 2023-05-07 16:33:10 +02:00
Bartek Kryza
d31f282816 Fixed building on macOS 2023-05-06 16:58:19 +02:00
Bartek Kryza
9b2adc5d2f Added --query-driver option to enable automatic detection of system include paths from selected compiler (#109) 2023-05-06 16:39:41 +02:00
Bartek Kryza
023fac07f9 Merge pull request #133 from bkryza/fix-add-compile-commands-flags
Fix add compile commands flags
2023-05-06 00:16:10 +02:00
Bartek Kryza
68a20c550b Updated troubleshooting 2023-05-06 00:15:46 +02:00
Bartek Kryza
4477a1892f Updated configuration file specification 2023-05-06 00:14:26 +02:00
Bartek Kryza
2367765d1f Fixed .gitignore 2023-05-05 23:47:40 +02:00
Bartek Kryza
e6fb4329df Updated troubleshooting docs section 2023-05-05 23:00:23 +02:00
Bartek Kryza
5e78377cf3 Added add_compile_flag and remove_compile_flag options to cli_handler (#130) 2023-05-05 22:40:31 +02:00
Bartek Kryza
d349f3e01c Updated remove_compile_flags option 2023-05-05 21:09:21 +02:00
Bartek Kryza
f912e7ae5d Merge pull request #129 from bkryza/fix-template-specialization-members
Fix template specialization members
2023-05-04 23:03:09 +02:00
Bartek Kryza
3b0c7ed3a2 Updated test cases documentation 2023-05-04 22:32:47 +02:00
Bartek Kryza
3eb1c476b3 Added rendering of template specialization members 2023-05-04 22:29:13 +02:00
Bartek Kryza
7277320199 Improved error message about no translation units found 2023-05-04 20:53:13 +02:00
Bartek Kryza
2c5769982b Updated README formatting 2023-05-03 23:15:10 +02:00
Bartek Kryza
92ec340292 Merge pull request #127 from bkryza/fix-handling-of-template-parameters-of-different-kinds
Fix handling of template parameters of different kinds
2023-05-03 23:10:39 +02:00
Bartek Kryza
475eaa2974 Fixed typo 2023-05-03 22:28:15 +02:00
Bartek Kryza
60c2f31060 Updated github actions to nodejs 16 2023-05-03 22:28:09 +02:00
Bartek Kryza
a42009e459 Updated test cases documentation 2023-05-03 21:53:49 +02:00
Bartek Kryza
665c784fed Updated CHANGELOG 2023-05-03 21:47:03 +02:00
Bartek Kryza
82410b345d Fixed clang-tidy warnings 2023-05-03 21:38:31 +02:00
Bartek Kryza
e9a57283fc Fixed test cases on LLVM 16 2023-05-03 20:23:17 +02:00
Bartek Kryza
3df81d5878 Updated README with examples 2023-05-03 16:25:02 +02:00
Bartek Kryza
3fea01d452 Fixed handling of template template specialization parameters in instantiation deduction 2023-05-03 12:41:26 +02:00
Bartek Kryza
f01ddc63f2 Fixed handling of array template specialization types 2023-05-02 16:10:35 +02:00
Bartek Kryza
640c5263ce Fixed handling of qualifiers in template parameter deduced contexts 2023-05-01 12:39:45 +02:00
Bartek Kryza
68f067f76a Refactored template builder with try_as methods for different types 2023-05-01 01:41:04 +02:00
Bartek Kryza
6ebdc8ab77 WIP 2023-04-28 22:46:36 +02:00
Bartek Kryza
0f4a2e1f9c Fixed handling of qualifiers in unexposed template parameters 2023-04-25 01:13:48 +02:00
Bartek Kryza
47ccb561c9 Fixed handling of unexposed variadic template params 2023-04-24 00:28:57 +02:00
Bartek Kryza
3ed50ba3b2 Fixed formatting 2023-04-23 19:29:46 +02:00
Bartek Kryza
192e1993e8 Added initial unexposed template parameter deduction test case 2023-04-23 19:29:30 +02:00
Bartek Kryza
0aa4eb732d Improved unexposed template parameter tokenization 2023-04-23 19:29:02 +02:00
Bartek Kryza
7f9d698afc Improved handling of method template deductions 2023-04-18 23:56:37 +02:00
Bartek Kryza
6323ce8a92 Fixed template_builder handling of nested template specializations 2023-04-18 00:13:48 +02:00
Bartek Kryza
758c1418a6 Refactored template instantiation builder methods to a separate class 2023-04-15 22:42:17 +02:00
Bartek Kryza
f034b554de Added case handling of template argument kinds 2023-04-15 11:48:21 +02:00
Bartek Kryza
0d524b38a4 Fixed handling of template template default arguments 2023-04-14 21:05:48 +02:00
Bartek Kryza
c91fe43c1c Merge pull request #120 from bkryza/v0.3.4
V0.3.4
2023-04-07 12:15:07 +02:00
Bartek Kryza
9a96c03c57 Updated release badges 2023-04-07 11:17:21 +02:00
Bartek Kryza
b74bdab785 Updated CHANGELOG for 0.3.4 2023-04-07 10:29:35 +02:00
Bartek Kryza
a06ac52865 Updated test cases documentation 2023-04-07 00:55:14 +02:00
Bartek Kryza
e2a6b81f7f Fixed CLI11 print help handling 2023-04-07 00:46:01 +02:00
Bartek Kryza
2a6f515b47 Added diagram metadata to PlantUML and JSON generators 2023-04-07 00:22:52 +02:00
Bartek Kryza
a682aab21d Updated CLI11 version to 2.3.2 2023-04-07 00:21:07 +02:00
Bartek Kryza
06fe24f59b Merge pull request #119 from bkryza/fix-t00044
Fix t00044
2023-04-06 00:02:05 +02:00
Bartek Kryza
14cba01a3f Updated test cases documentation 2023-04-05 23:35:29 +02:00
Bartek Kryza
69a94bcc43 Extended t00044 with JSON checks 2023-04-05 23:28:51 +02:00
Bartek Kryza
ade1f76640 Fixed clang-tidy warnings 2023-04-05 22:55:54 +02:00
Bartek Kryza
38928cf86f Refactored template specialization matching 2023-04-05 21:57:56 +02:00
Bartek Kryza
cb74864d0d Removed dead code 2023-04-05 20:31:00 +02:00
Bartek Kryza
2b951fe170 Fixed matching template instantiation to templates with variadic params in the middle 2023-04-05 00:44:27 +02:00
Bartek Kryza
425a13ec5b Fixed t00044 2023-04-05 00:22:45 +02:00
Bartek Kryza
75eaef3662 Fixed handling of template function specialization arguments 2023-04-02 19:40:05 +02:00
Bartek Kryza
a55845e29e Updated CHANGELOG 2023-03-31 01:03:34 +02:00
Bartek Kryza
8009db2aba Merge pull request #117 from bkryza/fix-building-on-llvm-16
Fix building on llvm 16 #108
2023-03-31 01:02:16 +02:00
Bartek Kryza
65c3929cb2 Fixed clang-tidy warnings 2023-03-30 22:48:42 +02:00
Bartek Kryza
b35b840b66 Fixed formatting 2023-03-30 22:34:46 +02:00
Bartek Kryza
d9204414d9 Fixed sequence diagram test cases on LLVM 16 2023-03-30 22:30:25 +02:00
Bartek Kryza
c297616b59 Fixed class diagram test cases on LLVM 16 2023-03-30 00:31:37 +02:00
Bartek Kryza
15f9f9ae2b Fixed compilation with some failing test cases on LLVM 16 2023-03-28 21:35:31 +02:00
Bartek Kryza
91ece95d49 Updated docs 2023-03-28 09:53:46 +02:00
Bartek Kryza
8c8bd4464a Updated docs 2023-03-27 22:52:31 +02:00
Bartek Kryza
e9a4504827 Added test case for paths include filter (Fixes #113) 2023-03-27 22:45:12 +02:00
Bartek Kryza
97177e09a1 Merge pull request #116 from bkryza/v0.3.3
V0.3.3
2023-03-26 20:38:27 +02:00
Bartek Kryza
8d136adb6d Updated README badge version 2023-03-26 20:09:17 +02:00
Bartek Kryza
ef3f4c9759 Fixed compilation on ubuntu kinetic 2023-03-26 18:12:48 +02:00
Bartek Kryza
0552810ddb Updated CHANGELOG for 0.3.3 2023-03-26 17:27:05 +02:00
Bartek Kryza
6513d27e4b Added option to inject custom compile flags to compilation database (fixes #112) 2023-03-26 17:26:28 +02:00
Bartek Kryza
5b60a30855 Added LLVM compatible versions badge 2023-03-26 16:12:56 +02:00
Bartek Kryza
d842bf158f Merge pull request #115 from bkryza/add-json-model-output-generator
Add json model output generator -  resolves #114
2023-03-26 01:11:40 +01:00
Bartek Kryza
017fc7025b Fixed json generator selector 2023-03-26 00:43:35 +01:00
Bartek Kryza
f2062c5909 Updated test cases documentation 2023-03-26 00:24:04 +01:00
Bartek Kryza
fc3110fd4e Fixed clang-tidy warnings 2023-03-26 00:19:49 +01:00
Bartek Kryza
90307793d8 Remove access for relationships in include and package diagrams 2023-03-25 22:28:32 +01:00
Bartek Kryza
9e3c387fbd Optimized sequence diagram JSON models 2023-03-25 21:19:27 +01:00
Bartek Kryza
a797a992b4 Refactored test case diagram visitor and generator selection based on traits 2023-03-25 21:14:07 +01:00
Bartek Kryza
9e7c290685 Updated docs 2023-03-25 20:41:00 +01:00
Bartek Kryza
3b75da062e Refactored diagram visitor and generator selection based on traits 2023-03-25 20:21:13 +01:00
Bartek Kryza
3a772a9102 Updated test cases documentation 2023-03-25 18:18:31 +01:00
Bartek Kryza
344549ac03 Added include diagram JSON model generator 2023-03-25 18:18:19 +01:00
Bartek Kryza
aa2d3099de Added JSON package diagram generator test cases 2023-03-25 13:40:10 +01:00
Bartek Kryza
c1bce60656 Added JSON package diagram generator 2023-03-25 12:20:52 +01:00
Bartek Kryza
43b81f97ce Added JSON test cases for all sequence diagram test cases 2023-03-25 01:25:59 +01:00
Bartek Kryza
49a40723a7 Added sequence diagram JSON test matchers 2023-03-23 00:25:51 +01:00
Bartek Kryza
491fb2b443 Added test cases for JSON class generators 2023-03-22 01:00:26 +01:00
Bartek Kryza
c59fbfa565 Added JSON test case stubs for all class diagram test cases 2023-03-21 00:37:57 +01:00
Bartek Kryza
b412f46fb2 Added initial json generator test cases 2023-03-20 01:33:50 +01:00
Bartek Kryza
44cd7b0484 Refactored JSON sequence diagram generator 2023-03-19 19:08:31 +01:00
Bartek Kryza
f0497e934d First working version of JSON sequence diagram generator 2023-03-19 18:30:00 +01:00
Bartek Kryza
e620c86f31 Updated test cases documentation 2023-03-17 00:42:47 +01:00
Bartek Kryza
4e404a362e Changed JSON generator paths to relative 2023-03-17 00:39:52 +01:00
Bartek Kryza
f13ce56840 Fixed class template parameter generation in sequence visitor 2023-03-16 23:45:05 +01:00
Bartek Kryza
e0447f28c1 Fixed class template parameter generation in class visitor 2023-03-16 21:45:08 +01:00
Bartek Kryza
6d4533018b Refactoring template_parameter model 2023-03-16 01:53:10 +01:00
Bartek Kryza
3a01d8689c Updated troubleshooting 2023-03-15 18:12:24 +01:00
Bartek Kryza
2848090ad8 Fix clang-tidy warnings 2023-03-15 01:47:49 +01:00
Bartek Kryza
34131324ec Added json class generator test cases 2023-03-15 00:51:07 +01:00
Bartek Kryza
08d6f87d23 Added complete json generation for class diagrams 2023-03-14 00:54:10 +01:00
Bartek Kryza
19ae58f493 Refactored cppidx generator name to json 2023-03-13 22:14:26 +01:00
Bartek Kryza
bffe9913aa Added cli options for cppidx generator 2023-03-13 00:30:19 +01:00
Bartek Kryza
4ffb36fa9e Merge pull request #107 from bkryza/add-diagram-templates
Add diagram templates
2023-03-12 01:00:13 +01:00
Bartek Kryza
d5b279e096 Fixed typo 2023-03-12 00:38:05 +01:00
Bartek Kryza
eeb3d41a10 Updated README 2023-03-12 00:15:42 +01:00
Bartek Kryza
07b71aa389 Updated CHANGELOG 2023-03-12 00:14:59 +01:00
Bartek Kryza
9ba8fc9c05 Added diagram template docs 2023-03-12 00:13:37 +01:00
Bartek Kryza
bcba612f65 Fixed clang-tidy warnings 2023-03-11 22:07:11 +01:00
Bartek Kryza
e7353d7a03 Added cli_handler tests 2023-03-11 20:50:17 +01:00
Bartek Kryza
f1c125bf32 Refactored command line handling 2023-03-11 19:00:14 +01:00
Bartek Kryza
41537c5401 Implement CLI options for adding diagrams to config from templates 2023-03-08 01:25:38 +01:00
Bartek Kryza
2092a0e3e6 Added diagram templates to config 2023-03-07 23:03:02 +01:00
Bartek Kryza
0dc7445909 Updated test cases documentation 2023-03-06 23:32:40 +01:00
Bartek Kryza
029a28a0d3 Added NUMPROC option to clang-tidy 2023-03-06 22:50:33 +01:00
Bartek Kryza
8f99e2fc2f Added parents (base classes) diagram filter 2023-03-06 22:33:11 +01:00
Bartek Kryza
8ba0239283 Added option to read config file from stdin (related #105) 2023-03-05 19:34:06 +01:00
Bartek Kryza
f16c0e4a17 Updated test cases documentation 2023-03-05 11:41:16 +01:00
Bartek Kryza
b2fd763a89 Updated changelog 2023-03-05 11:39:39 +01:00
Bartek Kryza
69da23c4b2 Merge pull request #106 from bkryza/fix-processing-clang-uml-examples
Fix processing clang uml examples
2023-03-05 00:29:26 +01:00
Bartek Kryza
cfca79182c Added relationship exclusion to context filter 2023-03-04 21:11:14 +01:00
Bartek Kryza
a58b633d01 Fixed handling of template class specializations nested in other classes 2023-03-04 15:02:35 +01:00
Bartek Kryza
d4d749ae34 Fixed nested anonymous namespace regression 2023-03-04 11:51:52 +01:00
Bartek Kryza
bad78c0c7a Merge pull request #103 from bkryza/v0.3.2
V0.3.2
2023-03-02 23:44:15 +01:00
Bartek Kryza
812eada63a Fixed RPM spec for out of source builds 2023-03-02 22:28:08 +01:00
Bartek Kryza
8a4e6894fb Fixed git version extraction 2023-03-02 22:05:22 +01:00
Bartek Kryza
1a4e601828 Fixed git version extraction 2023-03-02 21:47:50 +01:00
Bartek Kryza
66cc92da82 Updated changelog for 0.3.2 2023-03-02 20:47:06 +01:00
Bartek Kryza
184386796a Merge pull request #102 from bkryza/add-support-cpp20-concepts
Add support cpp20 concepts
2023-03-02 01:12:56 +01:00
Bartek Kryza
464d80eca3 Fix clang-tidy warning after upgrading to clang-tidy-15 2023-03-02 00:33:28 +01:00
Bartek Kryza
884e021b9a Fix building with MSVC 2023-03-01 23:00:02 +01:00
Bartek Kryza
480d1bcae1 Updated test cases compile flags for C translation units 2023-03-01 20:36:19 +01:00
Bartek Kryza
cf0d87a0bf Updated clang-format to version 15 2023-03-01 20:22:00 +01:00
Bartek Kryza
fe99b72099 Updated GitHub actions Ubuntu to 22.04 2023-03-01 20:14:17 +01:00
Bartek Kryza
22b7b939ad Updated test cases documentation 2023-03-01 20:07:01 +01:00
Bartek Kryza
65a55fa7cc Fixed clang-tidy warnings 2023-03-01 19:58:25 +01:00
Bartek Kryza
afcc850087 Fixed formatting 2023-03-01 19:28:58 +01:00
Bartek Kryza
7708ed2535 Added non-virtual polymorphism abstract factory test case based on concepts 2023-03-01 19:28:42 +01:00
Bartek Kryza
be2ad5dc9b Added test case for C++20 concepts with variadic params 2023-03-01 18:37:31 +01:00
Bartek Kryza
7996cb7a00 Improved concept relationship handling including concepts with variadic params 2023-03-01 18:35:08 +01:00
Bartek Kryza
dbb3e68c3f Added rendering of concept requirements in concept body 2023-02-26 23:30:15 +01:00
Bartek Kryza
2ab6ed627e Refactored should_include in class diagram visitor 2023-02-26 20:35:22 +01:00
Bartek Kryza
84f7bed05c Updated test cases documentation 2023-02-26 13:54:10 +01:00
Bartek Kryza
3509853dba Implemented tests for concept test case 00056 2023-02-26 13:51:38 +01:00
Bartek Kryza
1fc0bf3f80 Added constrained template parameter names in requires relationship 2023-02-25 19:35:33 +01:00
Bartek Kryza
274a698713 Initial support for concept dependency relationships in class diagrams 2023-02-25 01:50:20 +01:00
Bartek Kryza
20a0f2d338 Added initial support for C++20 concepts 2023-02-21 19:43:29 +01:00
Bartek Kryza
040403382a Added basic framework for creating cxx20 test cases 2023-02-20 22:39:32 +01:00
Bartek Kryza
6be07a7dfa Merge pull request #99 from bkryza/fix-handling-of-plain-c-translation-units
Adds support for C99/C11 class diagrams from structs and unions relationships (#97).
2023-02-19 19:09:54 +01:00
Bartek Kryza
56a8ad9ca2 Updated test cases documentation 2023-02-19 18:56:11 +01:00
Bartek Kryza
6341a62857 Added support for 'class' diagrams from C99/C11 translation units (#97) 2023-02-19 18:54:04 +01:00
Bartek Kryza
4afb1daef0 Merge pull request #98 from bkryza/fix-building-internal-clang-uml-diagrams
Fix building internal clang uml diagrams
2023-02-19 01:39:42 +01:00
Bartek Kryza
35c4c210b1 Enabled backward-cpp for debug build on Linux 2023-02-19 00:37:15 +01:00
Bartek Kryza
bdf9a7e18f Fixed generation of class_model_class diagram 2023-02-18 23:04:32 +01:00
Bartek Kryza
c2b83e2396 Updated the clang-uml build path after cmake refactor 2023-02-18 22:20:28 +01:00
Bartek Kryza
28572e74c5 Merge pull request #92 from bkryza/refactor-cmake-files
Refactor cmake files
2023-02-08 00:02:16 +01:00
Bartek Kryza
4259733611 Fixed formatting 2023-02-07 23:26:09 +01:00
Bartek Kryza
78ec599466 Fixed building on macos with LLVM Clang 2023-02-07 23:18:19 +01:00
Bartek Kryza
43328e3e2d Fixed unit tests on MSVC 2023-02-07 22:18:57 +01:00
Bartek Kryza
865ae9d8ed Reverted custom compilation database class to default 2023-02-07 18:32:11 +01:00
Bartek Kryza
7112c160f5 Added PowerShell build script 2023-02-07 17:29:01 +01:00
Bartek Kryza
8b70bba0c0 Refactored cmake scripts and test cases compile database handling 2023-02-05 16:35:05 +01:00
Bartek Kryza
cdb056a52b Merge pull request #91 from bkryza/add-element-grouping-in-class-diagrams
Add element grouping in class diagrams
2023-02-04 23:00:57 +01:00
Bartek Kryza
315147ae3f Updated test cases documentation 2023-02-04 21:43:16 +01:00
Bartek Kryza
fbc4fadbb7 Added 'row' and 'column' layout hints 2023-02-04 21:32:00 +01:00
Bartek Kryza
edba233030 Added support for 'together' layout hint in package diagrams 2023-02-04 16:30:26 +01:00
Bartek Kryza
4423b14b62 Added support for 'together' option in class diagrams with rendered namespaces 2023-02-04 15:45:17 +01:00
Bartek Kryza
d7d80ab41e Added support for 'together' option in class diagrams without rendered namespaces 2023-02-04 00:24:09 +01:00
Bartek Kryza
b910e9b02f Merge pull request #89 from bkryza/add-logo 2023-01-29 21:04:21 +01:00
Bartek Kryza
76d14bc738 Updated logo 2023-01-29 19:33:04 +01:00
Bartek Kryza
0b6893fd3b Merge pull request #88 from bkryza/enable-notes-in-class-elements
Enable notes in class elements
2023-01-29 12:37:13 +01:00
Bartek Kryza
09f2db3ef9 Updated test cases documentation 2023-01-29 12:15:34 +01:00
Bartek Kryza
3abc6b784f Enabled adding notes to class methods and members (fixes #87) 2023-01-29 12:00:00 +01:00
Bartek Kryza
80b4b109c0 Added logo 2023-01-28 12:59:11 +01:00
Bartek Kryza
37767d7957 Updated github actions to disable builds on doc files 2023-01-28 12:58:51 +01:00
Bartek Kryza
e6ca06bbb2 Merge pull request #86 from bkryza/improve-handling-of-template-methods-in-class-diagrams
Improve handling of template methods in class diagrams
2023-01-25 23:57:13 +01:00
Bartek Kryza
1900f20995 Updated test cases documentation 2023-01-25 23:08:41 +01:00
Bartek Kryza
39851ca6d9 Extended t00052 test case 2023-01-25 23:07:08 +01:00
Bartek Kryza
21e7c3d3a0 Refactored cx utils to clang_utils 2023-01-25 22:43:49 +01:00
Bartek Kryza
9a7d66f93f Improved rendering of template methods in class diagrams 2023-01-25 22:13:57 +01:00
Bartek Kryza
0e6532f66c Updated installation instruction for Windows 2023-01-22 19:56:03 +01:00
Bartek Kryza
bc2fc2e4aa Merge pull request #85 from bkryza/v0.3.1
V0.3.1
2023-01-22 19:49:09 +01:00
Bartek Kryza
62bbcf22ee Updated packaging Makefile rules 2023-01-22 19:35:49 +01:00
Bartek Kryza
b6aa2c0dae Releasing version 0.3.1 2023-01-22 17:47:00 +01:00
Bartek Kryza
fada7c27b5 Merge pull request #84 from bkryza/fix-relative-to-paths
Fix relative to paths
2023-01-22 16:19:48 +01:00
Bartek Kryza
da30adc6c8 Updated test cases documentation 2023-01-22 16:04:57 +01:00
Bartek Kryza
2136ebefb3 Fixed clang-tidy warnings 2023-01-22 16:02:53 +01:00
Bartek Kryza
b802eaee3d Fixed relative lambda names in MSVC 2023-01-22 15:49:12 +01:00
Bartek Kryza
e0a42be63a Updated test cases documentation 2023-01-22 13:59:08 +01:00
Bartek Kryza
8deaf0246b Fixed handling of lambda names in auto types in class diagrams (#78,#82) 2023-01-22 13:56:54 +01:00
Bartek Kryza
3005ad7c37 Fixed formatting 2023-01-21 23:23:36 +01:00
Bartek Kryza
023a4a0cc0 Fixed generation of lambda names in class diagrams (#78) 2023-01-21 23:23:13 +01:00
bram
b5cf78ce82 Fix for segfault in path::pop_back 2023-01-21 20:44:32 +01:00
Bartek Kryza
61dcf9ef04 Updated docs 2023-01-21 20:30:14 +01:00
Bartek Kryza
78cfa630e5 Fixed handling of relative paths in configuration files (#69) 2023-01-21 18:07:46 +01:00
Bartek Kryza
b3701fa810 Updated glob dependency to commit b66732b0e72 2023-01-21 17:28:39 +01:00
Bartek Kryza
9a527eef0c Added toc to each docs page and Makefile update target 2023-01-19 22:01:51 +01:00
Bartek Kryza
c6bb063ef2 Updated test cases documentation 2023-01-18 21:38:37 +01:00
Bartek Kryza
a9f793e407 Removed dead code and improve test coverage 2023-01-18 21:37:06 +01:00
Bartek Kryza
00b9321034 Added --dump-config command line option (Fixes #77) 2023-01-18 00:31:05 +01:00
Bartek Kryza
74353603f8 Merge pull request #79 from bkryza/fix-tests-on-msvc
Fix tests on msvc
2023-01-17 00:38:54 +01:00
Bartek Kryza
f3ef592f01 Fixed clang-tidy warnings 2023-01-17 00:14:43 +01:00
Bartek Kryza
57740c0c6c Added clang-tidy Makefile target 2023-01-17 00:14:35 +01:00
Bartek Kryza
bdf55d45b7 Fixed formatting 2023-01-16 23:47:14 +01:00
Bartek Kryza
c49053dcf2 Fixed test cases under MS Visual Studio 2023-01-16 23:39:30 +01:00
Bartek Kryza
7a1cbbce9a Updated Windows build instructions 2023-01-16 23:38:51 +01:00
Bartek Kryza
7153666087 Fixed formatting 2023-01-13 18:24:26 +01:00
Bartek Kryza
ada11c6047 Fixed class and include diagrams tests in Windows 2023-01-12 23:31:12 +01:00
Bartek Kryza
3fbf3da27f Fixed path separators in diagram link URL's in Windows 2023-01-11 00:29:43 +01:00
Bartek Kryza
c7d201eef9 Merge pull request #72 from bkryza/add-windows-installer
Added Windows installer target using CPack and NSIS
2023-01-08 18:08:13 +01:00
Bartek Kryza
235707c916 Added Windows installer target using CPack and NSIS 2023-01-08 17:41:59 +01:00
Bartek Kryza
cf3e7ebc6e Merge pull request #71 from bkryza/add-msvc-support
Add support for building with Microsoft Visual Studio
2023-01-07 20:38:00 +01:00
Bartek Kryza
0fb0151feb Updated README 2023-01-07 19:24:22 +00:00
Bartek Kryza
e0012cca89 Fixed formatting 2023-01-07 19:16:35 +00:00
Bartek Kryza
d1ccee9c98 Fix handling of --compile-database option (Fixes #70) 2023-01-07 19:13:02 +00:00
Bartek Kryza
a35eec2023 Updated windows build instructions 2023-01-07 19:08:45 +00:00
Bartek Kryza
d64f974348 Updated README 2023-01-07 17:48:27 +00:00
Bartek Kryza
f1bae8289e Moved installation instructions to separate doc page 2023-01-07 15:34:50 +00:00
Bartek Kryza
0ace023985 Fixed building on macos 2023-01-07 14:42:12 +01:00
Bartek Kryza
a1a9d4ae99 Fixed formatting 2023-01-07 12:32:46 +01:00
Bartek Kryza
f1f6051cf7 Fixed path filters on Windows 2023-01-07 11:07:00 +00:00
Bartek Kryza
1cbc3e697d Added installation documentation page 2023-01-06 23:55:27 +00:00
Bartek Kryza
f5bcbeec0b Initial MSVC build working 2023-01-06 23:39:56 +00:00
Bartek Kryza
476a7873f9 Updated README 2023-01-02 23:51:38 +01:00
Bartek Kryza
dcafeb817b Merge pull request #65 from bkryza/v0.3.0
V0.3.0
2023-01-02 23:42:18 +01:00
798 changed files with 114107 additions and 21921 deletions

View File

@@ -7,7 +7,9 @@ Checks: >-
-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,
@@ -16,6 +18,7 @@ Checks: >-
-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,
@@ -30,23 +33,28 @@ Checks: >-
-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.ClassMemberSuffix
- key: readability-identifier-naming.PrivateMemberSuffix
value: '_'
- key: readability-identifier-naming.PublicMemberSuffix
value: ''

View File

@@ -1,28 +1,75 @@
compilation_database_dir: debug
output_directory: docs/diagrams
comment_parser: clang
generate_links:
link: 'https://github.com/bkryza/clang-uml/blob/{{ git.commit }}/{{ element.source.path }}#L{{ element.source.line }}'
tooltip: '{% if existsIn(element, "comment") and existsIn(element.comment, "brief") %}{{ abbrv(trim(replace(element.comment.brief.0, "\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
main_sequence:
include!: uml/main_sequence_diagram.yml
sequence_diagram_visitor_sequence:
include!: uml/sequence_diagram_visitor_sequence_diagram.yml
class_diagram_generator_sequence:
include!: uml/class_diagram_generator_sequence_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

View File

@@ -1,34 +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 clang-format-12 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

8
.gitignore vendored
View File

@@ -6,7 +6,7 @@ CMakeScripts
Testing
cmake_install.cmake
install_manifest.txt
compile_commands.json
/compile_commands.json
CTestTestfile.cmake
Session.vim
_deps
@@ -19,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

View File

@@ -1,5 +1,67 @@
# CHANGELOG
* Implemented removal of redundant dependency relationhips (#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

View File

@@ -3,18 +3,27 @@ cmake_minimum_required(VERSION 3.12)
#
# 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(APPLE)
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
endif(APPLE)
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
@@ -22,13 +31,29 @@ endif(APPLE)
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.3.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)")
#
# Setup version string
#
include(GitVersion)
setup_git_version()
message(STATUS "clang-uml version: "
"${GIT_VERSION_MAJOR}.${GIT_VERSION_MINOR}.${GIT_VERSION_PATCH}")
#
# Setup LLVM
@@ -49,6 +74,12 @@ message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_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)
@@ -59,6 +90,7 @@ else(LINK_LLVM_SHARED)
clangDriver
clangParse
clangSema
clangSupport
clangAnalysis
clangAST
clangBasic
@@ -78,8 +110,28 @@ else(LINK_LLVM_SHARED)
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()
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()
#
# Setup threads library
#
@@ -90,50 +142,49 @@ find_package(Threads REQUIRED)
#
message(STATUS "Checking for yaml-cpp...")
if(APPLE)
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
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)
PATHS ${YAML_CPP_INCLUDE_DIR} ${HOMEBREW_PREFIX}/include/yaml-cpp)
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
#
@@ -145,40 +196,7 @@ include_directories(${THIRDPARTY_HEADERS_DIR})
include_directories(${PROJECT_SOURCE_DIR}/src/)
include_directories(${PROJECT_BINARY_DIR}/src/version)
#
# 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

View File

@@ -1,8 +1,10 @@
# Contributing to `clang-uml`
# 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)
> Please, make sure you're ok with
> [Code of conduct](./CODE_OF_CONDUCT.md)
> and [LICENSE](./LICENSE.md)
## If you found a bug
@@ -18,12 +20,12 @@ Thanks for taking interest in `clang-uml`!
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"
...
#include "t00050/test_case.h" // <<<
// ...
```
Finally, create an issue with a link to your branch with the new test case.
@@ -64,6 +66,11 @@ Thanks for taking interest in `clang-uml`!
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
@@ -77,8 +84,9 @@ Thanks for taking interest in `clang-uml`!
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 over camels
* use `make format` before submitting PR to ensure consistent formatting
* 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!

2676
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -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.

View File

@@ -20,7 +20,15 @@
.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 ?=
CMAKE_CXX_FLAGS ?=
@@ -33,7 +41,7 @@ GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
.PHONY: clean
clean:
rm -rf debug release
rm -rf debug release debug_tidy
debug/CMakeLists.txt:
cmake -S . -B debug \
@@ -53,10 +61,24 @@ release/CMakeLists.txt:
-DCMAKE_EXE_LINKER_FLAGS="$(CMAKE_EXE_LINKER_FLAGS)" \
-DLLVM_VERSION=${LLVM_VERSION}
debug_tidy/CMakeLists.txt:
cmake -S . -B debug_tidy \
-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}
debug: debug/CMakeLists.txt
echo "Using ${NUMPROC} cores"
make -C debug -j$(NUMPROC)
debug_tidy: debug_tidy/CMakeLists.txt
echo "Using ${NUMPROC} cores"
make -C debug_tidy -j$(NUMPROC)
release: release/CMakeLists.txt
make -C release -j$(NUMPROC)
@@ -75,7 +97,7 @@ document_test_cases: test_plantuml
clanguml_diagrams: debug
mkdir -p docs/diagrams
debug/clang-uml
debug/src/clang-uml -g plantuml -g json
plantuml -tsvg -nometadata docs/diagrams/*.puml
python3 util/format_svg.py docs/diagrams/*.svg
@@ -92,11 +114,15 @@ 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:
@@ -108,14 +134,21 @@ iwyu_fixes: debug
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: fedora_36
fedora_36:
mkdir -p packaging/_BUILD/fedora/36
git archive --format=tar.gz --prefix=clang-uml-$(PKG_VERSION)/ v$(GIT_VERSION) >packaging/_BUILD/fedora/36/clang-uml-$(PKG_VERSION).tar.gz
docker run --cpus="8" -v $(PWD):$(PWD) fedora:36 sh -c "dnf install -y make git && cd ${PWD} && make OS=fedora DIST=36 VERSION=${PKG_VERSION} COMMIT=${GIT_COMMIT} BRANCH=${GIT_BRANCH} -C packaging rpm"
.PHONY: docs
docs:
make -C docs toc
.PHONY: fedora_37
fedora_37:
mkdir -p packaging/_BUILD/fedora/37
git archive --format=tar.gz --prefix=clang-uml-$(PKG_VERSION)/ v$(GIT_VERSION) >packaging/_BUILD/fedora/37/clang-uml-$(PKG_VERSION).tar.gz
docker run --cpus="8" -v $(PWD):$(PWD) fedora:37 sh -c "dnf install -y make git && cd ${PWD} && make OS=fedora DIST=37 VERSION=${PKG_VERSION} COMMIT=${GIT_COMMIT} BRANCH=${GIT_BRANCH} -C packaging rpm"
.PHONY: doxygen
doxygen: docs
cp CONTRIBUTING.md docs/contributing.md
cp CHANGELOG.md docs/changelog.md
cp docs/diagrams/*.svg docs/doxygen/html/
mkdir -p docs/doxygen/html/test_cases
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"

153
README.md
View File

@@ -1,103 +1,67 @@
# clang-uml - C++ UML diagram generator based on Clang
[<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
[![Build status](https://github.com/bkryza/clang-uml/actions/workflows/build.yml/badge.svg)](https://github.com/bkryza/clang-uml/actions)
[![Coverage](https://codecov.io/gh/bkryza/clang-uml/branch/master/graph/badge.svg)](https://codecov.io/gh/bkryza/clang-uml)
[![Version](https://img.shields.io/badge/version-0.3.0-blue)](https://github.com/bkryza/clang-uml/releases)
[![Version](https://img.shields.io/badge/version-0.3.8-blue)](https://github.com/bkryza/clang-uml/releases)
[![Version](https://img.shields.io/badge/LLVM-12,13,14,15,16-orange)](https://github.com/bkryza/clang-uml/releases)
[![Doxygen](https://img.shields.io/badge/Docs-Doxygen-gainsboro)](https://clang-uml.github.io)
`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.
Currently the diagrams are generated in [PlantUML](https://plantuml.com) format.
types and contents of each generated diagram.
The diagrams can be generated in [PlantUML](https://plantuml.com) 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.
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 - [_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 - [_example_](docs/test_cases/t00036.md)
* Optional package generation from subdirectories - [_example_](docs/test_cases/t00065.md)
* Interactive links to online code to 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 and units relationships) - [_example_](docs/test_cases/t00057.md)
* C++20 concept constraints - [_example_](docs/test_cases/t00059.md)
* **Sequence diagram generation**
* Generation of sequence diagram from specific method or function
* Generation of loop and conditional statements
* Generation of switch statements
* Generation of try/catch blocks
* Handling of template code including constexpr conditionals
* Handling of lambda expressions
* Interactive links to online code to classes and call expressions
* Generation of sequence diagram from specific method or function - [_example_](docs/test_cases/t00002.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 found [here](./docs/README.md).
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
@@ -115,10 +79,11 @@ Nowadays, this file can be generated rather easily using multiple methods:
* 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 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:
@@ -149,8 +114,7 @@ diagrams:
type: class
glob:
- src/*.cc
using_namespace:
- myproject
using_namespace: myproject
include:
namespaces:
- myproject
@@ -202,6 +166,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>>>;
@@ -214,11 +179,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;
@@ -229,6 +196,7 @@ class R {
AIntString intstring;
AStringString stringstring;
BStringString bstringstring;
AAPtr<T, float> atfloat;
protected:
BVector bs;
@@ -242,7 +210,7 @@ public:
};
```
generates the following diagram (via PlantUML):
results in the following diagram (via PlantUML):
![class_diagram_example](docs/test_cases/t00014_class.svg)
@@ -327,7 +295,7 @@ int tmain()
}
```
generates the following diagram (via PlantUML):
results in the following diagram (via PlantUML):
![sequence_diagram_example](docs/test_cases/t20029_sequence.svg)
@@ -372,7 +340,7 @@ class B : public ns1::ns2::Anon {
}
```
generates the following diagram (via PlantUML):
results in the following diagram (via PlantUML):
![package_diagram_example](docs/test_cases/t30003_package.svg)
@@ -396,7 +364,7 @@ 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:
![package_diagram_example](docs/test_cases/t40001_include.svg)
@@ -453,6 +421,8 @@ exclude:
- clanguml::common::ClassF
```
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).
@@ -465,12 +435,19 @@ This project relies on the following great tools:
* [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++
* [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 checkout [contributing guidelines](./CONTRIBUTING.md).
If you would like to contribute to the project, please check out [contributing guidelines](./CONTRIBUTING.md).
## LICENSE

10
build.ps1 Normal file
View 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
View 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)
set(GIT_VERSION "0.0.0-unknown")
endif(NOT DEFINED GIT_VERSION)
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()

40
docs/Makefile Normal file
View 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

View File

@@ -1,18 +1,45 @@
@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) 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):
![Sample sequence diagram](test_cases/t20029_sequence.svg)
`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)
* Generating diagrams
* [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)
* [Comment decorators](./comment_decorators.md)
* [Diagram filters](./diagram_filters.md)
* [Using Jinja templates](./jinja_templates.md)
* [Interactive SVG diagrams using links](./interactive_svg_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)

200
docs/architecture.md Normal file
View File

@@ -0,0 +1,200 @@
# 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 specified 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
![clang-uml packages](./architecture_package.svg)
## 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).
![configuration model](./config_class.svg)
The YAML configuration file is parsed
using [yaml-cpp](https://github.com/jbeder/yaml-cpp) library:
![configuration load sequence](./load_config_sequence.svg)
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.
![clang-uml packages](./common_model_class.svg)
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.
![diagram filter context](./diagram_filter_context_class.svg)
## 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).
![AST visitors](./architecture_visitors_class.svg)
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
- 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)
- [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).

View File

@@ -1,5 +1,18 @@
# 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)
* [Including packages in the diagram](#including-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
@@ -16,8 +29,7 @@ diagrams:
glob:
- src/*.cc
# Render all names in the diagram relative to specific namespace
using_namespace:
- ns1
using_namespace: ns1
# Include only classes from specific namespace
include:
namespaces:
@@ -25,7 +37,8 @@ diagrams:
```
## Classes and their properties
The basic class diagram generated by `clang-uml` and rendered using PlantUML looks like this:
The basic class diagram generated by `clang-uml` and rendered using PlantUML
looks like this:
![extension](test_cases/t00003_class.svg)
@@ -33,12 +46,15 @@ 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).
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:
In order to only include public members in the class diagrams, we can add the
following inclusion filters:
```yaml
include:
access:
@@ -56,7 +72,8 @@ To render only classes without any properties an exclusion filter can be added:
## Relationships
The following table presents the PlantUML arrows representing each relationship in the class diagrams.
The following table presents the PlantUML arrows representing each relationship
in the class diagrams.
| UML | PlantUML |
| ---- | --- |
@@ -69,17 +86,18 @@ The following table presents the PlantUML arrows representing each relationship
| Nesting (inner class/enum) | ![nesting](img/puml_nested.png) |
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:
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:
`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 { };
@@ -96,15 +114,15 @@ public:
};
```
generates the following diagram:
results in the following diagram:
![extension](test_cases/t00007_class.svg)
## 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:
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:
@@ -113,10 +131,11 @@ inclusion filters:
- inheritance
```
## Namespaces as packages
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`:
## Including 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
@@ -124,11 +143,29 @@ generate_packages: true
which results in the following diagram:
![extension](test_cases/t00036_class.svg)
![t00036_class](test_cases/t00036_class.svg)
In case the code base is structured based on subdirectory instead of namespaces,
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:
![t00065_class](test_cases/t00065_class.svg)
> 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:
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:
@@ -137,21 +174,40 @@ within the classes' documentation page, this can be easily achieved using `conte
```
## Disabling dependency relationships
In many cases, dependency relationships between classes can clutter the diagram too much, for instance consider this
diagram:
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:
![extension](test_cases/t00019_class.svg)
```yaml
skip_redundant_dependencies: false
```
where the dependency relationships do not bring much information into the diagram. In such cases it might
be useful to disable dependency relationships for this diagram completely using the following exclusion filter:
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 completely using the following exclusion filter:
```yaml
exclude:
relationships:
- dependency
```
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. In the future there might
be an option to remove the redundant dependency relationships from the diagram automatically.
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
```

View File

@@ -1,5 +1,14 @@
# 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.
@@ -18,7 +27,7 @@ The optional `:<diagram_name>` suffix will apply this decorator only to a specif
Currently, the following decorators are supported.
## `note`
## 'note'
This decorator allows to specify directly in the code comments that should be included in the generated diagrams.
@@ -78,11 +87,11 @@ class R {
};
```
generates the following class diagram:
results in the following class diagram:
![note](./test_cases/t00028_class.svg)
# `skip` and `skiprelationship`
## 'skip' and 'skiprelationship'
This decorator allows to skip the specific classes or methods from the diagrams, for instance the following code:
```cpp
@@ -132,11 +141,11 @@ struct R {
};
```
generates the following diagram:
results in the following diagram:
![skip](./test_cases/t00029_class.svg)
## `composition`, `association` and `aggregation`
## '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:
@@ -176,12 +185,12 @@ struct R {
};
```
generates the following diagram:
results in the following diagram:
![skip](./test_cases/t00030_class.svg)
## `style`
## 'style'
This decorator allows to specify in the code specific styles for diagram elements, for instance:
```cpp
@@ -217,6 +226,6 @@ struct R {
};
```
generates the following diagram:
results in the following diagram:
![skip](./test_cases/t00031_class.svg)

View File

@@ -1,18 +1,34 @@
# Common diagram generation options
<!-- toc -->
* [Overall configuration file structure](#overall-configuration-file-structure)
* [Translation unit glob patterns](#translation-unit-glob-patterns)
* [PlantUML custom directives](#plantuml-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 projects directory and read all diagrams definitions
from it. The file must be specified in YAML and it's overall structure is as follows:
```yaml
<common options for all diagrams>
# 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>
first_diagram_name:
type: class|sequence|package|include
# diagram specific options
...
second_diagram_name:
type: class|sequence|package|include
# diagram specific options
...
...
```
@@ -21,6 +37,12 @@ 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
```
## 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.
@@ -35,7 +57,7 @@ The syntax is simple and based on glob patterns, which can be added to the confi
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 much any translation units an error will be printed on the standard output.
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
@@ -71,3 +93,99 @@ 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 `argv[0]` 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})
```

View File

@@ -1,11 +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`]
@@ -13,10 +26,13 @@
* `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
@@ -27,6 +43,7 @@
* `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
@@ -43,6 +60,15 @@
```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
@@ -62,8 +88,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
@@ -86,6 +114,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:
@@ -106,3 +139,31 @@ diagrams:
before:
- 'title clang-uml class diagram model'
```
## 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

View File

@@ -1,5 +1,23 @@
# 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.
@@ -19,13 +37,49 @@ to your diagram configuration:
- 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`
## namespaces
Allows to include or exclude entities from specific namespaces.
## `elements`
## elements
Allows to directly include or exclude specific entities from the diagrams, for instance to exclude a specific class
from an included namespace:
@@ -39,7 +93,38 @@ from an included namespace:
- ns1::ns2::MyClass
```
## `context`
## 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
relative_to: ../../tests/t00061
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:
@@ -51,7 +136,7 @@ the specified class:
```
## `relationships`
## 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:
@@ -73,18 +158,63 @@ The following relationships can be used in this filter:
* friendship
* dependency
## `subclasses`
## subclasses
This filter allows to include or exclude all subclasses of a given class in the diagram.
## `specializations`
## 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.
## `dependants` and `dependencies`
## access
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
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:
@@ -156,6 +286,6 @@ and the following filter:
- dependency
```
generates the following diagram:
results in the following diagram:
![t00043_class](./test_cases/t00043_class.svg)

97
docs/diagram_templates.md Normal file
View 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
View 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">&#160;&#160;Copyright &copy; 2022-present <a href="https://github.com/bkryza">Bartek Kryza</a>
</span>
$generatedby&#160;
<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
View 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
View 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

File diff suppressed because it is too large Load Diff

611
docs/doxygen/highlight.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

View 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
View 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}

View File

@@ -1,9 +1,17 @@
# Doxygen integration
`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.
<!-- toc -->
`clang-uml` decorators can be omitted completely in Doxygen, by adding the
<!-- 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:
```
@@ -12,3 +20,43 @@ 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.

846
docs/generator_types.md Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

1
docs/img/github-mark.svg Normal file
View 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

View File

@@ -1,5 +1,11 @@
# 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 not ever depend.
@@ -40,7 +46,7 @@ The following table presents the PlantUML arrows representing relationships in t
| Include (local) | ![association](img/puml_association.png) |
| Include (system) | ![dependency](img/puml_dependency.png) |
## Tracking system headers directly included by projects files
## Tracking system headers directly included by project sources
In case you would like to include the information about what system headers your projects file include simply add
the following option to the diagram:

172
docs/installation.md Normal file
View File

@@ -0,0 +1,172 @@
# 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)
<!-- tocstop -->
### Distribution packages
#### Ubuntu
```bash
# Currently supported Ubuntu versions are Focal, Jammy and Kinetic
sudo add-apt-repository ppa:bkryza/clang-uml
sudo apt update
sudo apt install clang-uml
```
#### Fedora
```bash
# Fedora 36
wget https://github.com/bkryza/clang-uml/releases/download/0.3.8/clang-uml-0.3.8-1.fc36.x86_64.rpm
sudo dnf install ./clang-uml-0.3.8-1.fc36.x86_64.rpm
# Fedora 37
wget https://github.com/bkryza/clang-uml/releases/download/0.3.8/clang-uml-0.3.8-1.fc37.x86_64.rpm
sudo dnf install ./clang-uml-0.3.8-1.fc37.x86_64.rpm
# Fedora 38
wget https://github.com/bkryza/clang-uml/releases/download/0.3.8/clang-uml-0.3.8-1.fc38.x86_64.rpm
sudo dnf install ./clang-uml-0.3.8-1.fc38.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)
apt install ccache cmake libyaml-cpp-dev clang-12 libclang-12-dev libclang-cpp12-dev
```
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=14 make release
# Optionally
make install
# or
export PATH=$PATH:$PWD/release
```
#### macos
```bash
brew install ccache cmake llvm yaml-cpp
export CC=/usr/local/opt/llvm/bin/clang
export CCX=/usr/local/opt/llvm/bin/clang++
LLVM_VERSION=14 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.3.8
Copyright (C) 2021-2023 Bartek Kryza <bkryza@gmail.com>
Built against LLVM/Clang libraries version: 15.0.6
Using LLVM/Clang libraries version: clang version 15.0.6 (https://github.com/llvm/llvm-project.git 088f33605d8a61ff519c580a71b1dd57d16a03f8)
```
Finally, remove the temporary build directory:
```bash
rm -r C:\clang-uml-tmp
```

View File

@@ -1,5 +1,11 @@
# Interactive SVG diagrams
<!-- toc -->
<!-- tocstop -->
`clang-uml` in combination with PlantUML's 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.

View File

@@ -1,4 +1,13 @@
# 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.
@@ -93,12 +102,12 @@ Currently there are 2 available comment parsers:
They can be selected using `comment_parser` config option.
#### `plain` comment parser
#### '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
#### '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

15
docs/license.md Normal file
View 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.

View File

@@ -1,7 +1,14 @@
# Generating package diagrams
Package diagrams are simple diagrams which can be useful to determine the high level structure of a C++ project,
by rendering all projects namespaces as UML packages and their interdependencies.
<!-- toc -->
<!-- tocstop -->
Package diagrams are simple diagrams, which can be useful to visualize a high
level structure of a C++ project, by rendering all projects namespaces or
subdirectories as UML packages and their interdependencies.
The minimal config required to generate a package diagram is presented below:
```yaml
@@ -25,7 +32,7 @@ diagrams:
```
For instance the following C++ code:
```
```cpp
namespace A::AA {
namespace A1 {
struct CA {
@@ -146,6 +153,17 @@ template <typename T> std::map<T, std::shared_ptr<A::AA::A13::CM>> cm()
}
```
generates the following diagram:
results the following diagram:
![package_deps](./test_cases/t30002_package.svg)
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
![t30011_package](./test_cases/t30011_package.svg)

View File

@@ -1,10 +1,16 @@
# Quick start
<!-- toc -->
<!-- tocstop -->
To add an initial class diagram to your project, follow these steps:
1. Enter your projects top level directory and run:
```bash
$ clang-uml --init
clang-uml --init
```
2. Edit the generated `.clang-uml` file and set the following:
```yaml
@@ -20,8 +26,7 @@ To add an initial class diagram to your project, follow these steps:
glob:
- src/*.cc
# Render all names relative to `myproject` namespace
using_namespace:
- myproject
using_namespace: myproject
include:
# Include only elements in `myproject` namespace
namespaces:
@@ -33,24 +38,26 @@ To add an initial class diagram to your project, follow these steps:
```
3. Run `clang-uml` in the projects top directory:
```bash
$ clang-uml
clang-uml
# or to see generation progress for each diagram run
clang-uml --progress
```
4. Generate SVG images from the PlantUML diagrams:
```bash
$ plantuml -tsvg puml/*.puml
plantuml -tsvg puml/*.puml
```
5. Add another diagram:
```bash
$ clang-uml --add-sequence-diagram another_diagram
clang-uml --add-sequence-diagram another_diagram
```
6. Now list the diagrams defined in the config:
```bash
$ clang-uml -l
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:
7. Generate only the new diagram in JSON format:
```bash
clang-uml -n another_diagram
clang-uml -n another_diagram -g json
```

View File

@@ -1,5 +1,17 @@
# Generating sequence diagrams
<!-- toc -->
* [Sequence diagram overview](#sequence-diagram-overview)
* [Specifying diagram entry point](#specifying-diagram-entry-point)
* [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)
<!-- 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
@@ -49,7 +61,7 @@ diagram should start. Currently, the entry point can only be a method or a free
configuration property, for instance:
```yaml
start_from:
- function: "main(int,char**)"
- function: "main(int,const char**)"
```
or
```yaml
@@ -57,31 +69,31 @@ start_from:
- function: "clanguml::sequence_diagram::visitor::translation_unit_visitor::VisitCXXRecordDecl(clang::CXXRecordDecl *)"
```
The entrypoints must be fully qualified and they must match exactly the string representation of given function or
method in the `clang-uml` model, which can be frustrating after few attempts.
If not sure, the best way is to put anything in the `function`
property value at first, run the `clang-uml` on the diagram with verbose set to `-vvv` and look in the logs
for the relevant function signature. At the end of the diagram generation at this verbosity level, `clang-uml` will
generate a textual representation of all discovered activities relevant for this diagram, for instance if you're looking
_for exact signature of method `translation_unit_visitor::VisitCXXRecordDecl`, look for similar_
output in the logs:
The entrypoints must be fully qualified and they must match exactly the string
representation of given function or method in the `clang-uml` model.
To find the exact function signature run `clang-uml` as follows:
```bash
[trace] [tid 3842954] [diagram.cc:194] Sequence id=1875210076312968845:
[trace] [tid 3842954] [diagram.cc:198] Activity id=1875210076312968845, from=clanguml::sequence_diagram::visitor::translation_unit_visitor::VisitCXXRecordDecl(clang::CXXRecordDecl *):
[trace] [tid 3842954] [diagram.cc:208] Message from=clanguml::sequence_diagram::visitor::translation_unit_visitor::VisitCXXRecordDecl(clang::CXXRecordDecl *), from_id=1875210076312968845, to=__UNRESOLVABLE_ID__, to_id=0, name=, type=if
[trace] [tid 3842954] [diagram.cc:217] Message from=clanguml::sequence_diagram::visitor::translation_unit_visitor::VisitCXXRecordDecl(clang::CXXRecordDecl *), from_id=1875210076312968845, to=clanguml::sequence_diagram::visitor::translation_unit_visitor::should_include(const clang::TagDecl *), to_id=664596622746486441, name=should_include, type=call
clang-uml --print-start-from -n main_sequence | grep main
```
Then you just need to copy and paste the signature exactly and rerun `clang-uml`.
Command line flag `--print-start-from` 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` option 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:
@@ -93,12 +105,13 @@ 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 be generated at the point where lambda is passed as parameter
* If the lambda is passed as template parameter in instantiation it will not be generated at the moment at all
(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>
@@ -198,7 +211,7 @@ void tmain()
}
```
generates the following diagram:
results in the following diagram:
![extension](test_cases/t20012_sequence.svg)
@@ -222,15 +235,47 @@ diagrams:
exclude:
access:
- private
using_namespace:
- clanguml::t20029
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 &&)
- "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` generation, 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:
![extension](test_cases/t20032_sequence.svg)
## 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:
![extension](test_cases/t20033_sequence.svg)

View File

@@ -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
@@ -49,6 +55,23 @@
* [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
## Sequence diagrams
* [t20001](./test_cases/t20001.md) - Basic sequence diagram test case
* [t20002](./test_cases/t20002.md) - Free function sequence diagram test case
@@ -79,6 +102,10 @@
* [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
## Package diagrams
* [t30001](./test_cases/t30001.md) - Basic package diagram test case
* [t30002](./test_cases/t30002.md) - Package dependency test case
@@ -88,6 +115,9 @@
* [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
## Include diagrams
* [t40001](./test_cases/t40001.md) - Basic include graph diagram test case
* [t40002](./test_cases/t40002.md) - Cyclic include graph diagram test case

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="f1gxiis86xsxt0" width="300%" x="-1" y="-1">
<filter height="300%" id="fxxknsjwx6t6b" 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"/>
@@ -9,83 +9,123 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L7" target="_top" title="This is class A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L7" xlink:show="new" xlink:title="This is class A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1gxiis86xsxt0)" height="73.6094" id="C_0000987634239855407298" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="294" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L7" target="_top" title="This is class A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L7" xlink:show="new" xlink:title="This is class A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fxxknsjwx6t6b)" 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>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L16" target="_top" title="This is class B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L16" xlink:show="new" xlink:title="This is class B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1gxiis86xsxt0)" height="60.8047" id="C_0000594234458687375950" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="69.5" y="143"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L10" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L10" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="300" y="46"/>
<ellipse cx="305" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L10" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L10" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="99" x="314" y="54.2104">foo_a() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L12" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L12" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="300" y="58.8047"/>
<ellipse cx="305" cy="63.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L12" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L12" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="98" x="314" y="67.0151">foo_c() = 0 : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="295" x2="418" y1="73.6094" y2="73.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L16" target="_top" title="This is class B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L16" xlink:show="new" xlink:title="This is class B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fxxknsjwx6t6b)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L27" xlink:show="new" xlink:title="This is class C - class C has a long comment" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1gxiis86xsxt0)" height="60.8047" id="C_0001142499429598587507" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="307" y="143"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L18" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L18" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="75.5" y="181"/>
<ellipse cx="80.5" cy="186" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L18" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L18" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="89.5" y="189.2104">foo_a() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="70.5" x2="168.5" y1="195.8047" y2="195.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L27" xlink:show="new" xlink:title="This is class C - class C has a long comment" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fxxknsjwx6t6b)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L36" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L36" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1gxiis86xsxt0)" height="86.4141" id="C_0000060950494980414724" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="33.5" y="265"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L30" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L30" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="313" y="181"/>
<ellipse cx="318" cy="186" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L30" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L30" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="327" y="189.2104">foo_c() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="308" x2="405" y1="195.8047" y2="195.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L36" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L36" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fxxknsjwx6t6b)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L41" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L41" xlink:show="new" xlink:title="foo_a" 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"/>
<ellipse cx="44.5" cy="308" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" 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&lt;A *&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L41" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L41" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="53.5" y="311.2104">foo_a() : void</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L61" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L61" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1gxiis86xsxt0)" height="86.4141" id="C_0002237886670308966220" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="403.5" y="265"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L50" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L50" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="39.5" y="315.8047"/>
<ellipse cx="44.5" cy="320.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L50" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L50" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="53.5" y="324.0151">foo_c() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="34.5" x2="180.5" y1="330.6094" y2="330.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="39.5" y="336.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="41.5" y="338.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L58" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L58" xlink:show="new" xlink:title="as" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="53.5" y="344.8198">as : std::vector&lt;A *&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L61" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L61" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fxxknsjwx6t6b)" 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L66" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L66" xlink:show="new" xlink:title="foo_a" 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"/>
<ellipse cx="414.5" cy="308" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" 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&lt;A *&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L66" target="_top" title="foo_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L66" xlink:show="new" xlink:title="foo_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="423.5" y="311.2104">foo_a() : void</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(#f1gxiis86xsxt0)" style="stroke: #A80036; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L75" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L75" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="409.5" y="315.8047"/>
<ellipse cx="414.5" cy="320.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L75" target="_top" title="foo_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L75" xlink:show="new" xlink:title="foo_c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="423.5" y="324.0151">foo_c() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="404.5" x2="550.5" y1="330.6094" y2="330.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="409.5" y="336.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="411.5" y="338.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L83" target="_top" title="as" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00002/t00002.cc#L83" xlink:show="new" xlink:title="as" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="423.5" y="344.8198">as : std::vector&lt;A *&gt;</text>
</a>
<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(#fxxknsjwx6t6b)" 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(#f1gxiis86xsxt0)" style="stroke: #A80036; stroke-width: 1.0;"/>
<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(#fxxknsjwx6t6b)" 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,265 L217,304 L181.57,308 L217,312 L217,350.6641 A0,0 0 0 0 217,350.6641 L368,350.6641 A0,0 0 0 0 368,350.6641 L368,275 L358,265 L217,265 A0,0 0 0 0 217,265 " fill="#FBFB77" filter="url(#f1gxiis86xsxt0)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M217,265 L217,304 L181.57,308 L217,312 L217,350.6641 A0,0 0 0 0 217,350.6641 L368,350.6641 A0,0 0 0 0 368,350.6641 L368,275 L358,265 L217,265 A0,0 0 0 0 217,265 " fill="#FBFB77" filter="url(#fxxknsjwx6t6b)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M358,265 L358,275 L368,275 L358,265 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="235" y="282.0669"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="223" y="297.1997">This is class D</text>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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" contentScriptType="application/ecmascript" contentStyleType="text/css" height="486px" preserveAspectRatio="none" style="width:347px;height:486px;" version="1.1" viewBox="0 0 347 486" width="347px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fb465xwehr7vj" width="300%" x="-1" y="-1">
<filter height="300%" id="fgc5xpb3ycjk3" 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"/>
@@ -9,115 +9,228 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fb465xwehr7vj)" height="380.9219" id="C_0001371951663534295727" style="stroke: #A80036; stroke-width: 1.5;" width="329" x="7" y="7"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgc5xpb3ycjk3)" height="468.9453" 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L34" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L34" xlink:show="new" xlink:title="public_member" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L9" 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="45"/>
<ellipse cx="18" cy="50" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<ellipse cx="18" cy="50" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L34" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="27" y="53.2104">A() = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L42" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="protected_member" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L10" 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="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;"/>
<ellipse cx="18" cy="62.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L42" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L10" xlink:show="new" xlink:title="A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="27" y="66.0151">A(int i) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L51" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L51" xlink:show="new" xlink:title="private_member" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L21" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L21" 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="70.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="72.6094"/>
<ellipse cx="18" cy="75.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L51" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L21" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L21" xlink:show="new" xlink:title="A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="27" y="78.8198">A(A &amp;&amp;) = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="a_" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L22" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L22" 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"/>
<ellipse cx="18" cy="88.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L22" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L22" xlink:show="new" xlink:title="A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="165" x="27" y="91.6245">A(const A &amp;) = deleted : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" xlink:show="new" xlink:title="c_" xlink:type="simple">
<ellipse cx="18" cy="101.2188" 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="90" x="27" y="104.4292">A&lt;T&gt;(T t) : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L23" target="_top" title="~A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L23" 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="109.0234"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="111.0234"/>
<ellipse cx="18" cy="114.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L52" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L23" target="_top" title="~A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L23" xlink:show="new" xlink:title="~A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="27" y="117.2339">~A() = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L35" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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;"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="335" y1="123.8281" y2="123.8281"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L36" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="129.8281"/>
<ellipse cx="18" cy="134.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L35" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L36" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L36" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="219" x="27" y="138.0386">operator=(A &amp;&amp; other) noexcept : A &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L36" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L37" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="142.6328"/>
<ellipse cx="18" cy="147.6328" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L36" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L37" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L37" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="27" y="150.8433">operator=(A &amp; other) noexcept : A &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L37" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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;"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="335" y1="157.4375" y2="157.4375"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L30" target="_top" title="operator++" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L30" xlink:show="new" xlink:title="operator++" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="163.4375"/>
<ellipse cx="18" cy="168.4375" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L37" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L30" target="_top" title="operator++" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L30" xlink:show="new" xlink:title="operator++" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="27" y="171.6479">operator++() : A &amp;</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="141" x="27" y="202.062">A(A &amp;&amp; ) = 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="166" x="27" y="214.8667">A(const A &amp; ) = 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="137" x="27" y="342.9136">create_from_int(int i) : 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L44" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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;"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="335" y1="178.2422" y2="178.2422"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L28" target="_top" title="auto_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L28" xlink:show="new" xlink:title="auto_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="184.2422"/>
<ellipse cx="18" cy="189.2422" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00003/t00003.cc#L44" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;bool (const int)&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L28" target="_top" title="auto_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L28" xlink:show="new" xlink:title="auto_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="27" y="192.4526">auto_method() : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L25" target="_top" title="basic_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L25" xlink:show="new" xlink:title="basic_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="197.0469"/>
<ellipse cx="18" cy="202.0469" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L25" target="_top" title="basic_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L25" xlink:show="new" xlink:title="basic_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="27" y="205.2573">basic_method() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L27" target="_top" title="const_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L27" xlink:show="new" xlink:title="const_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="209.8516"/>
<ellipse cx="18" cy="214.8516" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L27" target="_top" title="const_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L27" xlink:show="new" xlink:title="const_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="158" x="27" y="218.062">const_method() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L50" target="_top" title="create_from_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L50" xlink:show="new" xlink:title="create_from_int" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="222.6563"/>
<ellipse cx="18" cy="227.6563" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L50" target="_top" title="create_from_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="137" x="27" y="230.8667">create_from_int(int i) : A</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L44" target="_top" title="default_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="default_int" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="235.4609"/>
<ellipse cx="18" cy="240.4609" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L44" target="_top" title="default_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L44" xlink:show="new" xlink:title="default_int" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="27" y="243.6714">default_int(int i = 12) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L45" target="_top" title="default_string" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L45" xlink:show="new" xlink:title="default_string" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="248.2656"/>
<ellipse cx="18" cy="253.2656" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L45" target="_top" title="default_string" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L45" xlink:show="new" xlink:title="default_string" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="303" x="27" y="256.4761">default_string(int i, std::string s = "abc") : std::string</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L41" target="_top" title="double_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L41" xlink:show="new" xlink:title="double_int" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="261.0703"/>
<ellipse cx="18" cy="266.0703" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L41" target="_top" title="double_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L41" xlink:show="new" xlink:title="double_int" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="27" y="269.2808">double_int(const int i) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L67" target="_top" title="private_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L67" xlink:show="new" xlink:title="private_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="273.875"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="275.875"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L67" target="_top" title="private_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L67" xlink:show="new" xlink:title="private_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="131" x="27" y="282.0854">private_method() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L58" target="_top" title="protected_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L58" xlink:show="new" xlink:title="protected_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="286.6797"/>
<polygon fill="#FFFF44" points="18,286.6797,22,290.6797,18,294.6797,14,290.6797" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L58" target="_top" title="protected_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L58" xlink:show="new" xlink:title="protected_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="27" y="294.8901">protected_method() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L39" target="_top" title="size" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L39" xlink:show="new" xlink:title="size" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="299.4844"/>
<ellipse cx="18" cy="304.4844" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L39" target="_top" title="size" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L39" xlink:show="new" xlink:title="size" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="27" y="307.6948">size() constexpr const : std::size_t</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L26" target="_top" title="static_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L26" xlink:show="new" xlink:title="static_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="312.2891"/>
<ellipse cx="18" cy="317.2891" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L26" target="_top" title="static_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L26" xlink:show="new" xlink:title="static_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="114" x="27" y="320.4995">static_method() : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L42" target="_top" title="sum" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="sum" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="13" y="325.0938"/>
<ellipse cx="18" cy="330.0938" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L42" target="_top" title="sum" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L42" xlink:show="new" xlink:title="sum" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="27" y="333.3042">sum(const double a, const double b) : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="335" y1="339.8984" y2="339.8984"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="345.8984"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="347.8984"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="a_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="354.1089">a_ : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L55" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L55" 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="358.7031"/>
<ellipse cx="18" cy="363.7031" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L55" target="_top" title="auto_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L55" 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="366.9136">auto_member : const unsigned long</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="371.5078"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="373.5078"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="b_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="379.7183">b_ : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="384.3125"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="386.3125"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" target="_top" title="c_" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L70" 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="392.5229">c_ : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L62" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L62" 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="397.1172"/>
<polygon fill="#FFFF44" points="18,397.1172,22,401.1172,18,405.1172,14,401.1172" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L62" target="_top" title="compare" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L62" 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="405.3276">compare : std::function&lt;bool (const int)&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L69" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L69" 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="409.9219"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="15" y="411.9219"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L69" target="_top" title="private_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L69" 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="418.1323">private_member : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L60" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L60" 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="422.7266"/>
<polygon fill="none" points="18,422.7266,22,426.7266,18,430.7266,14,426.7266" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L60" target="_top" title="protected_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L60" 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="430.937">protected_member : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L52" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L52" 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="435.5313"/>
<ellipse cx="18" cy="440.5313" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L52" target="_top" title="public_member" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L52" 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="443.7417">public_member : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L54" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L54" 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="448.3359"/>
<ellipse cx="18" cy="453.3359" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L54" target="_top" title="static_const_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="149" x="27" y="456.5464">static_const_int : const int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L53" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L53" 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="461.1406"/>
<ellipse cx="18" cy="466.1406" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L53" target="_top" title="static_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00003/t00003.cc#L53" 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="469.3511">static_int : int</text>
</a>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="374px" preserveAspectRatio="none" style="width:1071px;height:374px;" version="1.1" viewBox="0 0 1071 374" width="1071px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f1n72dimntkbwd" width="300%" x="-1" y="-1">
<filter height="300%" id="f1u2qlpmg3opxe" 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"/>
@@ -9,16 +9,16 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L4" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L4" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0001232624428734051711" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="18" y="168"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L4" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L4" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0001232624428734051711" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="18" y="168"/>
<ellipse cx="33" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M35.9688,189.6406 Q35.3906,189.9375 34.75,190.0781 Q34.1094,190.2344 33.4063,190.2344 Q30.9063,190.2344 29.5781,188.5938 Q28.2656,186.9375 28.2656,183.8125 Q28.2656,180.6875 29.5781,179.0313 Q30.9063,177.375 33.4063,177.375 Q34.1094,177.375 34.75,177.5313 Q35.4063,177.6875 35.9688,177.9844 L35.9688,180.7031 Q35.3438,180.125 34.75,179.8594 Q34.1563,179.5781 33.5313,179.5781 Q32.1875,179.5781 31.5,180.6563 Q30.8125,181.7188 30.8125,183.8125 Q30.8125,185.9063 31.5,186.9844 Q32.1875,188.0469 33.5313,188.0469 Q34.1563,188.0469 34.75,187.7813 Q35.3438,187.5 35.9688,186.9219 L35.9688,189.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="47" y="188.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="19" x2="57" y1="200" y2="200"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="19" x2="57" y1="208" y2="208"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L6" target="_top" title="B##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L6" xlink:show="new" xlink:title="B##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="86.4141" id="C_0001630205507215126623" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="6" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L6" target="_top" title="B##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L6" xlink:show="new" xlink:title="B##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="86.4141" id="C_0001630205507215126623" style="stroke: #A80036; stroke-width: 1.5;" width="64" 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="32" x="35" y="28.1543">B::AA</text>
@@ -28,28 +28,38 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="27" x="12" y="79.8198">AA_3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="69" y1="86.4141" y2="86.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="73.6094" id="C_0001552274940876611774" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="176.5" y="290"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="73.6094" id="C_0001552274940876611774" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="176.5" y="290"/>
<ellipse cx="232.75" cy="306" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M235.7188,311.6406 Q235.1406,311.9375 234.5,312.0781 Q233.8594,312.2344 233.1563,312.2344 Q230.6563,312.2344 229.3281,310.5938 Q228.0156,308.9375 228.0156,305.8125 Q228.0156,302.6875 229.3281,301.0313 Q230.6563,299.375 233.1563,299.375 Q233.8594,299.375 234.5,299.5313 Q235.1563,299.6875 235.7188,299.9844 L235.7188,302.7031 Q235.0938,302.125 234.5,301.8594 Q233.9063,301.5781 233.2813,301.5781 Q231.9375,301.5781 231.25,302.6563 Q230.5625,303.7188 230.5625,305.8125 Q230.5625,307.9063 231.25,308.9844 Q231.9375,310.0469 233.2813,310.0469 Q233.9063,310.0469 234.5,309.7813 Q235.0938,309.5 235.7188,308.9219 L235.7188,311.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="253.25" y="310.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="177.5" x2="304.5" y1="322" y2="322"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="177.5" x2="304.5" y1="330" y2="330"/>
<ellipse cx="187.5" cy="341" 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="196.5" y="344.2104">foo() const : void</text>
<ellipse cx="187.5" cy="353.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="196.5" y="357.0151">foo2() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L13" target="_top" title="A##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L13" xlink:show="new" xlink:title="A##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0001742499843727859552" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="209" y="168"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L11" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L11" xlink:show="new" xlink:title="foo" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="182.5" y="328"/>
<ellipse cx="187.5" cy="333" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L11" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L11" xlink:show="new" xlink:title="foo" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="196.5" y="336.2104">foo() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L20" target="_top" title="foo2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L20" xlink:show="new" xlink:title="foo2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="182.5" y="340.8047"/>
<ellipse cx="187.5" cy="345.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L20" target="_top" title="foo2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L20" xlink:show="new" xlink:title="foo2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="103" x="196.5" y="349.0151">foo2() const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="177.5" x2="304.5" y1="355.6094" y2="355.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L13" target="_top" title="A##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L13" xlink:show="new" xlink:title="A##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0001742499843727859552" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="209" y="168"/>
<ellipse cx="224" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M226.9688,189.6406 Q226.3906,189.9375 225.75,190.0781 Q225.1094,190.2344 224.4063,190.2344 Q221.9063,190.2344 220.5781,188.5938 Q219.2656,186.9375 219.2656,183.8125 Q219.2656,180.6875 220.5781,179.0313 Q221.9063,177.375 224.4063,177.375 Q225.1094,177.375 225.75,177.5313 Q226.4063,177.6875 226.9688,177.9844 L226.9688,180.7031 Q226.3438,180.125 225.75,179.8594 Q225.1563,179.5781 224.5313,179.5781 Q223.1875,179.5781 222.5,180.6563 Q221.8125,181.7188 221.8125,183.8125 Q221.8125,185.9063 222.5,186.9844 Q223.1875,188.0469 224.5313,188.0469 Q225.1563,188.0469 225.75,187.7813 Q226.3438,187.5 226.9688,186.9219 L226.9688,189.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="32" x="238" y="188.1543">A::AA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="210" x2="272" y1="200" y2="200"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="210" x2="272" y1="208" y2="208"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L15" target="_top" title="A##AA##Lights" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L15" xlink:show="new" xlink:title="A##AA##Lights" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="86.4141" id="C_0000590936874508841244" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="105.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L15" target="_top" title="A##AA##Lights" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L15" xlink:show="new" xlink:title="A##AA##Lights" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="86.4141" id="C_0000590936874508841244" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="105.5" y="8"/>
<ellipse cx="120.5" cy="24" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M124.6094,30 L116.8906,30 L116.8906,17.6094 L124.6094,17.6094 L124.6094,19.7656 L119.3438,19.7656 L119.3438,22.4375 L124.1094,22.4375 L124.1094,24.5938 L119.3438,24.5938 L119.3438,27.8438 L124.6094,27.8438 L124.6094,30 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="134.5" y="28.1543">A::AA::Lights</text>
@@ -59,15 +69,16 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="111.5" y="79.8198">Red</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="106.5" x2="213.5" y1="86.4141" y2="86.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L17" target="_top" title="A##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L17" xlink:show="new" xlink:title="A##AA##AAA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0001430186633004282131" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="250" y="27"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L17" target="_top" title="A##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L17" xlink:show="new" xlink:title="A##AA##AAA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0001430186633004282131" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="250" y="27"/>
<ellipse cx="265" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M267.9688,48.6406 Q267.3906,48.9375 266.75,49.0781 Q266.1094,49.2344 265.4063,49.2344 Q262.9063,49.2344 261.5781,47.5938 Q260.2656,45.9375 260.2656,42.8125 Q260.2656,39.6875 261.5781,38.0313 Q262.9063,36.375 265.4063,36.375 Q266.1094,36.375 266.75,36.5313 Q267.4063,36.6875 267.9688,36.9844 L267.9688,39.7031 Q267.3438,39.125 266.75,38.8594 Q266.1563,38.5781 265.5313,38.5781 Q264.1875,38.5781 263.5,39.6563 Q262.8125,40.7188 262.8125,42.8125 Q262.8125,44.9063 263.5,45.9844 Q264.1875,47.0469 265.5313,47.0469 Q266.1563,47.0469 266.75,46.7813 Q267.3438,46.5 267.9688,45.9219 L267.9688,48.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="279" y="47.1543">A::AA::AAA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="345" y1="59" y2="59"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="345" y1="67" y2="67"/>
</a>
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0000287819369330075965" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="418" y="27"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L33" target="_top" title="C##B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L33" xlink:show="new" xlink:title="C##B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0000287819369330075965" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="418" y="27"/>
<ellipse cx="433" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M435.9688,48.6406 Q435.3906,48.9375 434.75,49.0781 Q434.1094,49.2344 433.4063,49.2344 Q430.9063,49.2344 429.5781,47.5938 Q428.2656,45.9375 428.2656,42.8125 Q428.2656,39.6875 429.5781,38.0313 Q430.9063,36.375 433.4063,36.375 Q434.1094,36.375 434.75,36.5313 Q435.4063,36.6875 435.9688,36.9844 L435.9688,39.7031 Q435.3438,39.125 434.75,38.8594 Q434.1563,38.5781 433.5313,38.5781 Q432.1875,38.5781 431.5,39.6563 Q430.8125,40.7188 430.8125,42.8125 Q430.8125,44.9063 431.5,45.9844 Q432.1875,47.0469 433.5313,47.0469 Q434.1563,47.0469 434.75,46.7813 Q435.3438,46.5 435.9688,45.9219 L435.9688,48.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="24" x="447" y="47.1543">C::B</text>
@@ -75,48 +86,49 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="480" y="36.1387">int</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="419" x2="493" y1="59" y2="59"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="419" x2="493" y1="67" y2="67"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L24" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L24" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="73.6094" id="C_0002278328177727440136" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="490.5" y="290"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L23" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L23" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="73.6094" id="C_0002278328177727440136" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="490.5" y="290"/>
<ellipse cx="529.8" cy="306" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M532.7688,311.6406 Q532.1906,311.9375 531.55,312.0781 Q530.9094,312.2344 530.2063,312.2344 Q527.7063,312.2344 526.3781,310.5938 Q525.0656,308.9375 525.0656,305.8125 Q525.0656,302.6875 526.3781,301.0313 Q527.7063,299.375 530.2063,299.375 Q530.9094,299.375 531.55,299.5313 Q532.2063,299.6875 532.7688,299.9844 L532.7688,302.7031 Q532.1438,302.125 531.55,301.8594 Q530.9563,301.5781 530.3313,301.5781 Q528.9875,301.5781 528.3,302.6563 Q527.6125,303.7188 527.6125,305.8125 Q527.6125,307.9063 528.3,308.9844 Q528.9875,310.0469 530.3313,310.0469 Q530.9563,310.0469 531.55,309.7813 Q532.1438,309.5 532.7688,308.9219 L532.7688,311.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="549.2" y="310.1543">C</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="589.5" y="287"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="590.5" y="299.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="491.5" x2="594.5" y1="322" y2="322"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="491.5" x2="594.5" y1="330" y2="330"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L26" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L26" xlink:show="new" xlink:title="t" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="496.5" y="328"/>
<ellipse cx="501.5" cy="333" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L37" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L37" xlink:show="new" xlink:title="b_int" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="496.5" y="336"/>
<ellipse cx="501.5" cy="341" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L26" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L26" xlink:show="new" xlink:title="t" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="510.5" y="336.2104">t : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L37" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L37" xlink:show="new" xlink:title="b_int" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="510.5" y="344.2104">b_int : B&lt;int&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L39" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L39" xlink:show="new" xlink:title="b_int" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="496.5" y="340.8047"/>
<ellipse cx="501.5" cy="345.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L25" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L25" xlink:show="new" xlink:title="t" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="496.5" y="348.8047"/>
<ellipse cx="501.5" cy="353.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L39" target="_top" title="b_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L39" xlink:show="new" xlink:title="b_int" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="510.5" y="349.0151">b_int : B&lt;int&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L25" target="_top" title="t" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L25" xlink:show="new" xlink:title="t" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="510.5" y="357.0151">t : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="491.5" x2="594.5" y1="355.6094" y2="355.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L28" target="_top" title="C##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L28" xlink:show="new" xlink:title="C##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0000623940132897927654" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="584" y="168"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L27" target="_top" title="C##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L27" xlink:show="new" xlink:title="C##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0000623940132897927654" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="584" y="168"/>
<ellipse cx="599" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M601.9688,189.6406 Q601.3906,189.9375 600.75,190.0781 Q600.1094,190.2344 599.4063,190.2344 Q596.9063,190.2344 595.5781,188.5938 Q594.2656,186.9375 594.2656,183.8125 Q594.2656,180.6875 595.5781,179.0313 Q596.9063,177.375 599.4063,177.375 Q600.1094,177.375 600.75,177.5313 Q601.4063,177.6875 601.9688,177.9844 L601.9688,180.7031 Q601.3438,180.125 600.75,179.8594 Q600.1563,179.5781 599.5313,179.5781 Q598.1875,179.5781 597.5,180.6563 Q596.8125,181.7188 596.8125,183.8125 Q596.8125,185.9063 597.5,186.9844 Q598.1875,188.0469 599.5313,188.0469 Q600.1563,188.0469 600.75,187.7813 Q601.3438,187.5 601.9688,186.9219 L601.9688,189.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="32" x="613" y="188.1543">C::AA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="585" x2="647" y1="200" y2="200"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="585" x2="647" y1="208" y2="208"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L29" target="_top" title="C##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L29" xlink:show="new" xlink:title="C##AA##AAA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0001597801087286500866" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="545" y="27"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L28" target="_top" title="C##AA##AAA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L28" xlink:show="new" xlink:title="C##AA##AAA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0001597801087286500866" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="545" y="27"/>
<ellipse cx="560" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M562.9688,48.6406 Q562.3906,48.9375 561.75,49.0781 Q561.1094,49.2344 560.4063,49.2344 Q557.9063,49.2344 556.5781,47.5938 Q555.2656,45.9375 555.2656,42.8125 Q555.2656,39.6875 556.5781,38.0313 Q557.9063,36.375 560.4063,36.375 Q561.1094,36.375 561.75,36.5313 Q562.4063,36.6875 562.9688,36.9844 L562.9688,39.7031 Q562.3438,39.125 561.75,38.8594 Q561.1563,38.5781 560.5313,38.5781 Q559.1875,38.5781 558.5,39.6563 Q557.8125,40.7188 557.8125,42.8125 Q557.8125,44.9063 558.5,45.9844 Q559.1875,47.0469 560.5313,47.0469 Q561.1563,47.0469 561.75,46.7813 Q562.3438,46.5 562.9688,45.9219 L562.9688,48.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="574" y="47.1543">C::AA::AAA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="546" x2="640" y1="59" y2="59"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="546" x2="640" y1="67" y2="67"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L32" target="_top" title="C##AA##CCC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L32" xlink:show="new" xlink:title="C##AA##CCC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="73.6094" id="C_0000081819202639599734" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="676" y="14"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L30" target="_top" title="C##AA##CCC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L30" xlink:show="new" xlink:title="C##AA##CCC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="73.6094" id="C_0000081819202639599734" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="676" y="14"/>
<ellipse cx="691" cy="30" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M695.1094,36 L687.3906,36 L687.3906,23.6094 L695.1094,23.6094 L695.1094,25.7656 L689.8438,25.7656 L689.8438,28.4375 L694.6094,28.4375 L694.6094,30.5938 L689.8438,30.5938 L689.8438,33.8438 L695.1094,33.8438 L695.1094,36 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="705" y="34.1543">C::AA::CCC</text>
@@ -125,25 +137,25 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="682" y="73.0151">CCC_2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="677" x2="771" y1="79.6094" y2="79.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L35" target="_top" title="C##B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L35" xlink:show="new" xlink:title="C##B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="60.8047" id="C_0001381298335849583950" style="stroke: #A80036; stroke-width: 1.5;" width="68" x="366" y="161.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L33" target="_top" title="C##B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L33" xlink:show="new" xlink:title="C##B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="60.8047" id="C_0001381298335849583950" style="stroke: #A80036; stroke-width: 1.5;" width="68" x="366" y="161.5"/>
<ellipse cx="381" cy="177.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M383.9688,183.1406 Q383.3906,183.4375 382.75,183.5781 Q382.1094,183.7344 381.4063,183.7344 Q378.9063,183.7344 377.5781,182.0938 Q376.2656,180.4375 376.2656,177.3125 Q376.2656,174.1875 377.5781,172.5313 Q378.9063,170.875 381.4063,170.875 Q382.1094,170.875 382.75,171.0313 Q383.4063,171.1875 383.9688,171.4844 L383.9688,174.2031 Q383.3438,173.625 382.75,173.3594 Q382.1563,173.0781 381.5313,173.0781 Q380.1875,173.0781 379.5,174.1563 Q378.8125,175.2188 378.8125,177.3125 Q378.8125,179.4063 379.5,180.4844 Q380.1875,181.5469 381.5313,181.5469 Q382.1563,181.5469 382.75,181.2813 Q383.3438,181 383.9688,180.4219 L383.9688,183.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="24" x="395" y="181.6543">C::B</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="10" x="427" y="158.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="428" y="170.6387">V</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="367" x2="433" y1="193.5" y2="193.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="367" x2="433" y1="201.5" y2="201.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L36" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L36" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372" y="199.5"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="374" y="201.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L34" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L34" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372" y="207.5"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="374" y="209.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L36" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L36" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="386" y="207.7104">b : V</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L34" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L34" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="386" y="215.7104">b : V</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="367" x2="433" y1="214.3047" y2="214.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L41" target="_top" title="C##CC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L41" xlink:show="new" xlink:title="C##CC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="73.6094" id="C_0002037378936100378699" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="683" y="155"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L39" target="_top" title="C##CC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L39" xlink:show="new" xlink:title="C##CC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="73.6094" id="C_0002037378936100378699" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="683" y="155"/>
<ellipse cx="698" cy="171" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M702.1094,177 L694.3906,177 L694.3906,164.6094 L702.1094,164.6094 L702.1094,166.7656 L696.8438,166.7656 L696.8438,169.4375 L701.6094,169.4375 L701.6094,171.5938 L696.8438,171.5938 L696.8438,174.8438 L702.1094,174.8438 L702.1094,177 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="32" x="712" y="175.1543">C::CC</text>
@@ -152,16 +164,16 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="29" x="689" y="214.0151">CC_2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="684" x2="746" y1="220.6094" y2="220.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L45" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L45" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0000612133170877135796" style="stroke: #A80036; stroke-width: 1.5;" width="84" x="891" y="168"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L43" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L43" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0000612133170877135796" style="stroke: #A80036; stroke-width: 1.5;" width="84" x="891" y="168"/>
<ellipse cx="906" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M908.9688,189.6406 Q908.3906,189.9375 907.75,190.0781 Q907.1094,190.2344 906.4063,190.2344 Q903.9063,190.2344 902.5781,188.5938 Q901.2656,186.9375 901.2656,183.8125 Q901.2656,180.6875 902.5781,179.0313 Q903.9063,177.375 906.4063,177.375 Q907.1094,177.375 907.75,177.5313 Q908.4063,177.6875 908.9688,177.9844 L908.9688,180.7031 Q908.3438,180.125 907.75,179.8594 Q907.1563,179.5781 906.5313,179.5781 Q905.1875,179.5781 904.5,180.6563 Q903.8125,181.7188 903.8125,183.8125 Q903.8125,185.9063 904.5,186.9844 Q905.1875,188.0469 906.5313,188.0469 Q907.1563,188.0469 907.75,187.7813 Q908.3438,187.5 908.9688,186.9219 L908.9688,189.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="52" x="920" y="188.1543">detail::D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="892" x2="974" y1="200" y2="200"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="892" x2="974" y1="208" y2="208"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L47" target="_top" title="D##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L47" xlink:show="new" xlink:title="D##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="86.4141" id="C_0001572080057917630922" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="807" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L45" target="_top" title="D##AA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L45" xlink:show="new" xlink:title="D##AA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="86.4141" id="C_0001572080057917630922" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="807" y="8"/>
<ellipse cx="822" cy="24" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M826.1094,30 L818.3906,30 L818.3906,17.6094 L826.1094,17.6094 L826.1094,19.7656 L820.8438,19.7656 L820.8438,22.4375 L825.6094,22.4375 L825.6094,24.5938 L820.8438,24.5938 L820.8438,27.8438 L826.1094,27.8438 L826.1094,30 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="836" y="28.1543">detail::D::AA</text>
@@ -171,8 +183,8 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="27" x="813" y="79.8198">AA_3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="808" x2="914" y1="86.4141" y2="86.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L49" target="_top" title="D##DD" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00004/t00004.cc#L49" xlink:show="new" xlink:title="D##DD" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1n72dimntkbwd)" height="48" id="C_0000600916232677555492" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="950" y="27"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L47" target="_top" title="D##DD" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00004/t00004.cc#L47" xlink:show="new" xlink:title="D##DD" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1u2qlpmg3opxe)" height="48" id="C_0000600916232677555492" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="950" y="27"/>
<ellipse cx="965" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M967.9688,48.6406 Q967.3906,48.9375 966.75,49.0781 Q966.1094,49.2344 965.4063,49.2344 Q962.9063,49.2344 961.5781,47.5938 Q960.2656,45.9375 960.2656,42.8125 Q960.2656,39.6875 961.5781,38.0313 Q962.9063,36.375 965.4063,36.375 Q966.1094,36.375 966.75,36.5313 Q967.4063,36.6875 967.9688,36.9844 L967.9688,39.7031 Q967.3438,39.125 966.75,38.8594 Q966.1563,38.5781 965.5313,38.5781 Q964.1875,38.5781 963.5,39.6563 Q962.8125,40.7188 962.8125,42.8125 Q962.8125,44.9063 963.5,45.9844 Q964.1875,47.0469 965.5313,47.0469 Q966.1563,47.0469 966.75,46.7813 Q967.3438,46.5 967.9688,45.9219 L967.9688,48.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="78" x="979" y="47.1543">detail::D::DD</text>

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="384px" preserveAspectRatio="none" style="width:799px;height:384px;" version="1.1" viewBox="0 0 799 384" width="799px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fd3t3iwwoh8hq" width="300%" x="-1" y="-1">
<filter height="300%" id="f1h1p7mrb49cwr" 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"/>
@@ -9,207 +9,207 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L3" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L3" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000096355893895780319" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L3" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L3" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000096355893895780319" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="325"/>
<ellipse cx="21" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M23.9688,346.6406 Q23.3906,346.9375 22.75,347.0781 Q22.1094,347.2344 21.4063,347.2344 Q18.9063,347.2344 17.5781,345.5938 Q16.2656,343.9375 16.2656,340.8125 Q16.2656,337.6875 17.5781,336.0313 Q18.9063,334.375 21.4063,334.375 Q22.1094,334.375 22.75,334.5313 Q23.4063,334.6875 23.9688,334.9844 L23.9688,337.7031 Q23.3438,337.125 22.75,336.8594 Q22.1563,336.5781 21.5313,336.5781 Q20.1875,336.5781 19.5,337.6563 Q18.8125,338.7188 18.8125,340.8125 Q18.8125,342.9063 19.5,343.9844 Q20.1875,345.0469 21.5313,345.0469 Q22.1563,345.0469 22.75,344.7813 Q23.3438,344.5 23.9688,343.9219 L23.9688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="345.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L6" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L6" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0001909425857334087541" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L5" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L5" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0001909425857334087541" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="325"/>
<ellipse cx="96" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M98.9688,346.6406 Q98.3906,346.9375 97.75,347.0781 Q97.1094,347.2344 96.4063,347.2344 Q93.9063,347.2344 92.5781,345.5938 Q91.2656,343.9375 91.2656,340.8125 Q91.2656,337.6875 92.5781,336.0313 Q93.9063,334.375 96.4063,334.375 Q97.1094,334.375 97.75,334.5313 Q98.4063,334.6875 98.9688,334.9844 L98.9688,337.7031 Q98.3438,337.125 97.75,336.8594 Q97.1563,336.5781 96.5313,336.5781 Q95.1875,336.5781 94.5,337.6563 Q93.8125,338.7188 93.8125,340.8125 Q93.8125,342.9063 94.5,343.9844 Q95.1875,345.0469 96.5313,345.0469 Q97.1563,345.0469 97.75,344.7813 Q98.3438,344.5 98.9688,343.9219 L98.9688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="110" y="345.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L9" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L9" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000968176384460064907" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L7" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L7" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000968176384460064907" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="325"/>
<ellipse cx="171" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M173.9688,346.6406 Q173.3906,346.9375 172.75,347.0781 Q172.1094,347.2344 171.4063,347.2344 Q168.9063,347.2344 167.5781,345.5938 Q166.2656,343.9375 166.2656,340.8125 Q166.2656,337.6875 167.5781,336.0313 Q168.9063,334.375 171.4063,334.375 Q172.1094,334.375 172.75,334.5313 Q173.4063,334.6875 173.9688,334.9844 L173.9688,337.7031 Q173.3438,337.125 172.75,336.8594 Q172.1563,336.5781 171.5313,336.5781 Q170.1875,336.5781 169.5,337.6563 Q168.8125,338.7188 168.8125,340.8125 Q168.8125,342.9063 169.5,343.9844 Q170.1875,345.0469 171.5313,345.0469 Q172.1563,345.0469 172.75,344.7813 Q173.3438,344.5 173.9688,343.9219 L173.9688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="185" y="345.1543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L12" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L12" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0001735599590836186693" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L9" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L9" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0001735599590836186693" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="325"/>
<ellipse cx="246.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M249.4688,346.6406 Q248.8906,346.9375 248.25,347.0781 Q247.6094,347.2344 246.9063,347.2344 Q244.4063,347.2344 243.0781,345.5938 Q241.7656,343.9375 241.7656,340.8125 Q241.7656,337.6875 243.0781,336.0313 Q244.4063,334.375 246.9063,334.375 Q247.6094,334.375 248.25,334.5313 Q248.9063,334.6875 249.4688,334.9844 L249.4688,337.7031 Q248.8438,337.125 248.25,336.8594 Q247.6563,336.5781 247.0313,336.5781 Q245.6875,336.5781 245,337.6563 Q244.3125,338.7188 244.3125,340.8125 Q244.3125,342.9063 245,343.9844 Q245.6875,345.0469 247.0313,345.0469 Q247.6563,345.0469 248.25,344.7813 Q248.8438,344.5 249.4688,343.9219 L249.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="260.5" y="345.1543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L15" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L15" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000887960136921844658" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="308" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L11" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L11" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000887960136921844658" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="308" y="325"/>
<ellipse cx="323" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M325.9688,346.6406 Q325.3906,346.9375 324.75,347.0781 Q324.1094,347.2344 323.4063,347.2344 Q320.9063,347.2344 319.5781,345.5938 Q318.2656,343.9375 318.2656,340.8125 Q318.2656,337.6875 319.5781,336.0313 Q320.9063,334.375 323.4063,334.375 Q324.1094,334.375 324.75,334.5313 Q325.4063,334.6875 325.9688,334.9844 L325.9688,337.7031 Q325.3438,337.125 324.75,336.8594 Q324.1563,336.5781 323.5313,336.5781 Q322.1875,336.5781 321.5,337.6563 Q320.8125,338.7188 320.8125,340.8125 Q320.8125,342.9063 321.5,343.9844 Q322.1875,345.0469 323.5313,345.0469 Q324.1563,345.0469 324.75,344.7813 Q325.3438,344.5 325.9688,343.9219 L325.9688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="337" y="345.1543">E</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="309" x2="347" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="309" x2="347" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L18" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L18" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000772719357856231772" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="383.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L13" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L13" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000772719357856231772" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="383.5" y="325"/>
<ellipse cx="398.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M401.4688,346.6406 Q400.8906,346.9375 400.25,347.0781 Q399.6094,347.2344 398.9063,347.2344 Q396.4063,347.2344 395.0781,345.5938 Q393.7656,343.9375 393.7656,340.8125 Q393.7656,337.6875 395.0781,336.0313 Q396.4063,334.375 398.9063,334.375 Q399.6094,334.375 400.25,334.5313 Q400.9063,334.6875 401.4688,334.9844 L401.4688,337.7031 Q400.8438,337.125 400.25,336.8594 Q399.6563,336.5781 399.0313,336.5781 Q397.6875,336.5781 397,337.6563 Q396.3125,338.7188 396.3125,340.8125 Q396.3125,342.9063 397,343.9844 Q397.6875,345.0469 399.0313,345.0469 Q399.6563,345.0469 400.25,344.7813 Q400.8438,344.5 401.4688,343.9219 L401.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="412.5" y="345.1543">F</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="421.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="421.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L21" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L21" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000979147885884736437" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L15" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L15" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000979147885884736437" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="325"/>
<ellipse cx="472.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M475.4688,346.6406 Q474.8906,346.9375 474.25,347.0781 Q473.6094,347.2344 472.9063,347.2344 Q470.4063,347.2344 469.0781,345.5938 Q467.7656,343.9375 467.7656,340.8125 Q467.7656,337.6875 469.0781,336.0313 Q470.4063,334.375 472.9063,334.375 Q473.6094,334.375 474.25,334.5313 Q474.9063,334.6875 475.4688,334.9844 L475.4688,337.7031 Q474.8438,337.125 474.25,336.8594 Q473.6563,336.5781 473.0313,336.5781 Q471.6875,336.5781 471,337.6563 Q470.3125,338.7188 470.3125,340.8125 Q470.3125,342.9063 471,343.9844 Q471.6875,345.0469 473.0313,345.0469 Q473.6563,345.0469 474.25,344.7813 Q474.8438,344.5 475.4688,343.9219 L475.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="486.5" y="345.1543">G</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L24" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L24" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0001440673301054236675" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="533.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L17" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L17" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0001440673301054236675" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="533.5" y="325"/>
<ellipse cx="548.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M551.4688,346.6406 Q550.8906,346.9375 550.25,347.0781 Q549.6094,347.2344 548.9063,347.2344 Q546.4063,347.2344 545.0781,345.5938 Q543.7656,343.9375 543.7656,340.8125 Q543.7656,337.6875 545.0781,336.0313 Q546.4063,334.375 548.9063,334.375 Q549.6094,334.375 550.25,334.5313 Q550.9063,334.6875 551.4688,334.9844 L551.4688,337.7031 Q550.8438,337.125 550.25,336.8594 Q549.6563,336.5781 549.0313,336.5781 Q547.6875,336.5781 547,337.6563 Q546.3125,338.7188 546.3125,340.8125 Q546.3125,342.9063 547,343.9844 Q547.6875,345.0469 549.0313,345.0469 Q549.6563,345.0469 550.25,344.7813 Q550.8438,344.5 551.4688,343.9219 L551.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="562.5" y="345.1543">H</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="573.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="573.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L27" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L27" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000109681731550086430" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="609.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L19" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L19" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000109681731550086430" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="609.5" y="325"/>
<ellipse cx="624.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M627.4688,346.6406 Q626.8906,346.9375 626.25,347.0781 Q625.6094,347.2344 624.9063,347.2344 Q622.4063,347.2344 621.0781,345.5938 Q619.7656,343.9375 619.7656,340.8125 Q619.7656,337.6875 621.0781,336.0313 Q622.4063,334.375 624.9063,334.375 Q625.6094,334.375 626.25,334.5313 Q626.9063,334.6875 627.4688,334.9844 L627.4688,337.7031 Q626.8438,337.125 626.25,336.8594 Q625.6563,336.5781 625.0313,336.5781 Q623.6875,336.5781 623,337.6563 Q622.3125,338.7188 622.3125,340.8125 Q622.3125,342.9063 623,343.9844 Q623.6875,345.0469 625.0313,345.0469 Q625.6563,345.0469 626.25,344.7813 Q626.8438,344.5 627.4688,343.9219 L627.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="638.5" y="345.1543">I</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="643.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="643.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L30" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L30" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0000338330011969650325" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="679.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L21" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L21" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0000338330011969650325" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="679.5" y="325"/>
<ellipse cx="694.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M697.4688,346.6406 Q696.8906,346.9375 696.25,347.0781 Q695.6094,347.2344 694.9063,347.2344 Q692.4063,347.2344 691.0781,345.5938 Q689.7656,343.9375 689.7656,340.8125 Q689.7656,337.6875 691.0781,336.0313 Q692.4063,334.375 694.9063,334.375 Q695.6094,334.375 696.25,334.5313 Q696.9063,334.6875 697.4688,334.9844 L697.4688,337.7031 Q696.8438,337.125 696.25,336.8594 Q695.6563,336.5781 695.0313,336.5781 Q693.6875,336.5781 693,337.6563 Q692.3125,338.7188 692.3125,340.8125 Q692.3125,342.9063 693,343.9844 Q693.6875,345.0469 695.0313,345.0469 Q695.6563,345.0469 696.25,344.7813 Q696.8438,344.5 697.4688,343.9219 L697.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="708.5" y="345.1543">J</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="680.5" x2="713.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="680.5" x2="713.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L33" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L33" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="48" id="C_0002179119389830432509" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="749.5" y="325"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L23" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L23" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="48" id="C_0002179119389830432509" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="749.5" y="325"/>
<ellipse cx="764.5" cy="341" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M767.4688,346.6406 Q766.8906,346.9375 766.25,347.0781 Q765.6094,347.2344 764.9063,347.2344 Q762.4063,347.2344 761.0781,345.5938 Q759.7656,343.9375 759.7656,340.8125 Q759.7656,337.6875 761.0781,336.0313 Q762.4063,334.375 764.9063,334.375 Q765.6094,334.375 766.25,334.5313 Q766.9063,334.6875 767.4688,334.9844 L767.4688,337.7031 Q766.8438,337.125 766.25,336.8594 Q765.6563,336.5781 765.0313,336.5781 Q763.6875,336.5781 763,337.6563 Q762.3125,338.7188 762.3125,340.8125 Q762.3125,342.9063 763,343.9844 Q763.6875,345.0469 765.0313,345.0469 Q765.6563,345.0469 766.25,344.7813 Q766.8438,344.5 767.4688,343.9219 L767.4688,346.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="778.5" y="345.1543">K</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="750.5" x2="787.5" y1="357" y2="357"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="750.5" x2="787.5" y1="365" y2="365"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L36" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L36" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fd3t3iwwoh8hq)" height="240.0703" id="C_0000630692407373144211" style="stroke: #A80036; stroke-width: 1.5;" width="212" x="297" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L25" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L25" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h1p7mrb49cwr)" height="240.0703" id="C_0000630692407373144211" style="stroke: #A80036; stroke-width: 1.5;" width="212" x="297" y="8"/>
<ellipse cx="394.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M397.7188,29.6406 Q397.1406,29.9375 396.5,30.0781 Q395.8594,30.2344 395.1563,30.2344 Q392.6563,30.2344 391.3281,28.5938 Q390.0156,26.9375 390.0156,23.8125 Q390.0156,20.6875 391.3281,19.0313 Q392.6563,17.375 395.1563,17.375 Q395.8594,17.375 396.5,17.5313 Q397.1563,17.6875 397.7188,17.9844 L397.7188,20.7031 Q397.0938,20.125 396.5,19.8594 Q395.9063,19.5781 395.2813,19.5781 Q393.9375,19.5781 393.25,20.6563 Q392.5625,21.7188 392.5625,23.8125 Q392.5625,25.9063 393.25,26.9844 Q393.9375,28.0469 395.2813,28.0469 Q395.9063,28.0469 396.5,27.7813 Q397.0938,27.5 397.7188,26.9219 L397.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="415.25" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="508" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="508" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L38" 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="303" y="46"/>
<ellipse cx="308" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L31" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L31" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="54"/>
<ellipse cx="308" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L38" 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="317" y="54.2104">some_int : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L31" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L31" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="317" y="62.2104">a : A</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L39" 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="303" y="58.8047"/>
<ellipse cx="308" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L32" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L32" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="66.8047"/>
<ellipse cx="308" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L39" 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="317" y="67.0151">some_int_pointer : int *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L32" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L32" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="317" y="75.0151">b : B *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L40" 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="303" y="71.6094"/>
<ellipse cx="308" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L33" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L33" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="79.6094"/>
<ellipse cx="308" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L40" 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="317" y="79.8198">some_int_pointer_pointer : int **</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L33" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L33" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="317" y="87.8198">c : C &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L41" 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="303" y="84.4141"/>
<ellipse cx="308" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L34" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L34" xlink:show="new" xlink:title="d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="92.4141"/>
<ellipse cx="308" cy="97.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L41" 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="317" y="92.6245">some_int_reference : int &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L34" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L34" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="317" y="100.6245">d : const D *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L42" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L42" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="97.2188"/>
<ellipse cx="308" cy="102.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L35" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L35" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="105.2188"/>
<ellipse cx="308" cy="110.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L42" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L42" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="317" y="105.4292">a : A</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L35" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L35" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="317" y="113.4292">e : const E &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L43" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L43" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="110.0234"/>
<ellipse cx="308" cy="115.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L36" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L36" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="118.0234"/>
<ellipse cx="308" cy="123.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L43" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L43" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="317" y="118.2339">b : B *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L36" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L36" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="46" x="317" y="126.2339">f : F &amp;&amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L44" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L44" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="122.8281"/>
<ellipse cx="308" cy="127.8281" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L37" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L37" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="130.8281"/>
<ellipse cx="308" cy="135.8281" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L44" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L44" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="317" y="131.0386">c : C &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L37" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L37" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="44" x="317" y="139.0386">g : G **</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L45" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L45" xlink:show="new" xlink:title="d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="135.6328"/>
<ellipse cx="308" cy="140.6328" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L38" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L38" xlink:show="new" xlink:title="h" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="143.6328"/>
<ellipse cx="308" cy="148.6328" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L45" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L45" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="317" y="143.8433">d : const D *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L38" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L38" xlink:show="new" xlink:title="h" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="317" y="151.8433">h : H ***</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L46" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L46" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="148.4375"/>
<ellipse cx="308" cy="153.4375" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L39" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L39" xlink:show="new" xlink:title="i" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="156.4375"/>
<ellipse cx="308" cy="161.4375" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L46" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L46" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="317" y="156.6479">e : const E &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L39" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L39" xlink:show="new" xlink:title="i" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="317" y="164.6479">i : I *&amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L47" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L47" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="161.2422"/>
<ellipse cx="308" cy="166.2422" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L40" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L40" xlink:show="new" xlink:title="j" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="169.2422"/>
<ellipse cx="308" cy="174.2422" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L47" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L47" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="46" x="317" y="169.4526">f : F &amp;&amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L40" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L40" xlink:show="new" xlink:title="j" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="317" y="177.4526">j : volatile J *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L48" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L48" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="174.0469"/>
<ellipse cx="308" cy="179.0469" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L41" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L41" xlink:show="new" xlink:title="k" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="182.0469"/>
<ellipse cx="308" cy="187.0469" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L48" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L48" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="44" x="317" y="182.2573">g : G **</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L41" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L41" xlink:show="new" xlink:title="k" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="317" y="190.2573">k : K *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L49" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L49" xlink:show="new" xlink:title="h" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="186.8516"/>
<ellipse cx="308" cy="191.8516" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L27" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L27" 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="303" y="194.8516"/>
<ellipse cx="308" cy="199.8516" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L49" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L49" xlink:show="new" xlink:title="h" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="317" y="195.062">h : H ***</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L27" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L27" 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="317" y="203.062">some_int : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L50" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L50" xlink:show="new" xlink:title="i" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="199.6563"/>
<ellipse cx="308" cy="204.6563" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L28" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L28" 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="303" y="207.6563"/>
<ellipse cx="308" cy="212.6563" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L50" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L50" xlink:show="new" xlink:title="i" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="317" y="207.8667">i : I *&amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L28" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L28" 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="317" y="215.8667">some_int_pointer : int *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L51" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L51" xlink:show="new" xlink:title="j" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="212.4609"/>
<ellipse cx="308" cy="217.4609" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L29" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L29" 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="303" y="220.4609"/>
<ellipse cx="308" cy="225.4609" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L51" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L51" xlink:show="new" xlink:title="j" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="317" y="220.6714">j : volatile J *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L29" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L29" 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="317" y="228.6714">some_int_pointer_pointer : int **</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L52" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L52" xlink:show="new" xlink:title="k" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="303" y="225.2656"/>
<ellipse cx="308" cy="230.2656" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L30" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L30" 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="303" y="233.2656"/>
<ellipse cx="308" cy="238.2656" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L52" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00005/t00005.cc#L52" xlink:show="new" xlink:title="k" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="317" y="233.4761">k : K *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L30" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00005/t00005.cc#L30" 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="317" y="241.4761">some_int_reference : int &amp;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="508" y1="240.0703" y2="240.0703"/>
<path d="M285.16,195.65 C219.46,233.13 136.34,281.08 63,325 C57.55,328.26 51.69,331.86 46.28,335.22 " fill="none" id="C_0000630692407373144211&lt;-C_0000096355893895780319" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="296.8,189.02,289.6065,188.517,286.3754,194.9637,293.5689,195.4667,296.8,189.02" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="139" y="291.0669">+a</text>

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="479px" preserveAspectRatio="none" style="width:1390px;height:479px;" version="1.1" viewBox="0 0 1390 479" width="1390px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f13l7z2ypzjftr" width="300%" x="-1" y="-1">
<filter height="300%" id="fcs0ezq1d3t0o" 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"/>
@@ -9,152 +9,153 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000989095304444672400" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000989095304444672400" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="299"/>
<ellipse cx="21" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M23.9688,320.6406 Q23.3906,320.9375 22.75,321.0781 Q22.1094,321.2344 21.4063,321.2344 Q18.9063,321.2344 17.5781,319.5938 Q16.2656,317.9375 16.2656,314.8125 Q16.2656,311.6875 17.5781,310.0313 Q18.9063,308.375 21.4063,308.375 Q22.1094,308.375 22.75,308.5313 Q23.4063,308.6875 23.9688,308.9844 L23.9688,311.7031 Q23.3438,311.125 22.75,310.8594 Q22.1563,310.5781 21.5313,310.5781 Q20.1875,310.5781 19.5,311.6563 Q18.8125,312.7188 18.8125,314.8125 Q18.8125,316.9063 19.5,317.9844 Q20.1875,319.0469 21.5313,319.0469 Q22.1563,319.0469 22.75,318.7813 Q23.3438,318.5 23.9688,317.9219 L23.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="35" y="319.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="45" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L10" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L10" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000648285260245005311" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L9" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L9" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000648285260245005311" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="299"/>
<ellipse cx="96" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M98.9688,320.6406 Q98.3906,320.9375 97.75,321.0781 Q97.1094,321.2344 96.4063,321.2344 Q93.9063,321.2344 92.5781,319.5938 Q91.2656,317.9375 91.2656,314.8125 Q91.2656,311.6875 92.5781,310.0313 Q93.9063,308.375 96.4063,308.375 Q97.1094,308.375 97.75,308.5313 Q98.4063,308.6875 98.9688,308.9844 L98.9688,311.7031 Q98.3438,311.125 97.75,310.8594 Q97.1563,310.5781 96.5313,310.5781 Q95.1875,310.5781 94.5,311.6563 Q93.8125,312.7188 93.8125,314.8125 Q93.8125,316.9063 94.5,317.9844 Q95.1875,319.0469 96.5313,319.0469 Q97.1563,319.0469 97.75,318.7813 Q98.3438,318.5 98.9688,317.9219 L98.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="110" y="319.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="120" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L13" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L13" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000323304333007297774" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000323304333007297774" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="299"/>
<ellipse cx="171" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M173.9688,320.6406 Q173.3906,320.9375 172.75,321.0781 Q172.1094,321.2344 171.4063,321.2344 Q168.9063,321.2344 167.5781,319.5938 Q166.2656,317.9375 166.2656,314.8125 Q166.2656,311.6875 167.5781,310.0313 Q168.9063,308.375 171.4063,308.375 Q172.1094,308.375 172.75,308.5313 Q173.4063,308.6875 173.9688,308.9844 L173.9688,311.7031 Q173.3438,311.125 172.75,310.8594 Q172.1563,310.5781 171.5313,310.5781 Q170.1875,310.5781 169.5,311.6563 Q168.8125,312.7188 168.8125,314.8125 Q168.8125,316.9063 169.5,317.9844 Q170.1875,319.0469 171.5313,319.0469 Q172.1563,319.0469 172.75,318.7813 Q173.3438,318.5 173.9688,317.9219 L173.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="185" y="319.1543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="195" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L16" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L16" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001006912399043633492" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L13" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L13" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001006912399043633492" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="299"/>
<ellipse cx="246.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M249.4688,320.6406 Q248.8906,320.9375 248.25,321.0781 Q247.6094,321.2344 246.9063,321.2344 Q244.4063,321.2344 243.0781,319.5938 Q241.7656,317.9375 241.7656,314.8125 Q241.7656,311.6875 243.0781,310.0313 Q244.4063,308.375 246.9063,308.375 Q247.6094,308.375 248.25,308.5313 Q248.9063,308.6875 249.4688,308.9844 L249.4688,311.7031 Q248.8438,311.125 248.25,310.8594 Q247.6563,310.5781 247.0313,310.5781 Q245.6875,310.5781 245,311.6563 Q244.3125,312.7188 244.3125,314.8125 Q244.3125,316.9063 245,317.9844 Q245.6875,319.0469 247.0313,319.0469 Q247.6563,319.0469 248.25,318.7813 Q248.8438,318.5 249.4688,317.9219 L249.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="260.5" y="319.1543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="232.5" x2="271.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L19" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L19" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001092550394020578978" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="1146" y="414.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L15" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L15" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001092550394020578978" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="1146" y="414.5"/>
<ellipse cx="1161" cy="430.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1163.9688,436.1406 Q1163.3906,436.4375 1162.75,436.5781 Q1162.1094,436.7344 1161.4063,436.7344 Q1158.9063,436.7344 1157.5781,435.0938 Q1156.2656,433.4375 1156.2656,430.3125 Q1156.2656,427.1875 1157.5781,425.5313 Q1158.9063,423.875 1161.4063,423.875 Q1162.1094,423.875 1162.75,424.0313 Q1163.4063,424.1875 1163.9688,424.4844 L1163.9688,427.2031 Q1163.3438,426.625 1162.75,426.3594 Q1162.1563,426.0781 1161.5313,426.0781 Q1160.1875,426.0781 1159.5,427.1563 Q1158.8125,428.2188 1158.8125,430.3125 Q1158.8125,432.4063 1159.5,433.4844 Q1160.1875,434.5469 1161.5313,434.5469 Q1162.1563,434.5469 1162.75,434.2813 Q1163.3438,434 1163.9688,433.4219 L1163.9688,436.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="1175" y="434.6543">E</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1147" x2="1185" y1="446.5" y2="446.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1147" x2="1185" y1="454.5" y2="454.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L22" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L22" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000965398761810782236" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="307.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L17" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L17" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000965398761810782236" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="307.5" y="299"/>
<ellipse cx="322.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M325.4688,320.6406 Q324.8906,320.9375 324.25,321.0781 Q323.6094,321.2344 322.9063,321.2344 Q320.4063,321.2344 319.0781,319.5938 Q317.7656,317.9375 317.7656,314.8125 Q317.7656,311.6875 319.0781,310.0313 Q320.4063,308.375 322.9063,308.375 Q323.6094,308.375 324.25,308.5313 Q324.9063,308.6875 325.4688,308.9844 L325.4688,311.7031 Q324.8438,311.125 324.25,310.8594 Q323.6563,310.5781 323.0313,310.5781 Q321.6875,310.5781 321,311.6563 Q320.3125,312.7188 320.3125,314.8125 Q320.3125,316.9063 321,317.9844 Q321.6875,319.0469 323.0313,319.0469 Q323.6563,319.0469 324.25,318.7813 Q324.8438,318.5 325.4688,317.9219 L325.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="336.5" y="319.1543">F</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="308.5" x2="345.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="308.5" x2="345.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L25" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L25" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001764732000887030464" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="381.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L19" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L19" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001764732000887030464" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="381.5" y="299"/>
<ellipse cx="396.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M399.4688,320.6406 Q398.8906,320.9375 398.25,321.0781 Q397.6094,321.2344 396.9063,321.2344 Q394.4063,321.2344 393.0781,319.5938 Q391.7656,317.9375 391.7656,314.8125 Q391.7656,311.6875 393.0781,310.0313 Q394.4063,308.375 396.9063,308.375 Q397.6094,308.375 398.25,308.5313 Q398.9063,308.6875 399.4688,308.9844 L399.4688,311.7031 Q398.8438,311.125 398.25,310.8594 Q397.6563,310.5781 397.0313,310.5781 Q395.6875,310.5781 395,311.6563 Q394.3125,312.7188 394.3125,314.8125 Q394.3125,316.9063 395,317.9844 Q395.6875,319.0469 397.0313,319.0469 Q397.6563,319.0469 398.25,318.7813 Q398.8438,318.5 399.4688,317.9219 L399.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="410.5" y="319.1543">G</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="382.5" x2="421.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="382.5" x2="421.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L28" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L28" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001669285599837552146" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L21" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L21" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001669285599837552146" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="299"/>
<ellipse cx="472.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M475.4688,320.6406 Q474.8906,320.9375 474.25,321.0781 Q473.6094,321.2344 472.9063,321.2344 Q470.4063,321.2344 469.0781,319.5938 Q467.7656,317.9375 467.7656,314.8125 Q467.7656,311.6875 469.0781,310.0313 Q470.4063,308.375 472.9063,308.375 Q473.6094,308.375 474.25,308.5313 Q474.9063,308.6875 475.4688,308.9844 L475.4688,311.7031 Q474.8438,311.125 474.25,310.8594 Q473.6563,310.5781 473.0313,310.5781 Q471.6875,310.5781 471,311.6563 Q470.3125,312.7188 470.3125,314.8125 Q470.3125,316.9063 471,317.9844 Q471.6875,319.0469 473.0313,319.0469 Q473.6563,319.0469 474.25,318.7813 Q474.8438,318.5 475.4688,317.9219 L475.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="486.5" y="319.1543">H</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="458.5" x2="497.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L31" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L31" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0002234750598599000377" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="533.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L23" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L23" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0002234750598599000377" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="533.5" y="299"/>
<ellipse cx="548.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M551.4688,320.6406 Q550.8906,320.9375 550.25,321.0781 Q549.6094,321.2344 548.9063,321.2344 Q546.4063,321.2344 545.0781,319.5938 Q543.7656,317.9375 543.7656,314.8125 Q543.7656,311.6875 545.0781,310.0313 Q546.4063,308.375 548.9063,308.375 Q549.6094,308.375 550.25,308.5313 Q550.9063,308.6875 551.4688,308.9844 L551.4688,311.7031 Q550.8438,311.125 550.25,310.8594 Q549.6563,310.5781 549.0313,310.5781 Q547.6875,310.5781 547,311.6563 Q546.3125,312.7188 546.3125,314.8125 Q546.3125,316.9063 547,317.9844 Q547.6875,319.0469 549.0313,319.0469 Q549.6563,319.0469 550.25,318.7813 Q550.8438,318.5 551.4688,317.9219 L551.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="562.5" y="319.1543">I</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="567.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="534.5" x2="567.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L34" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L34" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001335933649375465369" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="603.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L25" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L25" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001335933649375465369" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="603.5" y="299"/>
<ellipse cx="618.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M621.4688,320.6406 Q620.8906,320.9375 620.25,321.0781 Q619.6094,321.2344 618.9063,321.2344 Q616.4063,321.2344 615.0781,319.5938 Q613.7656,317.9375 613.7656,314.8125 Q613.7656,311.6875 615.0781,310.0313 Q616.4063,308.375 618.9063,308.375 Q619.6094,308.375 620.25,308.5313 Q620.9063,308.6875 621.4688,308.9844 L621.4688,311.7031 Q620.8438,311.125 620.25,310.8594 Q619.6563,310.5781 619.0313,310.5781 Q617.6875,310.5781 617,311.6563 Q616.3125,312.7188 616.3125,314.8125 Q616.3125,316.9063 617,317.9844 Q617.6875,319.0469 619.0313,319.0469 Q619.6563,319.0469 620.25,318.7813 Q620.8438,318.5 621.4688,317.9219 L621.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="3" x="632.5" y="319.1543">J</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="604.5" x2="637.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="604.5" x2="637.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L37" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L37" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001603190364864080123" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="673.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L27" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L27" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001603190364864080123" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="673.5" y="299"/>
<ellipse cx="688.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M691.4688,320.6406 Q690.8906,320.9375 690.25,321.0781 Q689.6094,321.2344 688.9063,321.2344 Q686.4063,321.2344 685.0781,319.5938 Q683.7656,317.9375 683.7656,314.8125 Q683.7656,311.6875 685.0781,310.0313 Q686.4063,308.375 688.9063,308.375 Q689.6094,308.375 690.25,308.5313 Q690.9063,308.6875 691.4688,308.9844 L691.4688,311.7031 Q690.8438,311.125 690.25,310.8594 Q689.6563,310.5781 689.0313,310.5781 Q687.6875,310.5781 687,311.6563 Q686.3125,312.7188 686.3125,314.8125 Q686.3125,316.9063 687,317.9844 Q687.6875,319.0469 689.0313,319.0469 Q689.6563,319.0469 690.25,318.7813 Q690.8438,318.5 691.4688,317.9219 L691.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="702.5" y="319.1543">K</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="674.5" x2="711.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="674.5" x2="711.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L40" target="_top" title="L" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L40" xlink:show="new" xlink:title="L" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000305487238408320046" style="stroke: #A80036; stroke-width: 1.5;" width="38" x="748" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L29" target="_top" title="L" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L29" xlink:show="new" xlink:title="L" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000305487238408320046" style="stroke: #A80036; stroke-width: 1.5;" width="38" x="748" y="299"/>
<ellipse cx="763" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M765.9688,320.6406 Q765.3906,320.9375 764.75,321.0781 Q764.1094,321.2344 763.4063,321.2344 Q760.9063,321.2344 759.5781,319.5938 Q758.2656,317.9375 758.2656,314.8125 Q758.2656,311.6875 759.5781,310.0313 Q760.9063,308.375 763.4063,308.375 Q764.1094,308.375 764.75,308.5313 Q765.4063,308.6875 765.9688,308.9844 L765.9688,311.7031 Q765.3438,311.125 764.75,310.8594 Q764.1563,310.5781 763.5313,310.5781 Q762.1875,310.5781 761.5,311.6563 Q760.8125,312.7188 760.8125,314.8125 Q760.8125,316.9063 761.5,317.9844 Q762.1875,319.0469 763.5313,319.0469 Q764.1563,319.0469 764.75,318.7813 Q765.3438,318.5 765.9688,317.9219 L765.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="6" x="777" y="319.1543">L</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="749" x2="785" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="749" x2="785" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L43" target="_top" title="M" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L43" xlink:show="new" xlink:title="M" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001664744512423723275" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="821" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L31" target="_top" title="M" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L31" xlink:show="new" xlink:title="M" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001664744512423723275" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="821" y="299"/>
<ellipse cx="836" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M838.9688,320.6406 Q838.3906,320.9375 837.75,321.0781 Q837.1094,321.2344 836.4063,321.2344 Q833.9063,321.2344 832.5781,319.5938 Q831.2656,317.9375 831.2656,314.8125 Q831.2656,311.6875 832.5781,310.0313 Q833.9063,308.375 836.4063,308.375 Q837.1094,308.375 837.75,308.5313 Q838.4063,308.6875 838.9688,308.9844 L838.9688,311.7031 Q838.3438,311.125 837.75,310.8594 Q837.1563,310.5781 836.5313,310.5781 Q835.1875,310.5781 834.5,311.6563 Q833.8125,312.7188 833.8125,314.8125 Q833.8125,316.9063 834.5,317.9844 Q835.1875,319.0469 836.5313,319.0469 Q837.1563,319.0469 837.75,318.7813 Q838.3438,318.5 838.9688,317.9219 L838.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="10" x="850" y="319.1543">M</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="822" x2="862" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="822" x2="862" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L46" target="_top" title="N" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L46" xlink:show="new" xlink:title="N" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000950210019792152600" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="898.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L33" target="_top" title="N" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L33" xlink:show="new" xlink:title="N" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000950210019792152600" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="898.5" y="299"/>
<ellipse cx="913.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M916.4688,320.6406 Q915.8906,320.9375 915.25,321.0781 Q914.6094,321.2344 913.9063,321.2344 Q911.4063,321.2344 910.0781,319.5938 Q908.7656,317.9375 908.7656,314.8125 Q908.7656,311.6875 910.0781,310.0313 Q911.4063,308.375 913.9063,308.375 Q914.6094,308.375 915.25,308.5313 Q915.9063,308.6875 916.4688,308.9844 L916.4688,311.7031 Q915.8438,311.125 915.25,310.8594 Q914.6563,310.5781 914.0313,310.5781 Q912.6875,310.5781 912,311.6563 Q911.3125,312.7188 911.3125,314.8125 Q911.3125,316.9063 912,317.9844 Q912.6875,319.0469 914.0313,319.0469 Q914.6563,319.0469 915.25,318.7813 Q915.8438,318.5 916.4688,317.9219 L916.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="927.5" y="319.1543">N</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="899.5" x2="938.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="899.5" x2="938.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L49" target="_top" title="NN" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L49" xlink:show="new" xlink:title="NN" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001662349735899726224" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="975" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L35" target="_top" title="NN" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L35" xlink:show="new" xlink:title="NN" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001662349735899726224" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="975" y="299"/>
<ellipse cx="990" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M992.9688,320.6406 Q992.3906,320.9375 991.75,321.0781 Q991.1094,321.2344 990.4063,321.2344 Q987.9063,321.2344 986.5781,319.5938 Q985.2656,317.9375 985.2656,314.8125 Q985.2656,311.6875 986.5781,310.0313 Q987.9063,308.375 990.4063,308.375 Q991.1094,308.375 991.75,308.5313 Q992.4063,308.6875 992.9688,308.9844 L992.9688,311.7031 Q992.3438,311.125 991.75,310.8594 Q991.1563,310.5781 990.5313,310.5781 Q989.1875,310.5781 988.5,311.6563 Q987.8125,312.7188 987.8125,314.8125 Q987.8125,316.9063 988.5,317.9844 Q989.1875,319.0469 990.5313,319.0469 Q991.1563,319.0469 991.75,318.7813 Q992.3438,318.5 992.9688,317.9219 L992.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="18" x="1004" y="319.1543">NN</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="976" x2="1024" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="976" x2="1024" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L52" target="_top" title="NNN" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L52" xlink:show="new" xlink:title="NNN" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0001963145075481599858" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="1060.5" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L37" target="_top" title="NNN" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L37" xlink:show="new" xlink:title="NNN" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0001963145075481599858" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="1060.5" y="299"/>
<ellipse cx="1075.5" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1078.4688,320.6406 Q1077.8906,320.9375 1077.25,321.0781 Q1076.6094,321.2344 1075.9063,321.2344 Q1073.4063,321.2344 1072.0781,319.5938 Q1070.7656,317.9375 1070.7656,314.8125 Q1070.7656,311.6875 1072.0781,310.0313 Q1073.4063,308.375 1075.9063,308.375 Q1076.6094,308.375 1077.25,308.5313 Q1077.9063,308.6875 1078.4688,308.9844 L1078.4688,311.7031 Q1077.8438,311.125 1077.25,310.8594 Q1076.6563,310.5781 1076.0313,310.5781 Q1074.6875,310.5781 1074,311.6563 Q1073.3125,312.7188 1073.3125,314.8125 Q1073.3125,316.9063 1074,317.9844 Q1074.6875,319.0469 1076.0313,319.0469 Q1076.6563,319.0469 1077.25,318.7813 Q1077.8438,318.5 1078.4688,317.9219 L1078.4688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="27" x="1089.5" y="319.1543">NNN</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1061.5" x2="1118.5" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1061.5" x2="1118.5" y1="339" y2="339"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L55" target="_top" title="custom_container" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L55" xlink:show="new" xlink:title="custom_container" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="60.8047" id="C_0000916380191954937631" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="1221.5" y="408"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L39" target="_top" title="custom_container" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L39" xlink:show="new" xlink:title="custom_container" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="60.8047" id="C_0000916380191954937631" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="1221.5" y="408"/>
<ellipse cx="1236.5" cy="424" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1239.4688,429.6406 Q1238.8906,429.9375 1238.25,430.0781 Q1237.6094,430.2344 1236.9063,430.2344 Q1234.4063,430.2344 1233.0781,428.5938 Q1231.7656,426.9375 1231.7656,423.8125 Q1231.7656,420.6875 1233.0781,419.0313 Q1234.4063,417.375 1236.9063,417.375 Q1237.6094,417.375 1238.25,417.5313 Q1238.9063,417.6875 1239.4688,417.9844 L1239.4688,420.7031 Q1238.8438,420.125 1238.25,419.8594 Q1237.6563,419.5781 1237.0313,419.5781 Q1235.6875,419.5781 1235,420.6563 Q1234.3125,421.7188 1234.3125,423.8125 Q1234.3125,425.9063 1235,426.9844 Q1235.6875,428.0469 1237.0313,428.0469 Q1237.6563,428.0469 1238.25,427.7813 Q1238.8438,427.5 1239.4688,426.9219 L1239.4688,429.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="1250.5" y="428.1543">custom_container</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="1370.5" y="405"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="1371.5" y="417.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1222.5" x2="1375.5" y1="440" y2="440"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1222.5" x2="1375.5" y1="448" y2="448"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L57" target="_top" title="data" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L57" xlink:show="new" xlink:title="data" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1227.5" y="446"/>
<ellipse cx="1232.5" cy="451" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L41" target="_top" title="data" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L41" xlink:show="new" xlink:title="data" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1227.5" y="454"/>
<ellipse cx="1232.5" cy="459" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L57" target="_top" title="data" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L57" xlink:show="new" xlink:title="data" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="1241.5" y="454.2104">data : std::vector&lt;T&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L41" target="_top" title="data" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L41" xlink:show="new" xlink:title="data" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="1241.5" y="462.2104">data : std::vector&lt;T&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1222.5" x2="1375.5" y1="460.8047" y2="460.8047"/>
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="48" id="C_0000050153113082434858" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1155" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L39" target="_top" title="custom_container" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L39" xlink:show="new" xlink:title="custom_container" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="48" id="C_0000050153113082434858" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1155" y="299"/>
<ellipse cx="1170" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1172.9688,320.6406 Q1172.3906,320.9375 1171.75,321.0781 Q1171.1094,321.2344 1170.4063,321.2344 Q1167.9063,321.2344 1166.5781,319.5938 Q1165.2656,317.9375 1165.2656,314.8125 Q1165.2656,311.6875 1166.5781,310.0313 Q1167.9063,308.375 1170.4063,308.375 Q1171.1094,308.375 1171.75,308.5313 Q1172.4063,308.6875 1172.9688,308.9844 L1172.9688,311.7031 Q1172.3438,311.125 1171.75,310.8594 Q1171.1563,310.5781 1170.5313,310.5781 Q1169.1875,310.5781 1168.5,311.6563 Q1167.8125,312.7188 1167.8125,314.8125 Q1167.8125,316.9063 1168.5,317.9844 Q1169.1875,319.0469 1170.5313,319.0469 Q1171.1563,319.0469 1171.75,318.7813 Q1172.3438,318.5 1172.9688,317.9219 L1172.9688,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="1184" y="319.1543">custom_container</text>
@@ -162,105 +163,106 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="1305" y="308.1387">E</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1156" x2="1310" y1="331" y2="331"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1156" x2="1310" y1="339" y2="339"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L60" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L60" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f13l7z2ypzjftr)" height="214.4609" id="C_0000303025561016882526" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="471" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L44" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L44" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcs0ezq1d3t0o)" height="214.4609" id="C_0000303025561016882526" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="471" y="8"/>
<ellipse cx="577.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M580.7188,29.6406 Q580.1406,29.9375 579.5,30.0781 Q578.8594,30.2344 578.1563,30.2344 Q575.6563,30.2344 574.3281,28.5938 Q573.0156,26.9375 573.0156,23.8125 Q573.0156,20.6875 574.3281,19.0313 Q575.6563,17.375 578.1563,17.375 Q578.8594,17.375 579.5,17.5313 Q580.1563,17.6875 580.7188,17.9844 L580.7188,20.7031 Q580.0938,20.125 579.5,19.8594 Q578.9063,19.5781 578.2813,19.5781 Q576.9375,19.5781 576.25,20.6563 Q575.5625,21.7188 575.5625,23.8125 Q575.5625,25.9063 576.25,26.9844 Q576.9375,28.0469 578.2813,28.0469 Q578.9063,28.0469 579.5,27.7813 Q580.0938,27.5 580.7188,26.9219 L580.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="598.25" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="472" x2="700" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="472" x2="700" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L62" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L62" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="46"/>
<ellipse cx="482" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L46" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L46" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="54"/>
<ellipse cx="482" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L62" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L62" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="491" y="54.2104">a : std::vector&lt;A&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L46" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L46" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="491" y="62.2104">a : std::vector&lt;A&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L63" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L63" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="58.8047"/>
<ellipse cx="482" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L47" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L47" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="66.8047"/>
<ellipse cx="482" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L63" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L63" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="491" y="67.0151">b : std::vector&lt;B *&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L47" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L47" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="491" y="75.0151">b : std::vector&lt;B *&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L65" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L65" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="71.6094"/>
<ellipse cx="482" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L49" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L49" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="79.6094"/>
<ellipse cx="482" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L65" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L65" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="491" y="79.8198">c : std::map&lt;int,C&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L49" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L49" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="491" y="87.8198">c : std::map&lt;int,C&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L66" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L66" xlink:show="new" xlink:title="d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="84.4141"/>
<ellipse cx="482" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L50" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L50" xlink:show="new" xlink:title="d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="92.4141"/>
<ellipse cx="482" cy="97.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L66" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L66" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="491" y="92.6245">d : std::map&lt;int,D *&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L50" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L50" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="491" y="100.6245">d : std::map&lt;int,D *&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L68" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L68" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="97.2188"/>
<ellipse cx="482" cy="102.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L52" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L52" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="105.2188"/>
<ellipse cx="482" cy="110.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L68" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L68" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="491" y="105.4292">e : custom_container&lt;E&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L52" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L52" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="491" y="113.4292">e : custom_container&lt;E&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L70" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L70" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="110.0234"/>
<ellipse cx="482" cy="115.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L54" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L54" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="118.0234"/>
<ellipse cx="482" cy="123.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L70" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L70" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="491" y="118.2339">f : std::vector&lt;std::vector&lt;F&gt;&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L54" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L54" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="491" y="126.2339">f : std::vector&lt;std::vector&lt;F&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L71" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L71" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="122.8281"/>
<ellipse cx="482" cy="127.8281" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L55" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L55" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="130.8281"/>
<ellipse cx="482" cy="135.8281" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L71" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L71" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="491" y="131.0386">g : std::map&lt;int,std::vector&lt;G *&gt;&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L55" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L55" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="491" y="139.0386">g : std::map&lt;int,std::vector&lt;G *&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L73" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L73" xlink:show="new" xlink:title="h" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="135.6328"/>
<ellipse cx="482" cy="140.6328" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L57" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L57" xlink:show="new" xlink:title="h" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="143.6328"/>
<ellipse cx="482" cy="148.6328" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L73" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L73" xlink:show="new" xlink:title="h" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="491" y="143.8433">h : std::array&lt;H,10&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L57" target="_top" title="h" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L57" xlink:show="new" xlink:title="h" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="491" y="151.8433">h : std::array&lt;H,10&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L74" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L74" xlink:show="new" xlink:title="i" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="148.4375"/>
<ellipse cx="482" cy="153.4375" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L58" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L58" xlink:show="new" xlink:title="i" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="156.4375"/>
<ellipse cx="482" cy="161.4375" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L74" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L74" xlink:show="new" xlink:title="i" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="491" y="156.6479">i : std::array&lt;I *,5&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L58" target="_top" title="i" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L58" xlink:show="new" xlink:title="i" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="491" y="164.6479">i : std::array&lt;I *,5&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L76" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L76" xlink:show="new" xlink:title="j" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="161.2422"/>
<ellipse cx="482" cy="166.2422" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L60" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L60" xlink:show="new" xlink:title="j" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="169.2422"/>
<ellipse cx="482" cy="174.2422" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L76" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L76" xlink:show="new" xlink:title="j" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="491" y="169.4526">j : J[10]</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L60" target="_top" title="j" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L60" xlink:show="new" xlink:title="j" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="491" y="177.4526">j : J[10]</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L77" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L77" xlink:show="new" xlink:title="k" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="174.0469"/>
<ellipse cx="482" cy="179.0469" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L61" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L61" xlink:show="new" xlink:title="k" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="182.0469"/>
<ellipse cx="482" cy="187.0469" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L77" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L77" xlink:show="new" xlink:title="k" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="491" y="182.2573">k : K *[20]</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L61" target="_top" title="k" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L61" xlink:show="new" xlink:title="k" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="491" y="190.2573">k : K *[20]</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L79" target="_top" title="lm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L79" xlink:show="new" xlink:title="lm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="186.8516"/>
<ellipse cx="482" cy="191.8516" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L63" target="_top" title="lm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L63" xlink:show="new" xlink:title="lm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="194.8516"/>
<ellipse cx="482" cy="199.8516" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L79" target="_top" title="lm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L79" xlink:show="new" xlink:title="lm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="491" y="195.062">lm : std::vector&lt;std::pair&lt;L,M&gt;&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L63" target="_top" title="lm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L63" xlink:show="new" xlink:title="lm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="491" y="203.062">lm : std::vector&lt;std::pair&lt;L,M&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L81" target="_top" title="ns" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L81" xlink:show="new" xlink:title="ns" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="199.6563"/>
<ellipse cx="482" cy="204.6563" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L65" target="_top" title="ns" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L65" xlink:show="new" xlink:title="ns" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="477" y="207.6563"/>
<ellipse cx="482" cy="212.6563" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L81" target="_top" title="ns" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00006/t00006.cc#L81" xlink:show="new" xlink:title="ns" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="154" x="491" y="207.8667">ns : std::tuple&lt;N,NN,NNN&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L65" target="_top" title="ns" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00006/t00006.cc#L65" xlink:show="new" xlink:title="ns" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="154" x="491" y="215.8667">ns : std::tuple&lt;N,NN,NNN&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="472" x2="700" y1="214.4609" y2="214.4609"/>
<path d="M1219.28,347.24 C1208.62,365.3 1193.8,390.41 1182.5,409.56 " fill="none" id="C_0000050153113082434858-&gt;C_0001092550394020578978" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="1179.7,414.29,1187.7242,408.5793,1182.2451,409.9862,1180.8381,404.5071,1179.7,414.29" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1246.52,347.24 C1253.75,359.69 1262.94,375.49 1271.6,390.38 " fill="none" id="C_0000050153113082434858-&gt;C_0000916380191954937631" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -22,14 +22,11 @@ File t00007.cc
namespace clanguml {
namespace t00007 {
class A {
};
class A { };
class B {
};
class B { };
class C {
};
class C { };
class R {
public:
@@ -43,3 +40,166 @@ public:
```
## Generated UML diagrams
![t00007_class](./t00007_class.svg "Smart pointers")
## 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": "../../tests/t00007/t00007.cc",
"line": 5,
"translation_unit": "../../tests/t00007/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": "../../tests/t00007/t00007.cc",
"line": 7,
"translation_unit": "../../tests/t00007/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": "../../tests/t00007/t00007.cc",
"line": 9,
"translation_unit": "../../tests/t00007/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": "../../tests/t00007/t00007.cc",
"line": 13,
"translation_unit": "../../tests/t00007/t00007.cc"
},
"type": "std::unique_ptr<A>"
},
{
"access": "public",
"is_static": false,
"name": "b",
"source_location": {
"column": 24,
"file": "../../tests/t00007/t00007.cc",
"line": 14,
"translation_unit": "../../tests/t00007/t00007.cc"
},
"type": "std::shared_ptr<B>"
},
{
"access": "public",
"is_static": false,
"name": "c",
"source_location": {
"column": 22,
"file": "../../tests/t00007/t00007.cc",
"line": 15,
"translation_unit": "../../tests/t00007/t00007.cc"
},
"type": "std::weak_ptr<C>"
}
],
"methods": [],
"name": "R",
"namespace": "clanguml::t00007",
"source_location": {
"column": 7,
"file": "../../tests/t00007/t00007.cc",
"line": 11,
"translation_unit": "../../tests/t00007/t00007.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="fb8eytkvj48n8" width="300%" x="-1" y="-1">
<filter height="300%" id="f9eq3a75fj4ho" 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"/>
@@ -9,59 +9,59 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fb8eytkvj48n8)" height="48" id="C_0000098876622534017019" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f9eq3a75fj4ho)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L8" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L8" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fb8eytkvj48n8)" height="48" id="C_0000696381312773707784" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L7" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L7" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f9eq3a75fj4ho)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fb8eytkvj48n8)" height="48" id="C_0000972031178679364068" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L9" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L9" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f9eq3a75fj4ho)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L14" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L14" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fb8eytkvj48n8)" height="86.4141" id="C_0000066905874721300157" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="21.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L11" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L11" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f9eq3a75fj4ho)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="22.5" x2="179.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L16" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L13" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L13" 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="54"/>
<ellipse cx="32.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L16" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;A&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L13" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L13" 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="62.2104">a : std::unique_ptr&lt;A&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L17" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L14" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L14" 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="66.8047"/>
<ellipse cx="32.5" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L17" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;B&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L14" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L14" 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="75.0151">b : std::shared_ptr&lt;B&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L18" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L15" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L15" 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="79.6094"/>
<ellipse cx="32.5" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00007/t00007.cc#L18" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;C&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L15" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00007/t00007.cc#L15" 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="87.8198">c : std::weak_ptr&lt;C&gt;</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&lt;-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>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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" contentScriptType="application/ecmascript" contentStyleType="text/css" height="403px" preserveAspectRatio="none" style="width:1178px;height:403px;" version="1.1" viewBox="0 0 1178 403" width="1178px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fdvqtxljjjuuc" width="300%" x="-1" y="-1">
<filter height="300%" id="fvv5vajan0oen" 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"/>
@@ -9,124 +9,184 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdvqtxljjjuuc)" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L9" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L9" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="124.8281" id="C_0001657660300852090121" style="stroke: #A80036; stroke-width: 1.5;" width="209" 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="8" x="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="167" x="51" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="165" x="52" y="17.1387">T,P=T,CMP=nullptr,int N=3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="214" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="214" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="54"/>
<ellipse cx="17" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="62.2104">comparator : CMP</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="66.8047"/>
<ellipse cx="17" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="75.0151">ints : std::array&lt;int,N&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="79.6094"/>
<ellipse cx="17" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L12" target="_top" title="pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="87.8198">pointer : T *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="92.4141"/>
<ellipse cx="17" cy="97.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;P&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L13" target="_top" title="reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="100.6245">reference : T &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="105.2188"/>
<ellipse cx="17" cy="110.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L15" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int,N&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="113.4292">value : T</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="118.0234"/>
<ellipse cx="17" cy="123.0234" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L17" target="_top" title="comparator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L14" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="126.2339">values : std::vector&lt;P&gt;</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L20" target="_top" title="Vector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L20" xlink:show="new" xlink:title="Vector" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdvqtxljjjuuc)" 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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L20" target="_top" title="Vector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L20" xlink:show="new" xlink:title="Vector" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="60.8047" id="C_0001677407014842680311" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="250" y="40"/>
<ellipse cx="300.25" cy="56" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M303.2188,61.6406 Q302.6406,61.9375 302,62.0781 Q301.3594,62.2344 300.6563,62.2344 Q298.1563,62.2344 296.8281,60.5938 Q295.5156,58.9375 295.5156,55.8125 Q295.5156,52.6875 296.8281,51.0313 Q298.1563,49.375 300.6563,49.375 Q301.3594,49.375 302,49.5313 Q302.6563,49.6875 303.2188,49.9844 L303.2188,52.7031 Q302.5938,52.125 302,51.8594 Q301.4063,51.5781 300.7813,51.5781 Q299.4375,51.5781 298.75,52.6563 Q298.0625,53.7188 298.0625,55.8125 Q298.0625,57.9063 298.75,58.9844 Q299.4375,60.0469 300.7813,60.0469 Q301.4063,60.0469 302,59.7813 Q302.5938,59.5 303.2188,58.9219 L303.2188,61.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="320.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="405" y="37"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="406" y="49.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="410" y1="72" y2="72"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="410" y1="80" y2="80"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="256" y="86"/>
<ellipse cx="261" cy="91" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;T&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L21" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="270" y="94.2104">values : std::vector&lt;T&gt;</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdvqtxljjjuuc)" 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&lt;&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="414" x2="589" y1="351" y2="351"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="60.8047" id="C_0001968575752686868237" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="490" y="332"/>
<ellipse cx="548.75" cy="348" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M551.7188,353.6406 Q551.1406,353.9375 550.5,354.0781 Q549.8594,354.2344 549.1563,354.2344 Q546.6563,354.2344 545.3281,352.5938 Q544.0156,350.9375 544.0156,347.8125 Q544.0156,344.6875 545.3281,343.0313 Q546.6563,341.375 549.1563,341.375 Q549.8594,341.375 550.5,341.5313 Q551.1563,341.6875 551.7188,341.9844 L551.7188,344.7031 Q551.0938,344.125 550.5,343.8594 Q549.9063,343.5781 549.2813,343.5781 Q547.9375,343.5781 547.25,344.6563 Q546.5625,345.7188 546.5625,347.8125 Q546.5625,349.9063 547.25,350.9844 Q547.9375,352.0469 549.2813,352.0469 Q549.9063,352.0469 550.5,351.7813 Q551.0938,351.5 551.7188,350.9219 L551.7188,353.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="569.25" y="352.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="629" y="329"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="630" y="341.1387">T,C&lt;&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="491" x2="666" y1="364" y2="364"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="491" x2="666" y1="372" y2="372"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="496" y="378"/>
<ellipse cx="501" cy="383" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;T&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L25" target="_top" title="template_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="510" y="386.2104">template_template : C&lt;T&gt;</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(#fdvqtxljjjuuc)" 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdvqtxljjjuuc)" 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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="48" id="C_0001449136415707203971" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="526" y="216.5"/>
<ellipse cx="541" cy="232.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M543.9688,238.1406 Q543.3906,238.4375 542.75,238.5781 Q542.1094,238.7344 541.4063,238.7344 Q538.9063,238.7344 537.5781,237.0938 Q536.2656,235.4375 536.2656,232.3125 Q536.2656,229.1875 537.5781,227.5313 Q538.9063,225.875 541.4063,225.875 Q542.1094,225.875 542.75,226.0313 Q543.4063,226.1875 543.9688,226.4844 L543.9688,229.2031 Q543.3438,228.625 542.75,228.3594 Q542.1563,228.0781 541.5313,228.0781 Q540.1875,228.0781 539.5,229.1563 Q538.8125,230.2188 538.8125,232.3125 Q538.8125,234.4063 539.5,235.4844 Q540.1875,236.5469 541.5313,236.5469 Q542.1563,236.5469 542.75,236.2813 Q543.3438,236 543.9688,235.4219 L543.9688,238.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="555" y="236.6543">B</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="63" x="571" y="213.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="61" x="572" y="225.6387">int,Vector</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="527" x2="630" y1="248.5" y2="248.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="527" x2="630" y1="256.5" y2="256.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="94.4141" id="C_0001562396858816419857" style="stroke: #A80036; stroke-width: 1.5;" width="265" x="446" y="23.5"/>
<ellipse cx="569.75" cy="39.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M572.7188,45.1406 Q572.1406,45.4375 571.5,45.5781 Q570.8594,45.7344 570.1563,45.7344 Q567.6563,45.7344 566.3281,44.0938 Q565.0156,42.4375 565.0156,39.3125 Q565.0156,36.1875 566.3281,34.5313 Q567.6563,32.875 570.1563,32.875 Q570.8594,32.875 571.5,33.0313 Q572.1563,33.1875 572.7188,33.4844 L572.7188,36.2031 Q572.0938,35.625 571.5,35.3594 Q570.9063,35.0781 570.2813,35.0781 Q568.9375,35.0781 568.25,36.1563 Q567.5625,37.2188 567.5625,39.3125 Q567.5625,41.4063 568.25,42.4844 Q568.9375,43.5469 570.2813,43.5469 Q570.9063,43.5469 571.5,43.2813 Q572.0938,43 572.7188,42.4219 L572.7188,45.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="590.25" y="43.6543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="447" x2="710" y1="55.5" y2="55.5"/>
<ellipse cx="457" cy="66.5" 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="239" x="466" y="69.7104">D&lt;Items...&gt;(std::tuple&lt;Items...&gt; *) : void</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="447" x2="710" y1="76.3047" y2="76.3047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int,Vector&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L33" target="_top" title="add" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L33" xlink:show="new" xlink:title="add" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="452" y="82.3047"/>
<ellipse cx="457" cy="87.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</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&lt;Items...&gt; * ) : 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-&gt;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&lt;-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>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L33" target="_top" title="add" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L33" xlink:show="new" xlink:title="add" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="466" y="90.5151">add(int i) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="447" x2="710" y1="97.1094" y2="97.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="452" y="103.1094"/>
<ellipse cx="457" cy="108.1094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L29" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="466" y="111.3198">ints : B&lt;int,Vector&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L36" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L36" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="48" id="C_0001787658457052431115" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="903.5" y="338.5"/>
<ellipse cx="918.5" cy="354.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M921.4688,360.1406 Q920.8906,360.4375 920.25,360.5781 Q919.6094,360.7344 918.9063,360.7344 Q916.4063,360.7344 915.0781,359.0938 Q913.7656,357.4375 913.7656,354.3125 Q913.7656,351.1875 915.0781,349.5313 Q916.4063,347.875 918.9063,347.875 Q919.6094,347.875 920.25,348.0313 Q920.9063,348.1875 921.4688,348.4844 L921.4688,351.2031 Q920.8438,350.625 920.25,350.3594 Q919.6563,350.0781 919.0313,350.0781 Q917.6875,350.0781 917,351.1563 Q916.3125,352.2188 916.3125,354.3125 Q916.3125,356.4063 917,357.4844 Q917.6875,358.5469 919.0313,358.5469 Q919.6563,358.5469 920.25,358.2813 Q920.8438,358 921.4688,357.4219 L921.4688,360.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="932.5" y="358.6543">E</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="904.5" x2="942.5" y1="370.5" y2="370.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="904.5" x2="942.5" y1="378.5" y2="378.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L37" target="_top" title="E##nested_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L37" xlink:show="new" xlink:title="E##nested_template" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="60.8047" id="C_0001549419203490064906" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="922.5" y="210"/>
<ellipse cx="968.75" cy="226" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M971.7188,231.6406 Q971.1406,231.9375 970.5,232.0781 Q969.8594,232.2344 969.1563,232.2344 Q966.6563,232.2344 965.3281,230.5938 Q964.0156,228.9375 964.0156,225.8125 Q964.0156,222.6875 965.3281,221.0313 Q966.6563,219.375 969.1563,219.375 Q969.8594,219.375 970.5,219.5313 Q971.1563,219.6875 971.7188,219.9844 L971.7188,222.7031 Q971.0938,222.125 970.5,221.8594 Q969.9063,221.5781 969.2813,221.5781 Q967.9375,221.5781 967.25,222.6563 Q966.5625,223.7188 966.5625,225.8125 Q966.5625,227.9063 967.25,228.9844 Q967.9375,230.0469 969.2813,230.0469 Q969.9063,230.0469 970.5,229.7813 Q971.0938,229.5 971.7188,228.9219 L971.7188,231.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="989.25" y="230.1543">E::nested_template</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="17" x="1150.5" y="207"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="15" x="1151.5" y="219.1387">ET</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="923.5" x2="1163.5" y1="242" y2="242"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L40" target="_top" title="get" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L40" xlink:show="new" xlink:title="get" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="928.5" y="248"/>
<ellipse cx="933.5" cy="253" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L40" target="_top" title="get" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L40" xlink:show="new" xlink:title="get" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="216" x="942.5" y="256.2104">get(ET * d) : E::nested_template::DT *</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="923.5" x2="1163.5" y1="262.8047" y2="262.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L44" target="_top" title="E##nested_template" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L44" xlink:show="new" xlink:title="E##nested_template" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fvv5vajan0oen)" height="60.8047" id="C_0000033637089897037832" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="746" y="40"/>
<ellipse cx="842.25" cy="56" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M845.2188,61.6406 Q844.6406,61.9375 844,62.0781 Q843.3594,62.2344 842.6563,62.2344 Q840.1563,62.2344 838.8281,60.5938 Q837.5156,58.9375 837.5156,55.8125 Q837.5156,52.6875 838.8281,51.0313 Q840.1563,49.375 842.6563,49.375 Q843.3594,49.375 844,49.5313 Q844.6563,49.6875 845.2188,49.9844 L845.2188,52.7031 Q844.5938,52.125 844,51.8594 Q843.4063,51.5781 842.7813,51.5781 Q841.4375,51.5781 840.75,52.6563 Q840.0625,53.7188 840.0625,55.8125 Q840.0625,57.9063 840.75,58.9844 Q841.4375,60.0469 842.7813,60.0469 Q843.4063,60.0469 844,59.7813 Q844.5938,59.5 845.2188,58.9219 L845.2188,61.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="862.75" y="60.1543">E::nested_template</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="30" x="1074" y="37"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="28" x="1075" y="49.1387">char</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="747" x2="1100" y1="72" y2="72"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L47" target="_top" title="getDecl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L47" xlink:show="new" xlink:title="getDecl" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="752" y="78"/>
<ellipse cx="757" cy="83" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L47" target="_top" title="getDecl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00008/t00008.cc#L47" xlink:show="new" xlink:title="getDecl" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="329" x="766" y="86.2104">getDecl(char * c) : E::nested_template&lt;char&gt;::DeclType *</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="747" x2="1100" y1="92.8047" y2="92.8047"/>
<path d="M578.5,264.64 C578.5,277.97 578.5,295.27 578.5,311.55 " fill="none" id="C_0001449136415707203971-&gt;C_0001968575752686868237" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="585.5,311.61,578.5,331.61,571.5,311.61,585.5,311.61" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M578.5,131.05 C578.5,160.58 578.5,194.53 578.5,216.46 " fill="none" id="C_0001562396858816419857&lt;-C_0001449136415707203971" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="578.5,117.85,574.5,123.85,578.5,129.85,582.5,123.85,578.5,117.85" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="584.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="591.5" y="176.0669">ints</text>
<path d="M1013.84,271.16 C995.79,289.21 972.77,312.23 954.49,330.51 " fill="none" id="C_0001549419203490064906-&gt;C_0001787658457052431115" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="949.4569" cy="335.5431" fill="#FFFFFF" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.0;"/>
<line style="stroke: #A80036; stroke-width: 1.0;" x1="955.1137" x2="943.8" y1="329.8863" y2="341.2"/>
<line style="stroke: #A80036; stroke-width: 1.0;" x1="955.1137" x2="943.8" y1="341.2" y2="329.8863"/>
<path d="M917.32,101.26 C910.02,140.26 899.57,210.78 905.5,271 C907.21,288.34 910.71,307.28 914.18,323.33 " fill="none" id="C_0000033637089897037832-&gt;C_0001787658457052431115" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="915.8023" cy="330.4477" fill="#FFFFFF" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.0;"/>
<line style="stroke: #A80036; stroke-width: 1.0;" x1="914.0346" x2="917.57" y1="322.6455" y2="338.25"/>
<line style="stroke: #A80036; stroke-width: 1.0;" x1="923.6046" x2="908" y1="328.68" y2="332.2154"/>
<path d="M944.68,101.15 C962.96,126.74 989.66,164.13 1010.7,193.59 " fill="none" id="C_0000033637089897037832-&gt;C_0001549419203490064906" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="1016.4,189.52,1022.33,209.87,1005.01,197.66,1016.4,189.52" style="stroke: #A80036; stroke-width: 1.0;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -41,3 +41,254 @@ public:
```
## Generated UML diagrams
![t00009_class](./t00009_class.svg "Template instantiation")
## 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": "../../tests/t00009/t00009.cc",
"line": 9,
"translation_unit": "../../tests/t00009/t00009.cc"
},
"type": "T"
}
],
"methods": [],
"name": "A",
"namespace": "clanguml::t00009",
"source_location": {
"column": 29,
"file": "../../tests/t00009/t00009.cc",
"line": 7,
"translation_unit": "../../tests/t00009/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": "../../tests/t00009/t00009.cc",
"line": 7,
"translation_unit": "../../tests/t00009/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": "../../tests/t00009/t00009.cc",
"line": 7,
"translation_unit": "../../tests/t00009/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": "../../tests/t00009/t00009.cc",
"line": 7,
"translation_unit": "../../tests/t00009/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": "../../tests/t00009/t00009.cc",
"line": 14,
"translation_unit": "../../tests/t00009/t00009.cc"
},
"type": "A<int>"
},
{
"access": "public",
"is_static": false,
"name": "astring",
"source_location": {
"column": 21,
"file": "../../tests/t00009/t00009.cc",
"line": 15,
"translation_unit": "../../tests/t00009/t00009.cc"
},
"type": "A<std::string> *"
},
{
"access": "public",
"is_static": false,
"name": "avector",
"source_location": {
"column": 34,
"file": "../../tests/t00009/t00009.cc",
"line": 16,
"translation_unit": "../../tests/t00009/t00009.cc"
},
"type": "A<std::vector<std::string>> &"
}
],
"methods": [],
"name": "B",
"namespace": "clanguml::t00009",
"source_location": {
"column": 7,
"file": "../../tests/t00009/t00009.cc",
"line": 12,
"translation_unit": "../../tests/t00009/t00009.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="fx4nw6ylxjz6u" width="300%" x="-1" y="-1">
<filter height="300%" id="f15mpmze9tyogp" 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"/>
@@ -9,24 +9,25 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fx4nw6ylxjz6u)" height="60.8047" id="C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="116.5" y="280"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15mpmze9tyogp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="190.5" y1="320" y2="320"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="326"/>
<ellipse cx="127.5" cy="331" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L9" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="334.2104">value : T</text>
</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(#fx4nw6ylxjz6u)" height="48" id="C_0000001894387438043499" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="6" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15mpmze9tyogp)" 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>
@@ -34,7 +35,9 @@
<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(#fx4nw6ylxjz6u)" height="48" id="C_0001340793233843139195" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="101" y="171"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15mpmze9tyogp)" 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>
@@ -42,7 +45,9 @@
<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(#fx4nw6ylxjz6u)" height="48" id="C_0001370808797762248850" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="242" y="171"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15mpmze9tyogp)" 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>
@@ -50,35 +55,36 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="148" x="288" y="180.1387">std::vector&lt;std::string&gt;</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L12" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L12" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fx4nw6ylxjz6u)" height="86.4141" id="C_0000176239714450247310" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="25.5" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L12" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L12" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15mpmze9tyogp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="26.5" x2="281.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="54"/>
<ellipse cx="36.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L14" target="_top" title="aint" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="62.2104">aint : A&lt;int&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="66.8047"/>
<ellipse cx="36.5" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;std::string&gt; *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="75.0151">astring : A&lt;std::string&gt; *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="79.6094"/>
<ellipse cx="36.5" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;std::vector&lt;std::string&gt;&gt; &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00009/t00009.cc#L16" target="_top" title="avector" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="87.8198">avector : A&lt;std::vector&lt;std::string&gt;&gt; &amp;</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-&gt;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-&gt;C_0000412228989111660105" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -45,3 +45,247 @@ public:
```
## Generated UML diagrams
![t00010_class](./t00010_class.svg "Basic template instantiation")
## 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": "../../tests/t00010/t00010.cc",
"line": 9,
"translation_unit": "../../tests/t00010/t00010.cc"
},
"type": "T"
},
{
"access": "public",
"is_static": false,
"name": "second",
"source_location": {
"column": 7,
"file": "../../tests/t00010/t00010.cc",
"line": 10,
"translation_unit": "../../tests/t00010/t00010.cc"
},
"type": "P"
}
],
"methods": [],
"name": "A",
"namespace": "clanguml::t00010",
"source_location": {
"column": 41,
"file": "../../tests/t00010/t00010.cc",
"line": 7,
"translation_unit": "../../tests/t00010/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": "../../tests/t00010/t00010.cc",
"line": 7,
"translation_unit": "../../tests/t00010/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": "../../tests/t00010/t00010.cc",
"line": 15,
"translation_unit": "../../tests/t00010/t00010.cc"
},
"type": "A<T,std::string>"
}
],
"methods": [],
"name": "B",
"namespace": "clanguml::t00010",
"source_location": {
"column": 29,
"file": "../../tests/t00010/t00010.cc",
"line": 13,
"translation_unit": "../../tests/t00010/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": "../../tests/t00010/t00010.cc",
"line": 13,
"translation_unit": "../../tests/t00010/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": "../../tests/t00010/t00010.cc",
"line": 20,
"translation_unit": "../../tests/t00010/t00010.cc"
},
"type": "B<int>"
}
],
"methods": [],
"name": "C",
"namespace": "clanguml::t00010",
"source_location": {
"column": 7,
"file": "../../tests/t00010/t00010.cc",
"line": 18,
"translation_unit": "../../tests/t00010/t00010.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="f1worf1ibs2uk" width="300%" x="-1" y="-1">
<filter height="300%" id="fgfk6491nbcz3" 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"/>
@@ -9,31 +9,32 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1worf1ibs2uk)" height="73.6094" id="C_0002222216618904514099" style="stroke: #A80036; stroke-width: 1.5;" width="86" x="49.5" y="502"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgfk6491nbcz3)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="50.5" x2="134.5" y1="542" y2="542"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="548"/>
<ellipse cx="60.5" cy="553" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L9" target="_top" title="first" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="556.2104">first : T</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="560.8047"/>
<ellipse cx="60.5" cy="565.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L10" target="_top" title="second" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="569.0151">second : P</text>
</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(#f1worf1ibs2uk)" height="48" id="C_0001861520693741915300" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="34" y="393"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgfk6491nbcz3)" 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>
@@ -41,24 +42,26 @@
<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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1worf1ibs2uk)" height="60.8047" id="C_0002303611426082708583" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="6" y="255"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgfk6491nbcz3)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="178" y1="295" y2="295"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="301"/>
<ellipse cx="17" cy="306" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;T,std::string&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L15" target="_top" title="astring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="309.2104">astring : A&lt;T,std::string&gt;</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(#f1worf1ibs2uk)" height="48" id="C_0001498376939480949099" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="62.5" y="146"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L13" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L13" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgfk6491nbcz3)" 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>
@@ -66,21 +69,22 @@
<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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L18" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L18" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1worf1ibs2uk)" height="60.8047" id="C_0001880966578968892571" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="26.5" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L18" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L18" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fgfk6491nbcz3)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="27.5" x2="157.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="54"/>
<ellipse cx="37.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00010/t00010.cc#L20" target="_top" title="aintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="62.2104">aintstring : B&lt;int&gt;</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-&gt;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&lt;-C_0001861520693741915300" style="stroke: #A80036; stroke-width: 1.0;"/>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -19,8 +19,7 @@ diagrams:
File t00011.cc
```cpp
namespace external {
class C {
};
class C { };
}
namespace clanguml {
@@ -55,3 +54,185 @@ public:
```
## Generated UML diagrams
![t00011_class](./t00011_class.svg "Friend relationships")
## 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": "../../tests/t00011/t00011.cc",
"line": 11,
"translation_unit": "../../tests/t00011/t00011.cc"
},
"type": "T"
}
],
"methods": [],
"name": "D",
"namespace": "clanguml::t00011",
"source_location": {
"column": 29,
"file": "../../tests/t00011/t00011.cc",
"line": 10,
"translation_unit": "../../tests/t00011/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_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": "../../tests/t00011/t00011.cc",
"line": 16,
"translation_unit": "../../tests/t00011/t00011.cc"
},
"type": "void"
}
],
"name": "A",
"namespace": "clanguml::t00011",
"source_location": {
"column": 7,
"file": "../../tests/t00011/t00011.cc",
"line": 14,
"translation_unit": "../../tests/t00011/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": "../../tests/t00011/t00011.cc",
"line": 29,
"translation_unit": "../../tests/t00011/t00011.cc"
},
"type": "clanguml::t00011::A *"
}
],
"methods": [
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "../../tests/t00011/t00011.cc",
"line": 28,
"translation_unit": "../../tests/t00011/t00011.cc"
},
"type": "void"
}
],
"name": "B",
"namespace": "clanguml::t00011",
"source_location": {
"column": 7,
"file": "../../tests/t00011/t00011.cc",
"line": 26,
"translation_unit": "../../tests/t00011/t00011.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="f1om3znszuivj0" width="300%" x="-1" y="-1">
<filter height="300%" id="fmv49fphdx4ui" 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"/>
@@ -9,50 +9,60 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L11" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L11" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om3znszuivj0)" height="60.8047" id="C_0001150639902748052276" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="6" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L10" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L10" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmv49fphdx4ui)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="80" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.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="54"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="56"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L11" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.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="62.2104">value : T</text>
</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L15" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L15" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om3znszuivj0)" height="60.8047" id="C_0001420516952857803719" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="116" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L14" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L14" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmv49fphdx4ui)" 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L27" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L27" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om3znszuivj0)" height="73.6094" id="C_0001687427603952049829" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="116" y="146"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L16" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L16" xlink:show="new" xlink:title="foo" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="122" y="46"/>
<ellipse cx="127" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L16" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L16" xlink:show="new" xlink:title="foo" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="136" y="54.2104">foo() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="202" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L26" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L26" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmv49fphdx4ui)" 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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L30" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L30" xlink:show="new" xlink:title="m_a" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L28" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L28" xlink:show="new" xlink:title="foo" 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;"/>
<ellipse cx="127" cy="189" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00011/t00011.cc#L30" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L28" target="_top" title="foo" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L28" xlink:show="new" xlink:title="foo" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="136" y="192.2104">foo() : void</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>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L29" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L29" 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="204.8047"/>
<ellipse cx="127" cy="209.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L29" target="_top" title="m_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00011/t00011.cc#L29" 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="213.0151">m_a : A *</text>
</a>
<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&lt;-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;"/>

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="fpihcawsmpsex" width="300%" x="-1" y="-1">
<filter height="300%" id="fupwshvt0opxa" 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"/>
@@ -9,32 +9,32 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fpihcawsmpsex)" height="73.6094" id="C_0001773299890023132282" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="822" y="306"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="823" x2="1005" y1="346" y2="346"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="352"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="830" y="354"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L12" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="360.2104">value : T</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="364.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="830" y="366.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;Ts...&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L13" target="_top" title="values" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="373.0151">values : std::variant&lt;Ts...&gt;</text>
</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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fpihcawsmpsex)" height="60.8047" id="C_0002061171077567279746" style="stroke: #A80036; stroke-width: 1.5;" width="214" x="1134" y="312.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -43,15 +43,15 @@
<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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L17" xlink:show="new" xlink:title="ints" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L17" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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&lt;int,sizeof...(Is)&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fpihcawsmpsex)" height="60.8047" id="C_0000627809578407650629" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="149.5" y="312.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -60,14 +60,15 @@
<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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L21" xlink:show="new" xlink:title="ints" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L21" target="_top" title="ints" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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&lt;T,sizeof...(Is)&gt;</text>
</a>
<rect fill="#FEFECE" filter="url(#fpihcawsmpsex)" height="48" id="C_0000286972398942005457" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="758" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -75,7 +76,9 @@
<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(#fpihcawsmpsex)" height="48" id="C_0000299466181098300963" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="951.5" y="197"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -83,7 +86,9 @@
<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(#fpihcawsmpsex)" height="48" id="C_0000489063277971613593" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="1144" y="197"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -91,7 +96,9 @@
<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(#fpihcawsmpsex)" height="48" id="C_0000014232362483200599" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="1255" y="197"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L16" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -99,7 +106,9 @@
<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(#fpihcawsmpsex)" height="48" id="C_0001478239414632239754" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="6" y="197"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L20" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L20" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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>
@@ -107,50 +116,51 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="450" x="52" y="206.1387">std::map&lt;int,std::vector&lt;std::vector&lt;std::vector&lt;std::string&gt;&gt;&gt;&gt;,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/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L24" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L24" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fpihcawsmpsex)" height="112.0234" id="C_0000559263385732885469" style="stroke: #A80036; stroke-width: 1.5;" width="493" x="783.5" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L24" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L24" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fupwshvt0opxa)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="784.5" x2="1275.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="54"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="56"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int,std::string,float&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L25" target="_top" title="a1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="62.2104">a1 : A&lt;int,std::string,float&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="66.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="68.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;int,std::string,bool&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L26" target="_top" title="a2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="75.0151">a2 : A&lt;int,std::string,bool&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="79.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="81.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;3,2,1&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L28" target="_top" title="b1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="87.8198">b1 : B&lt;3,2,1&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="92.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="94.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;1,1,1,1&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L29" target="_top" title="b2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="100.6245">b2 : B&lt;1,1,1,1&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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 href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="105.2188"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="791.5" y="107.2188"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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&lt;std::map&lt;int,std::vector&lt;std::vector&lt;std::vector&lt;std::string&gt;&gt;&gt;&gt;,3,3,3&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00012/t00012.cc#L33" target="_top" title="c1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="113.4292">c1 : C&lt;std::map&lt;int,std::vector&lt;std::vector&lt;std::vector&lt;std::string&gt;&gt;&gt;&gt;,3,3,3&gt;</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(#fpihcawsmpsex)" style="stroke: #A80036; stroke-width: 1.0;"/>
<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(#fupwshvt0opxa)" 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-&gt;C_0001773299890023132282" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="518px" preserveAspectRatio="none" style="width:1138px;height:518px;" version="1.1" viewBox="0 0 1138 518" width="1138px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f1a776lb2lwecw" width="300%" x="-1" y="-1">
<filter height="300%" id="f1om6u4p4pzvyx" 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"/>
@@ -9,24 +9,25 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L7" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L7" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="60.8047" id="C_0000952770730316239752" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="161" y="440.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L7" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L7" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="60.8047" id="C_0000952770730316239752" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="161" y="440.5"/>
<ellipse cx="176" cy="456.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M178.9688,462.1406 Q178.3906,462.4375 177.75,462.5781 Q177.1094,462.7344 176.4063,462.7344 Q173.9063,462.7344 172.5781,461.0938 Q171.2656,459.4375 171.2656,456.3125 Q171.2656,453.1875 172.5781,451.5313 Q173.9063,449.875 176.4063,449.875 Q177.1094,449.875 177.75,450.0313 Q178.4063,450.1875 178.9688,450.4844 L178.9688,453.2031 Q178.3438,452.625 177.75,452.3594 Q177.1563,452.0781 176.5313,452.0781 Q175.1875,452.0781 174.5,453.1563 Q173.8125,454.2188 173.8125,456.3125 Q173.8125,458.4063 174.5,459.4844 Q175.1875,460.5469 176.5313,460.5469 Q177.1563,460.5469 177.75,460.2813 Q178.3438,460 178.9688,459.4219 L178.9688,462.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="190" y="460.6543">ABCD::F</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="246" y="437.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="247" y="449.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="162" x2="251" y1="472.5" y2="472.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="162" x2="251" y1="480.5" y2="480.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L8" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L8" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="167" y="478.5"/>
<ellipse cx="172" cy="483.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L8" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L8" xlink:show="new" xlink:title="f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="167" y="486.5"/>
<ellipse cx="172" cy="491.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L8" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L8" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="181" y="486.7104">f : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L8" target="_top" title="f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L8" xlink:show="new" xlink:title="f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="181" y="494.7104">f : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="162" x2="251" y1="493.3047" y2="493.3047"/>
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="48" id="C_0002304215469403389354" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="233.5" y="312"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L7" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L7" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="48" id="C_0002304215469403389354" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="233.5" y="312"/>
<ellipse cx="248.5" cy="328" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M251.4688,333.6406 Q250.8906,333.9375 250.25,334.0781 Q249.6094,334.2344 248.9063,334.2344 Q246.4063,334.2344 245.0781,332.5938 Q243.7656,330.9375 243.7656,327.8125 Q243.7656,324.6875 245.0781,323.0313 Q246.4063,321.375 248.9063,321.375 Q249.6094,321.375 250.25,321.5313 Q250.9063,321.6875 251.4688,321.9844 L251.4688,324.7031 Q250.8438,324.125 250.25,323.8594 Q249.6563,323.5781 249.0313,323.5781 Q247.6875,323.5781 247,324.6563 Q246.3125,325.7188 246.3125,327.8125 Q246.3125,329.9063 247,330.9844 Q247.6875,332.0469 249.0313,332.0469 Q249.6563,332.0469 250.25,331.7813 Q250.8438,331.5 251.4688,330.9219 L251.4688,333.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="262.5" y="332.1543">ABCD::F</text>
@@ -34,110 +35,117 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="319.5" y="321.1387">int</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="234.5" x2="332.5" y1="344" y2="344"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="234.5" x2="332.5" y1="352" y2="352"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L14" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L14" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="60.8047" id="C_0000519995486237427479" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="369" y="305.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L14" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L14" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="60.8047" id="C_0000519995486237427479" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="369" y="305.5"/>
<ellipse cx="392.55" cy="321.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M395.5188,327.1406 Q394.9406,327.4375 394.3,327.5781 Q393.6594,327.7344 392.9563,327.7344 Q390.4563,327.7344 389.1281,326.0938 Q387.8156,324.4375 387.8156,321.3125 Q387.8156,318.1875 389.1281,316.5313 Q390.4563,314.875 392.9563,314.875 Q393.6594,314.875 394.3,315.0313 Q394.9563,315.1875 395.5188,315.4844 L395.5188,318.2031 Q394.8938,317.625 394.3,317.3594 Q393.7063,317.0781 393.0813,317.0781 Q391.7375,317.0781 391.05,318.1563 Q390.3625,319.2188 390.3625,321.3125 Q390.3625,323.4063 391.05,324.4844 Q391.7375,325.5469 393.0813,325.5469 Q393.7063,325.5469 394.3,325.2813 Q394.8938,325 395.5188,324.4219 L395.5188,327.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="408.45" y="325.6543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="370" x2="427" y1="337.5" y2="337.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="370" x2="427" y1="345.5" y2="345.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L15" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L15" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="375" y="343.5"/>
<ellipse cx="380" cy="348.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L15" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L15" xlink:show="new" xlink:title="a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="375" y="351.5"/>
<ellipse cx="380" cy="356.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L15" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L15" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="389" y="351.7104">a : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L15" target="_top" title="a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L15" xlink:show="new" xlink:title="a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="389" y="359.7104">a : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="370" x2="427" y1="358.3047" y2="358.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L18" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L18" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="60.8047" id="C_0001177487653597650440" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="463" y="305.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L18" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L18" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="60.8047" id="C_0001177487653597650440" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="463" y="305.5"/>
<ellipse cx="486.55" cy="321.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M489.5188,327.1406 Q488.9406,327.4375 488.3,327.5781 Q487.6594,327.7344 486.9563,327.7344 Q484.4563,327.7344 483.1281,326.0938 Q481.8156,324.4375 481.8156,321.3125 Q481.8156,318.1875 483.1281,316.5313 Q484.4563,314.875 486.9563,314.875 Q487.6594,314.875 488.3,315.0313 Q488.9563,315.1875 489.5188,315.4844 L489.5188,318.2031 Q488.8938,317.625 488.3,317.3594 Q487.7063,317.0781 487.0813,317.0781 Q485.7375,317.0781 485.05,318.1563 Q484.3625,319.2188 484.3625,321.3125 Q484.3625,323.4063 485.05,324.4844 Q485.7375,325.5469 487.0813,325.5469 Q487.7063,325.5469 488.3,325.2813 Q488.8938,325 489.5188,324.4219 L489.5188,327.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="502.45" y="325.6543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="464" x2="521" y1="337.5" y2="337.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="464" x2="521" y1="345.5" y2="345.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L19" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L19" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="469" y="343.5"/>
<ellipse cx="474" cy="348.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L19" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L19" xlink:show="new" xlink:title="b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="469" y="351.5"/>
<ellipse cx="474" cy="356.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L19" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L19" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="483" y="351.7104">b : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L19" target="_top" title="b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L19" xlink:show="new" xlink:title="b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="483" y="359.7104">b : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="464" x2="521" y1="358.3047" y2="358.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L22" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L22" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="60.8047" id="C_0001028245818073128358" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="557.5" y="305.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L22" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L22" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="60.8047" id="C_0001028245818073128358" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="557.5" y="305.5"/>
<ellipse cx="580.6" cy="321.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M583.5688,327.1406 Q582.9906,327.4375 582.35,327.5781 Q581.7094,327.7344 581.0063,327.7344 Q578.5063,327.7344 577.1781,326.0938 Q575.8656,324.4375 575.8656,321.3125 Q575.8656,318.1875 577.1781,316.5313 Q578.5063,314.875 581.0063,314.875 Q581.7094,314.875 582.35,315.0313 Q583.0063,315.1875 583.5688,315.4844 L583.5688,318.2031 Q582.9438,317.625 582.35,317.3594 Q581.7563,317.0781 581.1313,317.0781 Q579.7875,317.0781 579.1,318.1563 Q578.4125,319.2188 578.4125,321.3125 Q578.4125,323.4063 579.1,324.4844 Q579.7875,325.5469 581.1313,325.5469 Q581.7563,325.5469 582.35,325.2813 Q582.9438,325 583.5688,324.4219 L583.5688,327.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="596.4" y="325.6543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="558.5" x2="614.5" y1="337.5" y2="337.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="558.5" x2="614.5" y1="345.5" y2="345.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L23" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L23" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="563.5" y="343.5"/>
<ellipse cx="568.5" cy="348.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L23" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L23" xlink:show="new" xlink:title="c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="563.5" y="351.5"/>
<ellipse cx="568.5" cy="356.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L23" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L23" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="577.5" y="351.7104">c : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L23" target="_top" title="c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L23" xlink:show="new" xlink:title="c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="577.5" y="359.7104">c : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="558.5" x2="614.5" y1="358.3047" y2="358.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="73.6094" id="C_0000409373870621931875" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="6" y="299"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L28" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L28" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="73.6094" id="C_0000409373870621931875" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="6" y="299"/>
<ellipse cx="57.75" cy="315" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M60.7188,320.6406 Q60.1406,320.9375 59.5,321.0781 Q58.8594,321.2344 58.1563,321.2344 Q55.6563,321.2344 54.3281,319.5938 Q53.0156,317.9375 53.0156,314.8125 Q53.0156,311.6875 54.3281,310.0313 Q55.6563,308.375 58.1563,308.375 Q58.8594,308.375 59.5,308.5313 Q60.1563,308.6875 60.7188,308.9844 L60.7188,311.7031 Q60.0938,311.125 59.5,310.8594 Q58.9063,310.5781 58.2813,310.5781 Q56.9375,310.5781 56.25,311.6563 Q55.5625,312.7188 55.5625,314.8125 Q55.5625,316.9063 56.25,317.9844 Q56.9375,319.0469 58.2813,319.0469 Q58.9063,319.0469 59.5,318.7813 Q60.0938,318.5 60.7188,317.9219 L60.7188,320.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="78.25" y="319.1543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="126" y1="331" y2="331"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L29" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L29" xlink:show="new" xlink:title="d" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L30" target="_top" title="print" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L30" xlink:show="new" xlink:title="print" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="337"/>
<ellipse cx="17" cy="342" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<ellipse cx="17" cy="342" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L29" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L29" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="26" y="345.2104">d : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L30" target="_top" title="print" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L30" xlink:show="new" xlink:title="print" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="95" x="26" y="345.2104">print(R * r) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="126" y1="351.8047" y2="351.8047"/>
<ellipse cx="17" cy="362.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="95" x="26" y="366.0151">print(R * r) : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L33" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L33" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="60.8047" id="C_0000864055993755439230" style="stroke: #A80036; stroke-width: 1.5;" width="52" x="795.5" y="440.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L29" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L29" xlink:show="new" xlink:title="d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="357.8047"/>
<ellipse cx="17" cy="362.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L29" target="_top" title="d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L29" xlink:show="new" xlink:title="d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="26" y="366.0151">d : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="60.8047" id="C_0000864055993755439230" style="stroke: #A80036; stroke-width: 1.5;" width="52" x="795.5" y="440.5"/>
<ellipse cx="810.95" cy="456.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M813.9188,462.1406 Q813.3406,462.4375 812.7,462.5781 Q812.0594,462.7344 811.3563,462.7344 Q808.8563,462.7344 807.5281,461.0938 Q806.2156,459.4375 806.2156,456.3125 Q806.2156,453.1875 807.5281,451.5313 Q808.8563,449.875 811.3563,449.875 Q812.0594,449.875 812.7,450.0313 Q813.3563,450.1875 813.9188,450.4844 L813.9188,453.2031 Q813.2938,452.625 812.7,452.3594 Q812.1063,452.0781 811.4813,452.0781 Q810.1375,452.0781 809.45,453.1563 Q808.7625,454.2188 808.7625,456.3125 Q808.7625,458.4063 809.45,459.4844 Q810.1375,460.5469 811.4813,460.5469 Q812.1063,460.5469 812.7,460.2813 Q813.2938,460 813.9188,459.4219 L813.9188,462.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="825.05" y="460.6543">E</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="841.5" y="437.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="842.5" y="449.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="796.5" x2="846.5" y1="472.5" y2="472.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="796.5" x2="846.5" y1="480.5" y2="480.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L34" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L34" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="801.5" y="478.5"/>
<ellipse cx="806.5" cy="483.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L34" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L34" xlink:show="new" xlink:title="e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="801.5" y="486.5"/>
<ellipse cx="806.5" cy="491.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L34" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L34" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="815.5" y="486.7104">e : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L34" target="_top" title="e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L34" xlink:show="new" xlink:title="e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="815.5" y="494.7104">e : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="796.5" x2="846.5" y1="493.3047" y2="493.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L37" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L37" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="73.6094" id="C_0000205927019127027617" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="950.5" y="434"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L37" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L37" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="73.6094" id="C_0000205927019127027617" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="950.5" y="434"/>
<ellipse cx="1001.75" cy="450" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1004.7188,455.6406 Q1004.1406,455.9375 1003.5,456.0781 Q1002.8594,456.2344 1002.1563,456.2344 Q999.6563,456.2344 998.3281,454.5938 Q997.0156,452.9375 997.0156,449.8125 Q997.0156,446.6875 998.3281,445.0313 Q999.6563,443.375 1002.1563,443.375 Q1002.8594,443.375 1003.5,443.5313 Q1004.1563,443.6875 1004.7188,443.9844 L1004.7188,446.7031 Q1004.0938,446.125 1003.5,445.8594 Q1002.9063,445.5781 1002.2813,445.5781 Q1000.9375,445.5781 1000.25,446.6563 Q999.5625,447.7188 999.5625,449.8125 Q999.5625,451.9063 1000.25,452.9844 Q1000.9375,454.0469 1002.2813,454.0469 Q1002.9063,454.0469 1003.5,453.7813 Q1004.0938,453.5 1004.7188,452.9219 L1004.7188,455.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="1022.25" y="454.1543">G</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="52" x="1075.5" y="431"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="50" x="1076.5" y="443.1387">T,Args...</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="951.5" x2="1123.5" y1="466" y2="466"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="951.5" x2="1123.5" y1="474" y2="474"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L38" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L38" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="956.5" y="472"/>
<ellipse cx="961.5" cy="477" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L39" target="_top" title="args" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L39" xlink:show="new" xlink:title="args" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="956.5" y="480"/>
<ellipse cx="961.5" cy="485" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L38" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L38" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="970.5" y="480.2104">g : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L39" target="_top" title="args" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L39" xlink:show="new" xlink:title="args" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="970.5" y="488.2104">args : std::tuple&lt;Args...&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L39" target="_top" title="args" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L39" xlink:show="new" xlink:title="args" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="956.5" y="484.8047"/>
<ellipse cx="961.5" cy="489.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L38" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L38" xlink:show="new" xlink:title="g" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="956.5" y="492.8047"/>
<ellipse cx="961.5" cy="497.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L39" target="_top" title="args" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L39" xlink:show="new" xlink:title="args" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="970.5" y="493.0151">args : std::tuple&lt;Args...&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L38" target="_top" title="g" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L38" xlink:show="new" xlink:title="g" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="26" x="970.5" y="501.0151">g : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="951.5" x2="1123.5" y1="499.6094" y2="499.6094"/>
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="48" id="C_0001977486318799565722" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="791.5" y="312"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="48" id="C_0001977486318799565722" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="791.5" y="312"/>
<ellipse cx="806.5" cy="328" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M809.4688,333.6406 Q808.8906,333.9375 808.25,334.0781 Q807.6094,334.2344 806.9063,334.2344 Q804.4063,334.2344 803.0781,332.5938 Q801.7656,330.9375 801.7656,327.8125 Q801.7656,324.6875 803.0781,323.0313 Q804.4063,321.375 806.9063,321.375 Q807.6094,321.375 808.25,321.5313 Q808.9063,321.6875 809.4688,321.9844 L809.4688,324.7031 Q808.8438,324.125 808.25,323.8594 Q807.6563,323.5781 807.0313,323.5781 Q805.6875,323.5781 805,324.6563 Q804.3125,325.7188 804.3125,327.8125 Q804.3125,329.9063 805,330.9844 Q805.6875,332.0469 807.0313,332.0469 Q807.6563,332.0469 808.25,331.7813 Q808.8438,331.5 809.4688,330.9219 L809.4688,333.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="820.5" y="332.1543">E</text>
@@ -145,7 +153,9 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="837.5" y="321.1387">int</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="792.5" x2="850.5" y1="344" y2="344"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="792.5" x2="850.5" y1="352" y2="352"/>
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="48" id="C_0001526733274613822014" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="958" y="312"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L37" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L37" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="48" id="C_0001526733274613822014" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="958" y="312"/>
<ellipse cx="973" cy="328" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M975.9688,333.6406 Q975.3906,333.9375 974.75,334.0781 Q974.1094,334.2344 973.4063,334.2344 Q970.9063,334.2344 969.5781,332.5938 Q968.2656,330.9375 968.2656,327.8125 Q968.2656,324.6875 969.5781,323.0313 Q970.9063,321.375 973.4063,321.375 Q974.1094,321.375 974.75,321.5313 Q975.4063,321.6875 975.9688,321.9844 L975.9688,324.7031 Q975.3438,324.125 974.75,323.8594 Q974.1563,323.5781 973.5313,323.5781 Q972.1875,323.5781 971.5,324.6563 Q970.8125,325.7188 970.8125,327.8125 Q970.8125,329.9063 971.5,330.9844 Q972.1875,332.0469 973.5313,332.0469 Q974.1563,332.0469 974.75,331.7813 Q975.3438,331.5 975.9688,330.9219 L975.9688,333.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="987" y="332.1543">G</text>
@@ -153,7 +163,9 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="114" x="1005" y="321.1387">int,float,std::string</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="959" x2="1116" y1="344" y2="344"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="959" x2="1116" y1="352" y2="352"/>
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="48" id="C_0000531523220915557686" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="650.5" y="312"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L33" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="48" id="C_0000531523220915557686" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="650.5" y="312"/>
<ellipse cx="665.5" cy="328" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M668.4688,333.6406 Q667.8906,333.9375 667.25,334.0781 Q666.6094,334.2344 665.9063,334.2344 Q663.4063,334.2344 662.0781,332.5938 Q660.7656,330.9375 660.7656,327.8125 Q660.7656,324.6875 662.0781,323.0313 Q663.4063,321.375 665.9063,321.375 Q666.6094,321.375 667.25,321.5313 Q667.9063,321.6875 668.4688,321.9844 L668.4688,324.7031 Q667.8438,324.125 667.25,323.8594 Q666.6563,323.5781 666.0313,323.5781 Q664.6875,323.5781 664,324.6563 Q663.3125,325.7188 663.3125,327.8125 Q663.3125,329.9063 664,330.9844 Q664.6875,332.0469 666.0313,332.0469 Q666.6563,332.0469 667.25,331.7813 Q667.8438,331.5 668.4688,330.9219 L668.4688,333.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="679.5" y="332.1543">E</text>
@@ -161,50 +173,96 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62" x="696.5" y="321.1387">std::string</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="755.5" y1="344" y2="344"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="755.5" y1="352" y2="352"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L43" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L43" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1a776lb2lwecw)" height="214.4609" id="C_0002198686676355573844" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="371.5" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L43" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L43" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1om6u4p4pzvyx)" height="214.4609" id="C_0002198686676355573844" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="371.5" y="8"/>
<ellipse cx="484.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M487.2188,29.6406 Q486.6406,29.9375 486,30.0781 Q485.3594,30.2344 484.6563,30.2344 Q482.1563,30.2344 480.8281,28.5938 Q479.5156,26.9375 479.5156,23.8125 Q479.5156,20.6875 480.8281,19.0313 Q482.1563,17.375 484.6563,17.375 Q485.3594,17.375 486,17.5313 Q486.6563,17.6875 487.2188,17.9844 L487.2188,20.7031 Q486.5938,20.125 486,19.8594 Q485.4063,19.5781 484.7813,19.5781 Q483.4375,19.5781 482.75,20.6563 Q482.0625,21.7188 482.0625,23.8125 Q482.0625,25.9063 482.75,26.9844 Q483.4375,28.0469 484.7813,28.0469 Q485.4063,28.0469 486,27.7813 Q486.5938,27.5 487.2188,26.9219 L487.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="504.75" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="372.5" x2="612.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L60" target="_top" title="gintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L60" xlink:show="new" xlink:title="gintstring" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L45" target="_top" title="get_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L45" xlink:show="new" xlink:title="get_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="46"/>
<ellipse cx="382.5" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<ellipse cx="382.5" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L60" target="_top" title="gintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L60" xlink:show="new" xlink:title="gintstring" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="391.5" y="54.2104">gintstring : G&lt;int,float,std::string&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L45" target="_top" title="get_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L45" xlink:show="new" xlink:title="get_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="391.5" y="54.2104">get_a(A * a) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L63" target="_top" title="estring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L63" xlink:show="new" xlink:title="estring" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L46" target="_top" title="get_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L46" xlink:show="new" xlink:title="get_b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="58.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="379.5" y="60.8047"/>
<ellipse cx="382.5" cy="63.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L63" target="_top" title="estring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00013/t00013.cc#L63" xlink:show="new" xlink:title="estring" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="391.5" y="67.0151">estring : E&lt;std::string&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L46" target="_top" title="get_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L46" xlink:show="new" xlink:title="get_b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="391.5" y="67.0151">get_b(B &amp; b) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L48" target="_top" title="get_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L48" xlink:show="new" xlink:title="get_c" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="71.6094"/>
<ellipse cx="382.5" cy="76.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L48" target="_top" title="get_c" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L48" xlink:show="new" xlink:title="get_c" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="391.5" y="79.8198">get_c(C c) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L47" target="_top" title="get_const_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L47" xlink:show="new" xlink:title="get_const_b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="84.4141"/>
<ellipse cx="382.5" cy="89.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L47" target="_top" title="get_const_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L47" xlink:show="new" xlink:title="get_const_b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="391.5" y="92.6245">get_const_b(const B &amp; b) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L49" target="_top" title="get_d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L49" xlink:show="new" xlink:title="get_d" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="97.2188"/>
<ellipse cx="382.5" cy="102.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L49" target="_top" title="get_d" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L49" xlink:show="new" xlink:title="get_d" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="391.5" y="105.4292">get_d(D &amp;&amp; d) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L51" target="_top" title="get_d2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L51" xlink:show="new" xlink:title="get_d2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="110.0234"/>
<ellipse cx="382.5" cy="115.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L51" target="_top" title="get_d2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L51" xlink:show="new" xlink:title="get_d2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="391.5" y="118.2339">get_d2(D &amp;&amp; d) : int</text>
</a>
<ellipse cx="382.5" cy="127.8281" 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="126" x="391.5" y="131.0386">get_e&lt;T&gt;(E&lt;T&gt; e) : T</text>
<ellipse cx="382.5" cy="140.6328" 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="168" x="391.5" y="143.8433">get_f&lt;T&gt;(const F&lt;T&gt; &amp; f) : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L54" target="_top" title="get_int_e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L54" xlink:show="new" xlink:title="get_int_e" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="148.4375"/>
<ellipse cx="382.5" cy="153.4375" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L54" target="_top" title="get_int_e" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L54" xlink:show="new" xlink:title="get_int_e" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="184" x="391.5" y="156.6479">get_int_e(const E&lt;int&gt; &amp; e) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L55" target="_top" title="get_int_e2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L55" xlink:show="new" xlink:title="get_int_e2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="161.2422"/>
<ellipse cx="382.5" cy="166.2422" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L55" target="_top" title="get_int_e2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L55" xlink:show="new" xlink:title="get_int_e2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="156" x="391.5" y="169.4526">get_int_e2(E&lt;int&gt; &amp; e) : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L58" target="_top" title="get_int_f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L58" xlink:show="new" xlink:title="get_int_f" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="174.0469"/>
<ellipse cx="382.5" cy="179.0469" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L58" target="_top" title="get_int_f" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L58" xlink:show="new" xlink:title="get_int_f" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="216" x="391.5" y="182.2573">get_int_f(const ABCD::F&lt;int&gt; &amp; f) : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="372.5" x2="612.5" y1="188.8516" y2="188.8516"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L63" target="_top" title="estring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L63" xlink:show="new" xlink:title="estring" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="194.8516"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="379.5" y="196.8516"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L63" target="_top" title="estring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L63" xlink:show="new" xlink:title="estring" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="391.5" y="203.062">estring : E&lt;std::string&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L60" target="_top" title="gintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L60" xlink:show="new" xlink:title="gintstring" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="377.5" y="207.6563"/>
<ellipse cx="382.5" cy="212.6563" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L60" target="_top" title="gintstring" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00013/t00013.cc#L60" xlink:show="new" xlink:title="gintstring" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="391.5" y="215.8667">gintstring : G&lt;int,float,std::string&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="372.5" x2="612.5" y1="73.6094" y2="73.6094"/>
<ellipse cx="382.5" cy="84.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="93" x="391.5" y="87.8198">get_a(A * a) : int</text>
<ellipse cx="382.5" cy="97.4141" 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="98" x="391.5" y="100.6245">get_b(B &amp; b) : int</text>
<ellipse cx="382.5" cy="110.2188" 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="170" x="391.5" y="113.4292">get_const_b(const B &amp; b) : int</text>
<ellipse cx="382.5" cy="123.0234" 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="82" x="391.5" y="126.2339">get_c(C c) : int</text>
<ellipse cx="382.5" cy="135.8281" 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="391.5" y="139.0386">get_d(D &amp;&amp; d) : int</text>
<ellipse cx="382.5" cy="148.6328" 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="391.5" y="151.8433">get_d2(D &amp;&amp; d) : int</text>
<ellipse cx="382.5" cy="161.4375" 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="184" x="391.5" y="164.6479">get_int_e(const E&lt;int&gt; &amp; e) : int</text>
<ellipse cx="382.5" cy="174.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="156" x="391.5" y="177.4526">get_int_e2(E&lt;int&gt; &amp; e) : int</text>
<ellipse cx="382.5" cy="187.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="216" x="391.5" y="190.2573">get_int_f(const ABCD::F&lt;int&gt; &amp; f) : int</text>
<ellipse cx="382.5" cy="199.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="101" x="391.5" y="203.062">get_e(E&lt;T&gt; e) : T</text>
<ellipse cx="382.5" cy="212.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="143" x="391.5" y="215.8667">get_f(const F&lt;T&gt; &amp; f) : T</text>
<path d="M270.09,360.17 C260.11,377.41 246.14,401.53 233.84,422.78 " fill="none" id="C_0002304215469403389354-&gt;C_0000952770730316239752" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="239.89,426.3,223.81,440.1,227.77,419.28,239.89,426.3" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M115.49,298.63 C132.68,282.78 152.34,264.91 172.5,252 C232.6,213.53 305.37,182.56 366.43,159.94 " fill="none" id="C_0000409373870621931875-&gt;C_0002198686676355573844" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 51 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -23,30 +23,25 @@ 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
@@ -54,3 +49,169 @@ class B : public ns1::ns2::Anon {
```
## Generated UML diagrams
![t00015_class](./t00015_class.svg "Namespace fun")
## 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": "../../tests/t00015/t00015.cc",
"line": 6,
"translation_unit": "../../tests/t00015/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": "../../tests/t00015/t00015.cc",
"line": 10,
"translation_unit": "../../tests/t00015/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": "../../tests/t00015/t00015.cc",
"line": 14,
"translation_unit": "../../tests/t00015/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": "../../tests/t00015/t00015.cc",
"line": 21,
"translation_unit": "../../tests/t00015/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": "../../tests/t00015/t00015.cc",
"line": 24,
"translation_unit": "../../tests/t00015/t00015.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="fr1xefm9gj9e2" width="300%" x="-1" y="-1">
<filter height="300%" id="f91n0lunp79w1" 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"/>
@@ -9,40 +9,40 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fr1xefm9gj9e2)" height="48" id="C_0001410694888805149453" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="98" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f91n0lunp79w1)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fr1xefm9gj9e2)" height="48" id="C_0000485552648049088863" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="204.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L10" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L10" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f91n0lunp79w1)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L16" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L16" xlink:show="new" xlink:title="Anon" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fr1xefm9gj9e2)" height="48" id="C_0001060731132374575329" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="6" y="116"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L14" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L14" xlink:show="new" xlink:title="Anon" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f91n0lunp79w1)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L24" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L24" xlink:show="new" xlink:title="Anon" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fr1xefm9gj9e2)" height="48" id="C_0001797521288354158629" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="136" y="116"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L21" target="_top" title="Anon" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L21" xlink:show="new" xlink:title="Anon" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f91n0lunp79w1)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L28" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00015/t00015.cc#L28" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fr1xefm9gj9e2)" height="48" id="C_0000870882387819356092" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="179" y="224"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L24" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00015/t00015.cc#L24" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f91n0lunp79w1)" 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>

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@@ -50,3 +50,266 @@ template <> struct is_numeric<bool> {
```
## Generated UML diagrams
![t00016_class](./t00016_class.svg "Unnamed enums and empty templates")
## 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": "../../tests/t00016/t00016.cc",
"line": 4,
"translation_unit": "../../tests/t00016/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": "../../tests/t00016/t00016.cc",
"line": 8,
"translation_unit": "../../tests/t00016/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": "../../tests/t00016/t00016.cc",
"line": 12,
"translation_unit": "../../tests/t00016/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": "../../tests/t00016/t00016.cc",
"line": 16,
"translation_unit": "../../tests/t00016/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": "../../tests/t00016/t00016.cc",
"line": 20,
"translation_unit": "../../tests/t00016/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": "../../tests/t00016/t00016.cc",
"line": 24,
"translation_unit": "../../tests/t00016/t00016.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "argument",
"template_parameters": [],
"type": "bool"
}
],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"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"
}
```

View File

@@ -1,6 +1,6 @@
<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:980px;height:200px;" version="1.1" viewBox="0 0 980 200" width="980px" zoomAndPan="magnify">
<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">
<defs>
<filter height="300%" id="f15s7016ropzul" width="300%" x="-1" y="-1">
<filter height="300%" id="f93a1h4gnxklp" 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"/>
@@ -9,95 +9,87 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L4" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L4" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" 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&lt;&gt;</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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L4" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L4" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" height="60.8047" id="C_0000932856332558460389" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="343.5" y="129"/>
<ellipse cx="358.5" cy="145" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M361.4688,150.6406 Q360.8906,150.9375 360.25,151.0781 Q359.6094,151.2344 358.9063,151.2344 Q356.4063,151.2344 355.0781,149.5938 Q353.7656,147.9375 353.7656,144.8125 Q353.7656,141.6875 355.0781,140.0313 Q356.4063,138.375 358.9063,138.375 Q359.6094,138.375 360.25,138.5313 Q360.9063,138.6875 361.4688,138.9844 L361.4688,141.7031 Q360.8438,141.125 360.25,140.8594 Q359.6563,140.5781 359.0313,140.5781 Q357.6875,140.5781 357,141.6563 Q356.3125,142.7188 356.3125,144.8125 Q356.3125,146.9063 357,147.9844 Q357.6875,149.0469 359.0313,149.0469 Q359.6563,149.0469 360.25,148.7813 Q360.8438,148.5 361.4688,147.9219 L361.4688,150.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="372.5" y="149.1543">is_numeric</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="65" x="446.5" y="126"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="63" x="447.5" y="138.1387">typename</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="344.5" x2="507.5" y1="161" y2="161"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="344.5" x2="507.5" y1="169" y2="169"/>
<ellipse cx="354.5" cy="180" 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="363.5" y="183.2104">value : enum</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L8" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L8" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0000722777951198284620" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="869" y="8"/>
<ellipse cx="884.9" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M887.8688,29.6406 Q887.2906,29.9375 886.65,30.0781 Q886.0094,30.2344 885.3063,30.2344 Q882.8063,30.2344 881.4781,28.5938 Q880.1656,26.9375 880.1656,23.8125 Q880.1656,20.6875 881.4781,19.0313 Q882.8063,17.375 885.3063,17.375 Q886.0094,17.375 886.65,17.5313 Q887.3063,17.6875 887.8688,17.9844 L887.8688,20.7031 Q887.2438,20.125 886.65,19.8594 Q886.0563,19.5781 885.4313,19.5781 Q884.0875,19.5781 883.4,20.6563 Q882.7125,21.7188 882.7125,23.8125 Q882.7125,25.9063 883.4,26.9844 Q884.0875,28.0469 885.4313,28.0469 Q886.0563,28.0469 886.65,27.7813 Q887.2438,27.5 887.8688,26.9219 L887.8688,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="899.1" y="28.1543">is_numeric</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="870" x2="968" y1="40" y2="40"/>
<ellipse cx="880" 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="889" y="54.2104">value : enum</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="870" x2="968" y1="60.8047" y2="60.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L8" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L8" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0000095618295648274199" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="6" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L8" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L8" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="135" y1="48" y2="48"/>
<ellipse cx="17" cy="59" 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="62.2104">value : enum</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L12" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L12" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0000979129381790761728" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="171" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L12" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L12" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="172" x2="300" y1="48" y2="48"/>
<ellipse cx="182" cy="59" 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="62.2104">value : enum</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L16" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L16" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0002090787690027341836" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="336.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L16" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L16" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="337.5" x2="514.5" y1="48" y2="48"/>
<ellipse cx="347.5" cy="59" 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="62.2104">value : enum</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L20" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L20" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0000500603075237446075" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="551" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L20" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L20" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="552" x2="668" y1="48" y2="48"/>
<ellipse cx="562" cy="59" 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="62.2104">value : enum</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L24" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00016/t00016.cc#L24" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f15s7016ropzul)" height="60.8047" id="C_0002111316837513419920" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="704.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L24" target="_top" title="is_numeric" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00016/t00016.cc#L24" xlink:show="new" xlink:title="is_numeric" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f93a1h4gnxklp)" 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"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="705.5" x2="832.5" y1="48" y2="48"/>
<ellipse cx="715.5" cy="59" 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="62.2104">value : enum</text>
</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-&gt;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-&gt;C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<path d="M136.29,63.18 C141.93,65.17 147.56,67.13 153,69 C209.46,88.41 272.82,109.24 324.27,125.91 " fill="none" id="C_0000095618295648274199-&gt;C_0000932856332558460389" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="326.49,119.27,343.36,132.09,322.18,132.59,326.49,119.27" 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-&gt;C_0000932856332558460389" 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-&gt;C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<path d="M426,69.22 C426,81.15 426,95.23 426,108.63 " fill="none" id="C_0002090787690027341836-&gt;C_0000932856332558460389" 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-&gt;C_0000214045147845616983" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<path d="M564.04,69.22 C541.24,83.97 513.34,102.01 488.61,118.01 " fill="none" id="C_0000500603075237446075-&gt;C_0000932856332558460389" 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-&gt;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;"/>
<path d="M704.13,62.94 C698.34,65 692.57,67.04 687,69 C634.55,87.43 576.02,107.54 527.69,124.02 " fill="none" id="C_0002111316837513419920-&gt;C_0000932856332558460389" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="529.88,130.67,508.69,130.5,525.36,117.42,529.88,130.67" style="stroke: #A80036; stroke-width: 1.0;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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">
<defs>
<filter height="300%" id="f1h03orzdjf2m" width="300%" x="-1" y="-1">
<filter height="300%" id="f10wyef7tv7mg2" 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"/>
@@ -9,172 +9,169 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0000121332093434690887" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L5" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L5" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L8" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L8" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001424864837456200487" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="81" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L7" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L7" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0002151170391844743478" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="156" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L9" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L9" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L14" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L14" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001378112127131766972" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="231.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L11" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L11" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L17" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L17" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001535300935831802489" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="308" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L13" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L13" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L20" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L20" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001803800465279710134" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="383.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L15" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L15" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L23" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L23" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001135797791892670246" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="457.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L17" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L17" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L26" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L26" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001243547836571712317" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="533.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L19" target="_top" title="H" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L19" xlink:show="new" xlink:title="H" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L29" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L29" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0000387733199705628658" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="609.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L21" target="_top" title="I" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L21" xlink:show="new" xlink:title="I" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L32" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L32" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0000747991828672433537" style="stroke: #A80036; stroke-width: 1.5;" width="35" x="679.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L23" target="_top" title="J" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L23" xlink:show="new" xlink:title="J" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L35" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L35" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="48" id="C_0001783571342994833467" style="stroke: #A80036; stroke-width: 1.5;" width="39" x="749.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L25" target="_top" title="K" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L25" xlink:show="new" xlink:title="K" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L38" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L38" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1h03orzdjf2m)" height="112.0234" id="C_0000287495916564113342" style="stroke: #A80036; stroke-width: 1.5;" width="379" x="196.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="197.5" x2="574.5" y1="40" y2="40"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L27" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L27" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f10wyef7tv7mg2)" height="112.0234" id="C_0000287495916564113342" style="stroke: #A80036; stroke-width: 1.5;" width="379" x="213.5" y="8"/>
<ellipse cx="394.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M397.7188,29.6406 Q397.1406,29.9375 396.5,30.0781 Q395.8594,30.2344 395.1563,30.2344 Q392.6563,30.2344 391.3281,28.5938 Q390.0156,26.9375 390.0156,23.8125 Q390.0156,20.6875 391.3281,19.0313 Q392.6563,17.375 395.1563,17.375 Q395.8594,17.375 396.5,17.5313 Q397.1563,17.6875 397.7188,17.9844 L397.7188,20.7031 Q397.0938,20.125 396.5,19.8594 Q395.9063,19.5781 395.2813,19.5781 Q393.9375,19.5781 393.25,20.6563 Q392.5625,21.7188 392.5625,23.8125 Q392.5625,25.9063 393.25,26.9844 Q393.9375,28.0469 395.2813,28.0469 Q395.9063,28.0469 396.5,27.7813 Q397.0938,27.5 397.7188,26.9219 L397.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="415.25" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="214.5" x2="591.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L49" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="202.5" y="46"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="204.5" y="48"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L28" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L28" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="219.5" y="46"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="221.5" y="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L49" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="216.5" y="54.2104">some_int : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L28" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L28" xlink:show="new" xlink:title="R" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="353" x="233.5" y="54.2104">R(int &amp; some_int, C &amp; cc, const E &amp; ee, F &amp;&amp; ff, I *&amp; ii) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L50" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="202.5" y="58.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="204.5" y="60.8047"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="214.5" x2="591.5" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L38" 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="219.5" y="66.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="221.5" y="68.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L50" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="216.5" y="67.0151">some_int_pointer : int *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L38" target="_top" title="some_int" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L38" 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="233.5" y="75.0151">some_int : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L51" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="202.5" y="71.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="204.5" y="73.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L39" 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="219.5" y="79.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="221.5" y="81.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L51" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="216.5" y="79.8198">some_int_pointer_pointer : int **</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L39" target="_top" title="some_int_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="233.5" y="87.8198">some_int_pointer : int *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L52" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="202.5" y="84.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="204.5" y="86.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L40" 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="219.5" y="92.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="221.5" y="94.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00017/t00017.cc#L52" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/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="216.5" y="92.6245">some_int_reference : int &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L40" target="_top" title="some_int_pointer_pointer" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="233.5" y="100.6245">some_int_pointer_pointer : int **</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="197.5" x2="574.5" y1="99.2188" y2="99.2188"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="204.5" y="107.2188"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="353" x="216.5" y="113.4292">R(int &amp; some_int, C &amp; cc, const E &amp; ee, F &amp;&amp; ff, I *&amp; ii) : void</text>
<path d="M196.38,115.54 C183.12,125.1 171.33,136.48 162,150 C153.6,162.17 156.07,178.21 161.11,191.86 " fill="none" id="C_0000287495916564113342-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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&lt;-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-&gt;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-&gt;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="M183.84,111.01 C154.05,121.64 124.5,134.5 98,150 C77.23,162.14 57.93,181.54 44.55,196.83 " fill="none" id="C_0000287495916564113342&lt;-C_0000121332093434690887" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="196.16,106.75,189.1829,104.9277,184.8173,110.6672,191.7944,112.4895,196.16,106.75" 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="M196.4,109.87 C173.78,120.54 152.27,133.72 134,150 C121.56,161.08 113.43,177.85 108.35,192.19 " fill="none" id="C_0000287495916564113342-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L41" 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="219.5" y="105.2188"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="221.5" y="107.2188"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00017/t00017.cc#L41" target="_top" title="some_int_reference" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/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="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="233.5" y="113.4292">some_int_reference : int &amp;</text>
</a>
<path d="M227.33,124.78 C173.51,145.32 114.85,170.01 63,197 C57.36,199.93 51.44,203.42 46.03,206.78 " fill="none" id="C_0000287495916564113342&lt;-C_0000121332093434690887" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="239.82,120.06,232.7927,118.4422,228.5966,124.3067,235.6239,125.9245,239.82,120.06" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="164" y="163.0669">-a</text>
<path d="M286.66,120.01 C239.94,142.86 185.91,170.26 138,197 C133.93,199.27 129.67,201.79 125.55,204.29 " fill="none" id="C_0000287495916564113342-&gt;C_0001424864837456200487" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="121.15,207,130.9093,205.6752,125.4044,204.3731,126.7064,198.8682,121.15,207" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="226" y="163.0669">-b</text>
<path d="M322.33,120.08 C279.51,149.32 229.87,183.22 200.8,203.07 " fill="none" id="C_0000287495916564113342-&gt;C_0002151170391844743478" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="196.32,206.13,206.0096,204.3659,200.4514,203.3138,201.5036,197.7556,196.32,206.13" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="277" y="163.0669">-c</text>
<path d="M349.34,120.08 C324.54,145.54 296.31,174.52 276.66,194.69 " fill="none" id="C_0000287495916564113342-&gt;C_0001378112127131766972" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="272.85,198.6,281.9915,194.9348,276.3352,195.0148,276.2552,189.3585,272.85,198.6" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="320" y="163.0669">-d</text>
<path d="M376.35,120.08 C364.57,144.41 351.24,171.96 341.57,191.97 " fill="none" id="C_0000287495916564113342-&gt;C_0001535300935831802489" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="339.31,196.62,346.8402,190.272,341.4945,192.1225,339.6441,186.7768,339.31,196.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="363" y="163.0669">-e</text>
<path d="M403,133.26 C403,155.95 403,179.72 403,196.62 " fill="none" id="C_0000287495916564113342&lt;-C_0001803800465279710134" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="403,120.08,399,126.08,403,132.08,407,126.08,403,120.08" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="9" x="404" y="163.0669">-f</text>
<path d="M429.65,120.08 C441.43,144.41 454.76,171.96 464.43,191.97 " fill="none" id="C_0000287495916564113342-&gt;C_0001135797791892670246" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="466.69,196.62,466.3559,186.7768,464.5055,192.1225,459.1598,190.272,466.69,196.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="453" y="163.0669">-g</text>
<path d="M456.66,120.08 C481.46,145.54 509.69,174.52 529.34,194.69 " fill="none" id="C_0000287495916564113342-&gt;C_0001243547836571712317" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="533.15,198.6,529.7448,189.3585,529.6648,195.0148,524.0085,194.9348,533.15,198.6" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="502" y="163.0669">-h</text>
<path d="M482.6,120.08 C526.05,150.15 576.62,185.14 604.91,204.71 " fill="none" id="C_0000287495916564113342-&gt;C_0000387733199705628658" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="609.25,207.72,604.1332,199.3046,605.1411,204.871,599.5748,205.8789,609.25,207.72" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="550" y="163.0669">-i</text>
<path d="M517.59,120.01 C563.14,142.75 615.64,170.06 662,197 C666.34,199.52 670.88,202.35 675.2,205.15 " fill="none" id="C_0000287495916564113342-&gt;C_0000747991828672433537" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="679.43,207.91,674.0946,199.6315,675.2479,205.1695,669.7099,206.3228,679.43,207.91" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="608" y="163.0669">-j</text>
<path d="M559.13,120.02 C614.82,141.62 677.28,168.16 732,197 C736.23,199.23 740.62,201.76 744.84,204.3 " fill="none" id="C_0000287495916564113342-&gt;C_0001783571342994833467" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="749.33,207.05,743.7539,198.9317,745.0693,204.4335,739.5675,205.7489,749.33,207.05" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="664" y="163.0669">-k</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="371px" preserveAspectRatio="none" style="width:262px;height:371px;" version="1.1" viewBox="0 0 262 371" width="262px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="395px" preserveAspectRatio="none" style="width:317px;height:395px;" version="1.1" viewBox="0 0 317 395" width="317px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="ftbu7oley0w0b" width="300%" x="-1" y="-1">
<filter height="300%" id="f12cn041b0lck" 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"/>
@@ -9,65 +9,128 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L9" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L9" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ftbu7oley0w0b)" height="99.2188" id="C_0000130502639682787993" style="stroke: #A80036; stroke-width: 1.5;" width="231" x="13" y="8"/>
<ellipse cx="87.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M90.2188,29.6406 Q89.6406,29.9375 89,30.0781 Q88.3594,30.2344 87.6563,30.2344 Q85.1563,30.2344 83.8281,28.5938 Q82.5156,26.9375 82.5156,23.8125 Q82.5156,20.6875 83.8281,19.0313 Q85.1563,17.375 87.6563,17.375 Q88.3594,17.375 89,17.5313 Q89.6563,17.6875 90.2188,17.9844 L90.2188,20.7031 Q89.5938,20.125 89,19.8594 Q88.4063,19.5781 87.7813,19.5781 Q86.4375,19.5781 85.75,20.6563 Q85.0625,21.7188 85.0625,23.8125 Q85.0625,25.9063 85.75,26.9844 Q86.4375,28.0469 87.7813,28.0469 Q88.4063,28.0469 89,27.7813 Q89.5938,27.5 90.2188,26.9219 L90.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="107.75" y="28.1543">impl::widget</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="14" x2="243" y1="40" y2="40"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L9" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L9" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f12cn041b0lck)" height="107.2188" id="C_0000130502639682787993" style="stroke: #A80036; stroke-width: 1.5;" width="231" x="40.5" y="8"/>
<ellipse cx="114.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M117.7188,29.6406 Q117.1406,29.9375 116.5,30.0781 Q115.8594,30.2344 115.1563,30.2344 Q112.6563,30.2344 111.3281,28.5938 Q110.0156,26.9375 110.0156,23.8125 Q110.0156,20.6875 111.3281,19.0313 Q112.6563,17.375 115.1563,17.375 Q115.8594,17.375 116.5,17.5313 Q117.1563,17.6875 117.7188,17.9844 L117.7188,20.7031 Q117.0938,20.125 116.5,19.8594 Q115.9063,19.5781 115.2813,19.5781 Q113.9375,19.5781 113.25,20.6563 Q112.5625,21.7188 112.5625,23.8125 Q112.5625,25.9063 113.25,26.9844 Q113.9375,28.0469 115.2813,28.0469 Q115.9063,28.0469 116.5,27.7813 Q117.0938,27.5 117.7188,26.9219 L117.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="135.25" y="28.1543">impl::widget</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="41.5" x2="270.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L10" target="_top" title="n" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L10" xlink:show="new" xlink:title="n" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="19" y="46"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="21" y="48"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L15" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L15" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="46.5" y="46"/>
<ellipse cx="51.5" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L10" target="_top" title="n" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018_impl.h#L10" xlink:show="new" xlink:title="n" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="33" y="54.2104">n : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L15" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L15" xlink:show="new" xlink:title="widget" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="60.5" y="54.2104">widget(int n) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="14" x2="243" y1="60.8047" y2="60.8047"/>
<ellipse cx="24" 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" lengthAdjust="spacingAndGlyphs" textLength="205" x="33" y="75.0151">draw(const widget &amp; w) const : void</text>
<ellipse cx="24" cy="84.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="170" x="33" y="87.8198">draw(const widget &amp; w) : void</text>
<ellipse cx="24" cy="97.4141" 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="105" x="33" y="100.6245">widget(int n) : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L15" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L15" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ftbu7oley0w0b)" height="176.0469" id="C_0001005661284373854088" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="6" y="184"/>
<ellipse cx="103.75" cy="200" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M106.7188,205.6406 Q106.1406,205.9375 105.5,206.0781 Q104.8594,206.2344 104.1563,206.2344 Q101.6563,206.2344 100.3281,204.5938 Q99.0156,202.9375 99.0156,199.8125 Q99.0156,196.6875 100.3281,195.0313 Q101.6563,193.375 104.1563,193.375 Q104.8594,193.375 105.5,193.5313 Q106.1563,193.6875 106.7188,193.9844 L106.7188,196.7031 Q106.0938,196.125 105.5,195.8594 Q104.9063,195.5781 104.2813,195.5781 Q102.9375,195.5781 102.25,196.6563 Q101.5625,197.7188 101.5625,199.8125 Q101.5625,201.9063 102.25,202.9844 Q102.9375,204.0469 104.2813,204.0469 Q104.9063,204.0469 105.5,203.7813 Q106.0938,203.5 106.7188,202.9219 L106.7188,205.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="124.25" y="204.1543">widget</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="250" y1="216" y2="216"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="41.5" x2="270.5" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L13" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L13" xlink:show="new" xlink:title="draw" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="46.5" y="66.8047"/>
<ellipse cx="51.5" cy="71.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L16" target="_top" title="pImpl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L16" xlink:show="new" xlink:title="pImpl" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="222"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="224"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L13" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L13" xlink:show="new" xlink:title="draw" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="205" x="60.5" y="75.0151">draw(const widget &amp; w) const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L16" target="_top" title="pImpl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00018/t00018.h#L16" xlink:show="new" xlink:title="pImpl" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="216" x="26" y="230.2104">pImpl : std::unique_ptr&lt;impl::widget&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L14" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L14" xlink:show="new" xlink:title="draw" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="46.5" y="79.6094"/>
<ellipse cx="51.5" cy="84.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="250" y1="236.8047" y2="236.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L14" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L14" xlink:show="new" xlink:title="draw" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="60.5" y="87.8198">draw(const widget &amp; w) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="41.5" x2="270.5" y1="94.4141" y2="94.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L10" target="_top" title="n" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L10" xlink:show="new" xlink:title="n" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="46.5" y="100.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="48.5" y="102.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L10" target="_top" title="n" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018_impl.h#L10" xlink:show="new" xlink:title="n" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="60.5" y="108.6245">n : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L17" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L17" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f12cn041b0lck)" height="192.0469" id="C_0001005661284373854088" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="6" y="192"/>
<ellipse cx="131.25" cy="208" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M134.2188,213.6406 Q133.6406,213.9375 133,214.0781 Q132.3594,214.2344 131.6563,214.2344 Q129.1563,214.2344 127.8281,212.5938 Q126.5156,210.9375 126.5156,207.8125 Q126.5156,204.6875 127.8281,203.0313 Q129.1563,201.375 131.6563,201.375 Q132.3594,201.375 133,201.5313 Q133.6563,201.6875 134.2188,201.9844 L134.2188,204.7031 Q133.5938,204.125 133,203.8594 Q132.4063,203.5781 131.7813,203.5781 Q130.4375,203.5781 129.75,204.6563 Q129.0625,205.7188 129.0625,207.8125 Q129.0625,209.9063 129.75,210.9844 Q130.4375,212.0469 131.7813,212.0469 Q132.4063,212.0469 133,211.7813 Q133.5938,211.5 134.2188,210.9219 L134.2188,213.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="151.75" y="212.1543">widget</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="305" y1="224" y2="224"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L24" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L24" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="230"/>
<ellipse cx="17" cy="235" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L24" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L24" xlink:show="new" xlink:title="widget" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="26" y="238.2104">widget(int) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L27" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L27" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="242.8047"/>
<ellipse cx="17" cy="247.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="106" x="26" y="251.0151">draw() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L27" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L27" xlink:show="new" xlink:title="widget" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="26" y="251.0151">widget(widget &amp;&amp;) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L29" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L29" xlink:show="new" xlink:title="widget" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="255.6094"/>
<ellipse cx="17" cy="260.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="71" x="26" y="263.8198">draw() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L29" target="_top" title="widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L29" xlink:show="new" xlink:title="widget" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="26" y="263.8198">widget(const widget &amp;) = deleted : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L25" target="_top" title="~widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L25" xlink:show="new" xlink:title="~widget" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="268.4141"/>
<ellipse cx="17" cy="273.4141" 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="116" x="26" y="276.6245">shown() const : bool</text>
<ellipse cx="17" cy="286.2188" 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="98" x="26" y="289.4292">widget(int ) : void</text>
<ellipse cx="17" cy="299.0234" 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="89" x="26" y="302.2339">~widget() : void</text>
<ellipse cx="17" cy="311.8281" 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="26" y="315.0386">widget(widget &amp;&amp; ) : void</text>
<ellipse cx="17" cy="324.6328" 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="170" x="26" y="327.8433">widget(const widget &amp; ) : void</text>
<ellipse cx="17" cy="337.4375" 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="194" x="26" y="340.6479">operator=(widget &amp;&amp; ) : widget &amp;</text>
<ellipse cx="17" cy="350.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="219" x="26" y="353.4526">operator=(const widget &amp; ) : widget &amp;</text>
<path d="M123.49,107.03 C122.66,116.94 121.93,127.29 121.5,137 C120.9,150.47 120.93,164.7 121.33,178.66 " fill="none" id="C_0000130502639682787993-&gt;C_0001005661284373854088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="121.5,183.79,125.2153,174.6688,121.3429,178.7925,117.2193,174.9201,121.5,183.79" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M128.5,170.43 C128.5,148.43 128.5,126.11 128.5,107.25 " fill="none" id="C_0001005661284373854088&lt;-C_0000130502639682787993" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="128.5,183.68,132.5,177.68,128.5,171.68,124.5,177.68,128.5,183.68" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="131.5" y="143.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="141.5" y="150.0669">pImpl</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L25" target="_top" title="~widget" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L25" xlink:show="new" xlink:title="~widget" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="89" x="26" y="276.6245">~widget() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="305" y1="283.2188" y2="283.2188"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L30" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L30" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="289.2188"/>
<ellipse cx="17" cy="294.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L30" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L30" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="26" y="297.4292">operator=(widget &amp;&amp;) : widget &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L31" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L31" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="302.0234"/>
<ellipse cx="17" cy="307.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L31" target="_top" title="operator=" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L31" xlink:show="new" xlink:title="operator=" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="26" y="310.2339">operator=(const widget &amp;) = deleted : widget &amp;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="305" y1="316.8281" y2="316.8281"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L21" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L21" xlink:show="new" xlink:title="draw" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="322.8281"/>
<ellipse cx="17" cy="327.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L21" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L21" xlink:show="new" xlink:title="draw" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="26" y="331.0386">draw() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L22" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L22" xlink:show="new" xlink:title="draw" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="335.6328"/>
<ellipse cx="17" cy="340.6328" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L22" target="_top" title="draw" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L22" xlink:show="new" xlink:title="draw" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="26" y="343.8433">draw() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L23" target="_top" title="shown" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L23" xlink:show="new" xlink:title="shown" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="348.4375"/>
<ellipse cx="17" cy="353.4375" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L23" target="_top" title="shown" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L23" xlink:show="new" xlink:title="shown" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="26" y="356.6479">shown() const : bool</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="305" y1="363.2422" y2="363.2422"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L18" target="_top" title="pImpl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L18" xlink:show="new" xlink:title="pImpl" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="369.2422"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="371.2422"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L18" target="_top" title="pImpl" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00018/t00018.h#L18" xlink:show="new" xlink:title="pImpl" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="216" x="26" y="377.4526">pImpl : std::unique_ptr&lt;impl::widget&gt;</text>
</a>
<path d="M150.85,115.27 C150.08,125.14 149.41,135.38 149,145 C148.43,158.51 148.42,172.74 148.76,186.76 " fill="none" id="C_0000130502639682787993-&gt;C_0001005661284373854088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="148.91,191.91,152.6773,182.8102,148.7815,186.9117,144.68,183.0158,148.91,191.91" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M156,178.29 C156,156.29 156,134.11 156,115.14 " fill="none" id="C_0001005661284373854088&lt;-C_0000130502639682787993" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="156,191.57,160,185.57,156,179.57,152,185.57,156,191.57" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="159" y="151.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="169" y="158.0669">pImpl</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="685px" preserveAspectRatio="none" style="width:781px;height:685px;" version="1.1" viewBox="0 0 781 685" width="781px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="693px" preserveAspectRatio="none" style="width:797px;height:693px;" version="1.1" viewBox="0 0 797 693" width="797px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fru9pmfcvj92n" width="300%" x="-1" y="-1">
<filter height="300%" id="f125clv2abivlz" 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"/>
@@ -9,142 +9,196 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_base.h#L8" target="_top" title="Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_base.h#L8" xlink:show="new" xlink:title="Base" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="99.2188" id="C_0000261668487476634123" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="194.5" y="8"/>
<ellipse cx="256.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M259.2188,29.6406 Q258.6406,29.9375 258,30.0781 Q257.3594,30.2344 256.6563,30.2344 Q254.1563,30.2344 252.8281,28.5938 Q251.5156,26.9375 251.5156,23.8125 Q251.5156,20.6875 252.8281,19.0313 Q254.1563,17.375 256.6563,17.375 Q257.3594,17.375 258,17.5313 Q258.6563,17.6875 259.2188,17.9844 L259.2188,20.7031 Q258.5938,20.125 258,19.8594 Q257.4063,19.5781 256.7813,19.5781 Q255.4375,19.5781 254.75,20.6563 Q254.0625,21.7188 254.0625,23.8125 Q254.0625,25.9063 254.75,26.9844 Q255.4375,28.0469 256.7813,28.0469 Q257.4063,28.0469 258,27.7813 Q258.5938,27.5 259.2188,26.9219 L259.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="31" x="276.75" y="28.1543">Base</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="195.5" x2="356.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="195.5" x2="356.5" y1="48" y2="48"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="202.5" y="56"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="214.5" y="62.2104">Base() = default : void</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="202.5" y="68.8047"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="214.5" y="75.0151">~Base() = default : void</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="202.5" y="81.6094"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="214.5" y="87.8198">m1() : int</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="202.5" y="94.4141"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="214.5" y="100.6245">m2() : std::string</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L8" target="_top" title="Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L8" xlink:show="new" xlink:title="Base" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="107.2188" id="C_0000261668487476634123" style="stroke: #A80036; stroke-width: 1.5;" width="223" x="6" y="8"/>
<ellipse cx="97.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M100.7188,29.6406 Q100.1406,29.9375 99.5,30.0781 Q98.8594,30.2344 98.1563,30.2344 Q95.6563,30.2344 94.3281,28.5938 Q93.0156,26.9375 93.0156,23.8125 Q93.0156,20.6875 94.3281,19.0313 Q95.6563,17.375 98.1563,17.375 Q98.8594,17.375 99.5,17.5313 Q100.1563,17.6875 100.7188,17.9844 L100.7188,20.7031 Q100.0938,20.125 99.5,19.8594 Q98.9063,19.5781 98.2813,19.5781 Q96.9375,19.5781 96.25,20.6563 Q95.5625,21.7188 95.5625,23.8125 Q95.5625,25.9063 96.25,26.9844 Q96.9375,28.0469 98.2813,28.0469 Q98.9063,28.0469 99.5,27.7813 Q100.0938,27.5 100.7188,26.9219 L100.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="31" x="118.25" y="28.1543">Base</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="228" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer1.h#L9" target="_top" title="Layer1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer1.h#L9" xlink:show="new" xlink:title="Layer1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="73.6094" id="C_0000902631298537519271" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="443" y="601"/>
<ellipse cx="458" cy="617" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M460.9688,622.6406 Q460.3906,622.9375 459.75,623.0781 Q459.1094,623.2344 458.4063,623.2344 Q455.9063,623.2344 454.5781,621.5938 Q453.2656,619.9375 453.2656,616.8125 Q453.2656,613.6875 454.5781,612.0313 Q455.9063,610.375 458.4063,610.375 Q459.1094,610.375 459.75,610.5313 Q460.4063,610.6875 460.9688,610.9844 L460.9688,613.7031 Q460.3438,613.125 459.75,612.8594 Q459.1563,612.5781 458.5313,612.5781 Q457.1875,612.5781 456.5,613.6563 Q455.8125,614.7188 455.8125,616.8125 Q455.8125,618.9063 456.5,619.9844 Q457.1875,621.0469 458.5313,621.0469 Q459.1563,621.0469 459.75,620.7813 Q460.3438,620.5 460.9688,619.9219 L460.9688,622.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="472" y="621.1543">Layer1</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="521" y="598"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="522" y="610.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="444" x2="592" y1="633" y2="633"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="444" x2="592" y1="641" y2="641"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="451" y="649"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="463" y="655.2104">m1() : int</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="451" y="661.8047"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="463" y="668.0151">m2() : std::string</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L10" target="_top" title="Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L10" xlink:show="new" xlink:title="Base" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="46"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer2.h#L6" target="_top" title="Layer2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer2.h#L6" xlink:show="new" xlink:title="Layer2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="60.8047" id="C_0001115150925302580647" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="187.5" y="479"/>
<ellipse cx="214.65" cy="495" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M217.6188,500.6406 Q217.0406,500.9375 216.4,501.0781 Q215.7594,501.2344 215.0563,501.2344 Q212.5563,501.2344 211.2281,499.5938 Q209.9156,497.9375 209.9156,494.8125 Q209.9156,491.6875 211.2281,490.0313 Q212.5563,488.375 215.0563,488.375 Q215.7594,488.375 216.4,488.5313 Q217.0563,488.6875 217.6188,488.9844 L217.6188,491.7031 Q216.9938,491.125 216.4,490.8594 Q215.8063,490.5781 215.1813,490.5781 Q213.8375,490.5781 213.15,491.6563 Q212.4625,492.7188 212.4625,494.8125 Q212.4625,496.9063 213.15,497.9844 Q213.8375,499.0469 215.1813,499.0469 Q215.8063,499.0469 216.4,498.7813 Q216.9938,498.5 217.6188,497.9219 L217.6188,500.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="231.35" y="499.1543">Layer2</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="292.5" y="476"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="293.5" y="488.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="188.5" x2="363.5" y1="511" y2="511"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="188.5" x2="363.5" y1="519" y2="519"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="195.5" y="527"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="207.5" y="533.2104">all_calls_count() const : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L10" target="_top" title="Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L10" xlink:show="new" xlink:title="Base" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="26" y="54.2104">Base() = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L8" target="_top" title="Layer3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L8" xlink:show="new" xlink:title="Layer3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="124.8281" id="C_0001853410560073854945" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="6" y="277"/>
<ellipse cx="21" cy="293" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M23.9688,298.6406 Q23.3906,298.9375 22.75,299.0781 Q22.1094,299.2344 21.4063,299.2344 Q18.9063,299.2344 17.5781,297.5938 Q16.2656,295.9375 16.2656,292.8125 Q16.2656,289.6875 17.5781,288.0313 Q18.9063,286.375 21.4063,286.375 Q22.1094,286.375 22.75,286.5313 Q23.4063,286.6875 23.9688,286.9844 L23.9688,289.7031 Q23.3438,289.125 22.75,288.8594 Q22.1563,288.5781 21.5313,288.5781 Q20.1875,288.5781 19.5,289.6563 Q18.8125,290.7188 18.8125,292.8125 Q18.8125,294.9063 19.5,295.9844 Q20.1875,297.0469 21.5313,297.0469 Q22.1563,297.0469 22.75,296.7813 Q23.3438,296.5 23.9688,295.9219 L23.9688,298.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="35" y="297.1543">Layer3</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="84" y="274"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="85" y="286.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="155" y1="309" y2="309"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L12" target="_top" title="~Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L12" xlink:show="new" xlink:title="~Base" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="58.8047"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="60.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L29" target="_top" title="m_m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L29" xlink:show="new" xlink:title="m_m1_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="315"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="317"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L12" target="_top" title="~Base" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L12" xlink:show="new" xlink:title="~Base" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="26" y="67.0151">~Base() constexpr = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L29" target="_top" title="m_m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L29" xlink:show="new" xlink:title="m_m1_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="323.2104">m_m1_calls : int</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="228" y1="73.6094" y2="73.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L14" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L14" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="79.6094"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="81.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L30" target="_top" title="m_m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L30" xlink:show="new" xlink:title="m_m2_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="327.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="329.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L14" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L14" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="26" y="87.8198">m1() : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L30" target="_top" title="m_m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019_layer3.h#L30" xlink:show="new" xlink:title="m_m2_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="336.0151">m_m2_calls : int</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L16" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L16" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="92.4141"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="94.4141"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="155" y1="342.6094" y2="342.6094"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="350.6094"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="26" y="356.8198">m1() : int</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="363.4141"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="26" y="369.6245">m2() : std::string</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="376.2188"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="26" y="382.4292">m1_calls() const : int</text>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="389.0234"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="26" y="395.2339">m2_calls() const : int</text>
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="48" id="C_0000972890420743280319" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="222.5" y="168"/>
<ellipse cx="237.5" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M240.4688,189.6406 Q239.8906,189.9375 239.25,190.0781 Q238.6094,190.2344 237.9063,190.2344 Q235.4063,190.2344 234.0781,188.5938 Q232.7656,186.9375 232.7656,183.8125 Q232.7656,180.6875 234.0781,179.0313 Q235.4063,177.375 237.9063,177.375 Q238.6094,177.375 239.25,177.5313 Q239.9063,177.6875 240.4688,177.9844 L240.4688,180.7031 Q239.8438,180.125 239.25,179.8594 Q238.6563,179.5781 238.0313,179.5781 Q236.6875,179.5781 236,180.6563 Q235.3125,181.7188 235.3125,183.8125 Q235.3125,185.9063 236,186.9844 Q236.6875,188.0469 238.0313,188.0469 Q238.6563,188.0469 239.25,187.7813 Q239.8438,187.5 240.4688,186.9219 L240.4688,189.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="251.5" y="188.1543">Layer3</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="32" x="300.5" y="165"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="30" x="301.5" y="177.1387">Base</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="223.5" x2="328.5" y1="200" y2="200"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="223.5" x2="328.5" y1="208" y2="208"/>
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="48" id="C_0000129784999866998870" style="stroke: #A80036; stroke-width: 1.5;" width="170" x="191" y="315.5"/>
<ellipse cx="206" cy="331.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M208.9688,337.1406 Q208.3906,337.4375 207.75,337.5781 Q207.1094,337.7344 206.4063,337.7344 Q203.9063,337.7344 202.5781,336.0938 Q201.2656,334.4375 201.2656,331.3125 Q201.2656,328.1875 202.5781,326.5313 Q203.9063,324.875 206.4063,324.875 Q207.1094,324.875 207.75,325.0313 Q208.4063,325.1875 208.9688,325.4844 L208.9688,328.2031 Q208.3438,327.625 207.75,327.3594 Q207.1563,327.0781 206.5313,327.0781 Q205.1875,327.0781 204.5,328.1563 Q203.8125,329.2188 203.8125,331.3125 Q203.8125,333.4063 204.5,334.4844 Q205.1875,335.5469 206.5313,335.5469 Q207.1563,335.5469 207.75,335.2813 Q208.3438,335 208.9688,334.4219 L208.9688,337.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="220" y="335.6543">Layer2</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="95" x="269" y="312.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="93" x="270" y="324.6387">Layer3&lt;Base&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="192" x2="360" y1="347.5" y2="347.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="192" x2="360" y1="355.5" y2="355.5"/>
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="48" id="C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.5;" width="233" x="401.5" y="485.5"/>
<ellipse cx="416.5" cy="501.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M419.4688,507.1406 Q418.8906,507.4375 418.25,507.5781 Q417.6094,507.7344 416.9063,507.7344 Q414.4063,507.7344 413.0781,506.0938 Q411.7656,504.4375 411.7656,501.3125 Q411.7656,498.1875 413.0781,496.5313 Q414.4063,494.875 416.9063,494.875 Q417.6094,494.875 418.25,495.0313 Q418.9063,495.1875 419.4688,495.4844 L419.4688,498.2031 Q418.8438,497.625 418.25,497.3594 Q417.6563,497.0781 417.0313,497.0781 Q415.6875,497.0781 415,498.1563 Q414.3125,499.2188 414.3125,501.3125 Q414.3125,503.4063 415,504.4844 Q415.6875,505.5469 417.0313,505.5469 Q417.6563,505.5469 418.25,505.2813 Q418.8438,505 419.4688,504.4219 L419.4688,507.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="430.5" y="505.6543">Layer1</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="158" x="479.5" y="482.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="156" x="480.5" y="494.6387">Layer2&lt;Layer3&lt;Base&gt;&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="402.5" x2="633.5" y1="517.5" y2="517.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="402.5" x2="633.5" y1="525.5" y2="525.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fru9pmfcvj92n)" height="60.8047" id="C_0001015164998787089197" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="396" y="309"/>
<ellipse cx="574.75" cy="325" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M577.7188,330.6406 Q577.1406,330.9375 576.5,331.0781 Q575.8594,331.2344 575.1563,331.2344 Q572.6563,331.2344 571.3281,329.5938 Q570.0156,327.9375 570.0156,324.8125 Q570.0156,321.6875 571.3281,320.0313 Q572.6563,318.375 575.1563,318.375 Q575.8594,318.375 576.5,318.5313 Q577.1563,318.6875 577.7188,318.9844 L577.7188,321.7031 Q577.0938,321.125 576.5,320.8594 Q575.9063,320.5781 575.2813,320.5781 Q573.9375,320.5781 573.25,321.6563 Q572.5625,322.7188 572.5625,324.8125 Q572.5625,326.9063 573.25,327.9844 Q573.9375,329.0469 575.2813,329.0469 Q575.9063,329.0469 576.5,328.7813 Q577.0938,328.5 577.7188,327.9219 L577.7188,330.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="595.25" y="329.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="397" x2="769" y1="341" y2="341"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L16" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_base.h#L16" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="26" y="100.6245">m2() : std::string</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L13" target="_top" title="layers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L13" xlink:show="new" xlink:title="layers" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="402" y="347"/>
<ellipse cx="407" cy="352" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="228" y1="107.2188" y2="107.2188"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L9" target="_top" title="Layer1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L9" xlink:show="new" xlink:title="Layer1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="73.6094" id="C_0000902631298537519271" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="491.5" y="609"/>
<ellipse cx="506.5" cy="625" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M509.4688,630.6406 Q508.8906,630.9375 508.25,631.0781 Q507.6094,631.2344 506.9063,631.2344 Q504.4063,631.2344 503.0781,629.5938 Q501.7656,627.9375 501.7656,624.8125 Q501.7656,621.6875 503.0781,620.0313 Q504.4063,618.375 506.9063,618.375 Q507.6094,618.375 508.25,618.5313 Q508.9063,618.6875 509.4688,618.9844 L509.4688,621.7031 Q508.8438,621.125 508.25,620.8594 Q507.6563,620.5781 507.0313,620.5781 Q505.6875,620.5781 505,621.6563 Q504.3125,622.7188 504.3125,624.8125 Q504.3125,626.9063 505,627.9844 Q505.6875,629.0469 507.0313,629.0469 Q507.6563,629.0469 508.25,628.7813 Q508.8438,628.5 509.4688,627.9219 L509.4688,630.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="520.5" y="629.1543">Layer1</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="569.5" y="606"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="570.5" y="618.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="492.5" x2="640.5" y1="641" y2="641"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L13" target="_top" title="layers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00019/t00019.cc#L13" xlink:show="new" xlink:title="layers" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="348" x="416" y="355.2104">layers : std::unique_ptr&lt;Layer1&lt;Layer2&lt;Layer3&lt;Base&gt;&gt;&gt;&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L13" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L13" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="497.5" y="647"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="499.5" y="649"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="397" x2="769" y1="361.8047" y2="361.8047"/>
<path d="M286.58,167.66 C289.05,152.36 289.95,131.7 289.29,112.47 " fill="none" id="C_0000972890420743280319-&gt;C_0000261668487476634123" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="289.06,107.09,285.4502,116.2535,289.2747,112.0854,293.4428,115.9099,289.06,107.09" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M263.26,127.18 C263.35,141.78 264.27,156.22 266.01,167.66 " fill="none" id="C_0000261668487476634123&lt;-C_0000972890420743280319" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="256.26,126.94,263.66,107.09,270.26,127.22,256.26,126.94" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M245.1,216.05 C225.36,230.79 198.64,250.73 172.49,270.23 " fill="none" id="C_0000972890420743280319-&gt;C_0001853410560073854945" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="176.57,275.92,156.36,282.27,168.2,264.7,176.57,275.92" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M286.24,315.07 C290.33,289.53 290.57,248.66 286.95,221.33 " fill="none" id="C_0000129784999866998870-&gt;C_0000972890420743280319" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="286.18,216.05,283.5312,225.536,286.9071,220.9969,291.4462,224.3727,286.18,216.05" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M264.25,235.99 C262.41,261.86 263.11,293.79 266.33,315.07 " fill="none" id="C_0000972890420743280319&lt;-C_0000129784999866998870" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="257.29,235.19,266.39,216.05,271.22,236.69,257.29,235.19" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M276,363.51 C276,387.89 276,427.16 276,458.69 " fill="none" id="C_0000129784999866998870-&gt;C_0001115150925302580647" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="283,458.99,276,478.99,269,458.99,283,458.99" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M494.16,485.23 C454.11,453.98 374.51,398.63 323.05,366.19 " fill="none" id="C_0000659076058325663708-&gt;C_0000129784999866998870" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="318.78,363.51,324.2846,371.677,323.0176,366.1638,328.5307,364.8968,318.78,363.51" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M316.14,375.73 C360.28,408.65 430.22,456.87 475.34,485.23 " fill="none" id="C_0000129784999866998870&lt;-C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="311.74,381.18,300.04,363.51,320.21,370.03,311.74,381.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M518,533.7 C518,546.84 518,563.9 518,580.35 " fill="none" id="C_0000659076058325663708-&gt;C_0000902631298537519271" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="525,580.53,518,600.53,511,580.53,525,580.53" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M568.13,370.14 C559.57,387.84 548.97,410.91 541,432 C535.01,447.85 529.5,466 525.37,480.64 " fill="none" id="C_0001015164998787089197-&gt;C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="524.03,485.46,530.301,477.8656,525.3734,480.6438,522.5952,475.7162,524.03,485.46" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M567.45,382.3 C559.88,402.49 550.57,427.05 542,449 C537.3,461.04 531.93,474.38 527.47,485.38 " fill="none" id="C_0001015164998787089197&lt;-C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="572.04,370.04,566.1901,374.2565,567.8323,381.2781,573.6822,377.0616,572.04,370.04" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="553" cy="441.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="38" x="560" y="445.0669">layers</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L13" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L13" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="511.5" y="655.2104">m1() : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L19" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L19" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="497.5" y="659.8047"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="499.5" y="661.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L19" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L19" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="511.5" y="668.0151">m2() : std::string</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="492.5" x2="640.5" y1="674.6094" y2="674.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L6" target="_top" title="Layer2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L6" xlink:show="new" xlink:title="Layer2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="60.8047" id="C_0001115150925302580647" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="204" y="487"/>
<ellipse cx="231.15" cy="503" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M234.1188,508.6406 Q233.5406,508.9375 232.9,509.0781 Q232.2594,509.2344 231.5563,509.2344 Q229.0563,509.2344 227.7281,507.5938 Q226.4156,505.9375 226.4156,502.8125 Q226.4156,499.6875 227.7281,498.0313 Q229.0563,496.375 231.5563,496.375 Q232.2594,496.375 232.9,496.5313 Q233.5563,496.6875 234.1188,496.9844 L234.1188,499.7031 Q233.4938,499.125 232.9,498.8594 Q232.3063,498.5781 231.6813,498.5781 Q230.3375,498.5781 229.65,499.6563 Q228.9625,500.7188 228.9625,502.8125 Q228.9625,504.9063 229.65,505.9844 Q230.3375,507.0469 231.6813,507.0469 Q232.3063,507.0469 232.9,506.7813 Q233.4938,506.5 234.1188,505.9219 L234.1188,508.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="247.85" y="507.1543">Layer2</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="309" y="484"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="310" y="496.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="205" x2="380" y1="519" y2="519"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L14" target="_top" title="all_calls_count" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L14" xlink:show="new" xlink:title="all_calls_count" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="210" y="525"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="212" y="527"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L14" target="_top" title="all_calls_count" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L14" xlink:show="new" xlink:title="all_calls_count" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="224" y="533.2104">all_calls_count() const : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="205" x2="380" y1="539.8047" y2="539.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L8" target="_top" title="Layer3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L8" xlink:show="new" xlink:title="Layer3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="124.8281" id="C_0001853410560073854945" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="22.5" y="285"/>
<ellipse cx="37.5" cy="301" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M40.4688,306.6406 Q39.8906,306.9375 39.25,307.0781 Q38.6094,307.2344 37.9063,307.2344 Q35.4063,307.2344 34.0781,305.5938 Q32.7656,303.9375 32.7656,300.8125 Q32.7656,297.6875 34.0781,296.0313 Q35.4063,294.375 37.9063,294.375 Q38.6094,294.375 39.25,294.5313 Q39.9063,294.6875 40.4688,294.9844 L40.4688,297.7031 Q39.8438,297.125 39.25,296.8594 Q38.6563,296.5781 38.0313,296.5781 Q36.6875,296.5781 36,297.6563 Q35.3125,298.7188 35.3125,300.8125 Q35.3125,302.9063 36,303.9844 Q36.6875,305.0469 38.0313,305.0469 Q38.6563,305.0469 39.25,304.7813 Q39.8438,304.5 40.4688,303.9219 L40.4688,306.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="51.5" y="305.1543">Layer3</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="75" x="100.5" y="282"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="101.5" y="294.1387">LowerLayer</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="171.5" y1="317" y2="317"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L12" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L12" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="323"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="325"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L12" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L12" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="42.5" y="331.2104">m1() : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L24" target="_top" title="m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L24" xlink:show="new" xlink:title="m1_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="335.8047"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="337.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L24" target="_top" title="m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L24" xlink:show="new" xlink:title="m1_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="42.5" y="344.0151">m1_calls() const : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L18" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L18" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="348.6094"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="350.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L18" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L18" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="42.5" y="356.8198">m2() : std::string</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L26" target="_top" title="m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L26" xlink:show="new" xlink:title="m2_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="361.4141"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="363.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L26" target="_top" title="m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L26" xlink:show="new" xlink:title="m2_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="42.5" y="369.6245">m2_calls() const : int</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="171.5" y1="376.2188" y2="376.2188"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L29" target="_top" title="m_m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L29" xlink:show="new" xlink:title="m_m1_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="382.2188"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="384.2188"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L29" target="_top" title="m_m1_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L29" xlink:show="new" xlink:title="m_m1_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="42.5" y="390.4292">m_m1_calls : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L30" target="_top" title="m_m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L30" xlink:show="new" xlink:title="m_m2_calls" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="28.5" y="395.0234"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="30.5" y="397.0234"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L30" target="_top" title="m_m2_calls" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer3.h#L30" xlink:show="new" xlink:title="m_m2_calls" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="42.5" y="403.2339">m_m2_calls : int</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L6" target="_top" title="Layer3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer2.h#L6" xlink:show="new" xlink:title="Layer3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="48" id="C_0000972890420743280319" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="64" y="176"/>
<ellipse cx="79" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M81.9688,197.6406 Q81.3906,197.9375 80.75,198.0781 Q80.1094,198.2344 79.4063,198.2344 Q76.9063,198.2344 75.5781,196.5938 Q74.2656,194.9375 74.2656,191.8125 Q74.2656,188.6875 75.5781,187.0313 Q76.9063,185.375 79.4063,185.375 Q80.1094,185.375 80.75,185.5313 Q81.4063,185.6875 81.9688,185.9844 L81.9688,188.7031 Q81.3438,188.125 80.75,187.8594 Q80.1563,187.5781 79.5313,187.5781 Q78.1875,187.5781 77.5,188.6563 Q76.8125,189.7188 76.8125,191.8125 Q76.8125,193.9063 77.5,194.9844 Q78.1875,196.0469 79.5313,196.0469 Q80.1563,196.0469 80.75,195.7813 Q81.3438,195.5 81.9688,194.9219 L81.9688,197.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="93" y="196.1543">Layer3</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="32" x="142" y="173"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="30" x="143" y="185.1387">Base</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="65" x2="170" y1="208" y2="208"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="65" x2="170" y1="216" y2="216"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L9" target="_top" title="Layer2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019_layer1.h#L9" xlink:show="new" xlink:title="Layer2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="48" id="C_0000129784999866998870" style="stroke: #A80036; stroke-width: 1.5;" width="170" x="207.5" y="323.5"/>
<ellipse cx="222.5" cy="339.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M225.4688,345.1406 Q224.8906,345.4375 224.25,345.5781 Q223.6094,345.7344 222.9063,345.7344 Q220.4063,345.7344 219.0781,344.0938 Q217.7656,342.4375 217.7656,339.3125 Q217.7656,336.1875 219.0781,334.5313 Q220.4063,332.875 222.9063,332.875 Q223.6094,332.875 224.25,333.0313 Q224.9063,333.1875 225.4688,333.4844 L225.4688,336.2031 Q224.8438,335.625 224.25,335.3594 Q223.6563,335.0781 223.0313,335.0781 Q221.6875,335.0781 221,336.1563 Q220.3125,337.2188 220.3125,339.3125 Q220.3125,341.4063 221,342.4844 Q221.6875,343.5469 223.0313,343.5469 Q223.6563,343.5469 224.25,343.2813 Q224.8438,343 225.4688,342.4219 L225.4688,345.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="236.5" y="343.6543">Layer2</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="95" x="285.5" y="320.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="93" x="286.5" y="332.6387">Layer3&lt;Base&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="208.5" x2="376.5" y1="355.5" y2="355.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="208.5" x2="376.5" y1="363.5" y2="363.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/../../../../usr/include/c++/12/bits/unique_ptr.h#L269" target="_top" title="Layer1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/../../../../usr/include/c++/12/bits/unique_ptr.h#L269" xlink:show="new" xlink:title="Layer1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="48" id="C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.5;" width="233" x="450" y="493.5"/>
<ellipse cx="465" cy="509.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M467.9688,515.1406 Q467.3906,515.4375 466.75,515.5781 Q466.1094,515.7344 465.4063,515.7344 Q462.9063,515.7344 461.5781,514.0938 Q460.2656,512.4375 460.2656,509.3125 Q460.2656,506.1875 461.5781,504.5313 Q462.9063,502.875 465.4063,502.875 Q466.1094,502.875 466.75,503.0313 Q467.4063,503.1875 467.9688,503.4844 L467.9688,506.2031 Q467.3438,505.625 466.75,505.3594 Q466.1563,505.0781 465.5313,505.0781 Q464.1875,505.0781 463.5,506.1563 Q462.8125,507.2188 462.8125,509.3125 Q462.8125,511.4063 463.5,512.4844 Q464.1875,513.5469 465.5313,513.5469 Q466.1563,513.5469 466.75,513.2813 Q467.3438,513 467.9688,512.4219 L467.9688,515.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="479" y="513.6543">Layer1</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="158" x="528" y="490.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="156" x="529" y="502.6387">Layer2&lt;Layer3&lt;Base&gt;&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="451" x2="682" y1="525.5" y2="525.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="451" x2="682" y1="533.5" y2="533.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L11" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L11" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f125clv2abivlz)" height="60.8047" id="C_0001015164998787089197" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="412.5" y="317"/>
<ellipse cx="591.25" cy="333" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M594.2188,338.6406 Q593.6406,338.9375 593,339.0781 Q592.3594,339.2344 591.6563,339.2344 Q589.1563,339.2344 587.8281,337.5938 Q586.5156,335.9375 586.5156,332.8125 Q586.5156,329.6875 587.8281,328.0313 Q589.1563,326.375 591.6563,326.375 Q592.3594,326.375 593,326.5313 Q593.6563,326.6875 594.2188,326.9844 L594.2188,329.7031 Q593.5938,329.125 593,328.8594 Q592.4063,328.5781 591.7813,328.5781 Q590.4375,328.5781 589.75,329.6563 Q589.0625,330.7188 589.0625,332.8125 Q589.0625,334.9063 589.75,335.9844 Q590.4375,337.0469 591.7813,337.0469 Q592.4063,337.0469 593,336.7813 Q593.5938,336.5 594.2188,335.9219 L594.2188,338.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="611.75" y="337.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="413.5" x2="785.5" y1="349" y2="349"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="413.5" x2="785.5" y1="357" y2="357"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L13" target="_top" title="layers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L13" xlink:show="new" xlink:title="layers" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="418.5" y="363"/>
<ellipse cx="423.5" cy="368" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L13" target="_top" title="layers" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00019/t00019.cc#L13" xlink:show="new" xlink:title="layers" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="348" x="432.5" y="371.2104">layers : std::unique_ptr&lt;Layer1&lt;Layer2&lt;Layer3&lt;Base&gt;&gt;&gt;&gt;</text>
</a>
<path d="M114.33,224.05 C112.76,235.48 110.76,250.03 108.69,265.08 " fill="none" id="C_0000972890420743280319-&gt;C_0001853410560073854945" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="115.62,266.08,105.96,284.94,101.75,264.18,115.62,266.08" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M117.5,135.31 C117.5,150.07 117.5,164.54 117.5,175.95 " fill="none" id="C_0000261668487476634123&lt;-C_0000972890420743280319" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="110.5,135.27,117.5,115.27,124.5,135.27,110.5,135.27" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M292.5,371.51 C292.5,395.89 292.5,435.16 292.5,466.69 " fill="none" id="C_0000129784999866998870-&gt;C_0001115150925302580647" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="299.5,466.99,292.5,486.99,285.5,466.99,299.5,466.99" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M161.05,237.21 C193.46,264.15 236.73,300.13 264.61,323.31 " fill="none" id="C_0000972890420743280319&lt;-C_0000129784999866998870" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="156.13,242.22,145.23,224.05,165.08,231.46,156.13,242.22" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M566.5,541.7 C566.5,554.84 566.5,571.9 566.5,588.35 " fill="none" id="C_0000659076058325663708-&gt;C_0000902631298537519271" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="573.5,588.53,566.5,608.53,559.5,588.53,573.5,588.53" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M347.13,381.99 C400.86,414.94 481.47,464.36 528.55,493.23 " fill="none" id="C_0000129784999866998870&lt;-C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="343.42,387.93,330.02,371.51,350.73,375.99,343.42,387.93" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M591.09,391.31 C584.72,423.76 576.2,467.11 571.05,493.36 " fill="none" id="C_0001015164998787089197&lt;-C_0000659076058325663708" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="593.68,378.15,588.6008,383.2688,591.3723,389.926,596.4515,384.8072,593.68,378.15" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="587.5" cy="449.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="38" x="594.5" y="453.0669">layers</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="360px" preserveAspectRatio="none" style="width:1144px;height:360px;" version="1.1" viewBox="0 0 1144 360" width="1144px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="886px" preserveAspectRatio="none" style="width:763px;height:886px;" version="1.1" viewBox="0 0 763 886" width="763px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="ff8do9hx4h57a" width="300%" x="-1" y="-1">
<filter height="300%" id="f1fcs4i5zmseu" 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"/>
@@ -9,125 +9,209 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L6" target="_top" title="ProductA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L6" xlink:show="new" xlink:title="ProductA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="73.6094" id="C_0000425267229659464944" style="stroke: #A80036; stroke-width: 1.5;" width="193" x="769" y="8"/>
<ellipse cx="833.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M833.3594,19.3438 L832.2031,24.4219 L834.5313,24.4219 L833.3594,19.3438 Z M831.875,17.1094 L834.8594,17.1094 L838.2188,29.5 L835.7656,29.5 L835,26.4375 L831.7188,26.4375 L830.9688,29.5 L828.5313,29.5 L831.875,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="56" x="853.75" y="28.1543">ProductA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="770" x2="961" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="770" x2="961" y1="48" y2="48"/>
<ellipse cx="780" 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="158" x="789" y="62.2104">~ProductA() = default : void</text>
<ellipse cx="780" 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="167" x="789" y="75.0151">sell(int price) const = 0 : bool</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L6" target="_top" title="ProductA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L6" xlink:show="new" xlink:title="ProductA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="81.6094" id="C_0000425267229659464944" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="280.5" y="142"/>
<ellipse cx="370.25" cy="158" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M370.3594,153.3438 L369.2031,158.4219 L371.5313,158.4219 L370.3594,153.3438 Z M368.875,151.1094 L371.8594,151.1094 L375.2188,163.5 L372.7656,163.5 L372,160.4375 L368.7188,160.4375 L367.9688,163.5 L365.5313,163.5 L368.875,151.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="56" x="390.75" y="162.1543">ProductA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="281.5" x2="523.5" y1="174" y2="174"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L12" target="_top" title="ProductA1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L12" xlink:show="new" xlink:title="ProductA1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="60.8047" id="C_0001756496029797864207" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="212" y="148.5"/>
<ellipse cx="260.75" cy="164.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M263.7188,170.1406 Q263.1406,170.4375 262.5,170.5781 Q261.8594,170.7344 261.1563,170.7344 Q258.6563,170.7344 257.3281,169.0938 Q256.0156,167.4375 256.0156,164.3125 Q256.0156,161.1875 257.3281,159.5313 Q258.6563,157.875 261.1563,157.875 Q261.8594,157.875 262.5,158.0313 Q263.1563,158.1875 263.7188,158.4844 L263.7188,161.2031 Q263.0938,160.625 262.5,160.3594 Q261.9063,160.0781 261.2813,160.0781 Q259.9375,160.0781 259.25,161.1563 Q258.5625,162.2188 258.5625,164.3125 Q258.5625,166.4063 259.25,167.4844 Q259.9375,168.5469 261.2813,168.5469 Q261.9063,168.5469 262.5,168.2813 Q263.0938,168 263.7188,167.4219 L263.7188,170.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="281.25" y="168.6543">ProductA1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="213" x2="382" y1="180.5" y2="180.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="213" x2="382" y1="188.5" y2="188.5"/>
<ellipse cx="223" cy="199.5" 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="232" y="202.7104">sell(int price) const : bool</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L8" target="_top" title="~ProductA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L8" xlink:show="new" xlink:title="~ProductA" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="286.5" y="180"/>
<ellipse cx="291.5" cy="185" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L17" target="_top" title="ProductA2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L17" xlink:show="new" xlink:title="ProductA2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="60.8047" id="C_0001531708592885216981" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="962" y="148.5"/>
<ellipse cx="1010.75" cy="164.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1013.7188,170.1406 Q1013.1406,170.4375 1012.5,170.5781 Q1011.8594,170.7344 1011.1563,170.7344 Q1008.6563,170.7344 1007.3281,169.0938 Q1006.0156,167.4375 1006.0156,164.3125 Q1006.0156,161.1875 1007.3281,159.5313 Q1008.6563,157.875 1011.1563,157.875 Q1011.8594,157.875 1012.5,158.0313 Q1013.1563,158.1875 1013.7188,158.4844 L1013.7188,161.2031 Q1013.0938,160.625 1012.5,160.3594 Q1011.9063,160.0781 1011.2813,160.0781 Q1009.9375,160.0781 1009.25,161.1563 Q1008.5625,162.2188 1008.5625,164.3125 Q1008.5625,166.4063 1009.25,167.4844 Q1009.9375,168.5469 1011.2813,168.5469 Q1011.9063,168.5469 1012.5,168.2813 Q1013.0938,168 1013.7188,167.4219 L1013.7188,170.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="1031.25" y="168.6543">ProductA2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="963" x2="1132" y1="180.5" y2="180.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="963" x2="1132" y1="188.5" y2="188.5"/>
<ellipse cx="973" cy="199.5" 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="982" y="202.7104">sell(int price) const : bool</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L8" target="_top" title="~ProductA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L8" xlink:show="new" xlink:title="~ProductA" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="300.5" y="188.2104">~ProductA() constexpr = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L22" target="_top" title="ProductB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L22" xlink:show="new" xlink:title="ProductB" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="73.6094" id="C_0002235759006374865842" style="stroke: #A80036; stroke-width: 1.5;" width="195" x="357" y="8"/>
<ellipse cx="422.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M422.3594,19.3438 L421.2031,24.4219 L423.5313,24.4219 L422.3594,19.3438 Z M420.875,17.1094 L423.8594,17.1094 L427.2188,29.5 L424.7656,29.5 L424,26.4375 L420.7188,26.4375 L419.9688,29.5 L417.5313,29.5 L420.875,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="56" x="442.75" y="28.1543">ProductB</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="358" x2="551" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="358" x2="551" y1="48" y2="48"/>
<ellipse cx="368" 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="159" x="377" y="62.2104">~ProductB() = default : void</text>
<ellipse cx="368" 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="169" x="377" y="75.0151">buy(int price) const = 0 : bool</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="281.5" x2="523.5" y1="194.8047" y2="194.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L9" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L9" xlink:show="new" xlink:title="sell" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="286.5" y="200.8047"/>
<ellipse cx="291.5" cy="205.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L28" target="_top" title="ProductB1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L28" xlink:show="new" xlink:title="ProductB1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="60.8047" id="C_0001465493024233223845" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="6" y="148.5"/>
<ellipse cx="54.75" cy="164.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M57.7188,170.1406 Q57.1406,170.4375 56.5,170.5781 Q55.8594,170.7344 55.1563,170.7344 Q52.6563,170.7344 51.3281,169.0938 Q50.0156,167.4375 50.0156,164.3125 Q50.0156,161.1875 51.3281,159.5313 Q52.6563,157.875 55.1563,157.875 Q55.8594,157.875 56.5,158.0313 Q57.1563,158.1875 57.7188,158.4844 L57.7188,161.2031 Q57.0938,160.625 56.5,160.3594 Q55.9063,160.0781 55.2813,160.0781 Q53.9375,160.0781 53.25,161.1563 Q52.5625,162.2188 52.5625,164.3125 Q52.5625,166.4063 53.25,167.4844 Q53.9375,168.5469 55.2813,168.5469 Q55.9063,168.5469 56.5,168.2813 Q57.0938,168 57.7188,167.4219 L57.7188,170.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="75.25" y="168.6543">ProductB1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="176" y1="180.5" y2="180.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="176" y1="188.5" y2="188.5"/>
<ellipse cx="17" cy="199.5" 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="26" y="202.7104">buy(int price) const : bool</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L9" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L9" xlink:show="new" xlink:title="sell" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="167" x="300.5" y="209.0151">sell(int price) const = 0 : bool</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L33" target="_top" title="ProductB2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L33" xlink:show="new" xlink:title="ProductB2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="60.8047" id="C_0002154665562370057871" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="756" y="148.5"/>
<ellipse cx="804.75" cy="164.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M807.7188,170.1406 Q807.1406,170.4375 806.5,170.5781 Q805.8594,170.7344 805.1563,170.7344 Q802.6563,170.7344 801.3281,169.0938 Q800.0156,167.4375 800.0156,164.3125 Q800.0156,161.1875 801.3281,159.5313 Q802.6563,157.875 805.1563,157.875 Q805.8594,157.875 806.5,158.0313 Q807.1563,158.1875 807.7188,158.4844 L807.7188,161.2031 Q807.0938,160.625 806.5,160.3594 Q805.9063,160.0781 805.2813,160.0781 Q803.9375,160.0781 803.25,161.1563 Q802.5625,162.2188 802.5625,164.3125 Q802.5625,166.4063 803.25,167.4844 Q803.9375,168.5469 805.2813,168.5469 Q805.9063,168.5469 806.5,168.2813 Q807.0938,168 807.7188,167.4219 L807.7188,170.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="825.25" y="168.6543">ProductB2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="757" x2="926" y1="180.5" y2="180.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="757" x2="926" y1="188.5" y2="188.5"/>
<ellipse cx="767" cy="199.5" 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="776" y="202.7104">buy(int price) const : bool</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="281.5" x2="523.5" y1="215.6094" y2="215.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L12" target="_top" title="ProductA1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L12" xlink:show="new" xlink:title="ProductA1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="60.8047" id="C_0001756496029797864207" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="178" y="284"/>
<ellipse cx="226.75" cy="300" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M229.7188,305.6406 Q229.1406,305.9375 228.5,306.0781 Q227.8594,306.2344 227.1563,306.2344 Q224.6563,306.2344 223.3281,304.5938 Q222.0156,302.9375 222.0156,299.8125 Q222.0156,296.6875 223.3281,295.0313 Q224.6563,293.375 227.1563,293.375 Q227.8594,293.375 228.5,293.5313 Q229.1563,293.6875 229.7188,293.9844 L229.7188,296.7031 Q229.0938,296.125 228.5,295.8594 Q227.9063,295.5781 227.2813,295.5781 Q225.9375,295.5781 225.25,296.6563 Q224.5625,297.7188 224.5625,299.8125 Q224.5625,301.9063 225.25,302.9844 Q225.9375,304.0469 227.2813,304.0469 Q227.9063,304.0469 228.5,303.7813 Q229.0938,303.5 229.7188,302.9219 L229.7188,305.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="247.25" y="304.1543">ProductA1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="179" x2="348" y1="316" y2="316"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L38" target="_top" title="AbstractFactory" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L38" xlink:show="new" xlink:title="AbstractFactory" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="73.6094" id="C_0001705546469218961425" style="stroke: #A80036; stroke-width: 1.5;" width="302" x="418.5" y="142"/>
<ellipse cx="515.75" cy="158" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M515.8594,153.3438 L514.7031,158.4219 L517.0313,158.4219 L515.8594,153.3438 Z M514.375,151.1094 L517.3594,151.1094 L520.7188,163.5 L518.2656,163.5 L517.5,160.4375 L514.2188,160.4375 L513.4688,163.5 L511.0313,163.5 L514.375,151.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="99" x="536.25" y="162.1543">AbstractFactory</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="419.5" x2="719.5" y1="174" y2="174"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="419.5" x2="719.5" y1="182" y2="182"/>
<ellipse cx="429.5" cy="193" 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="276" x="438.5" y="196.2104">make_a() const = 0 : std::unique_ptr&lt;ProductA&gt;</text>
<ellipse cx="429.5" cy="205.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="276" x="438.5" y="209.0151">make_b() const = 0 : std::unique_ptr&lt;ProductB&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L14" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L14" xlink:show="new" xlink:title="sell" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="184" y="322"/>
<ellipse cx="189" cy="327" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L44" target="_top" title="Factory1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L44" xlink:show="new" xlink:title="Factory1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="73.6094" id="C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="157.5" y="276"/>
<ellipse cx="266.25" cy="292" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M269.2188,297.6406 Q268.6406,297.9375 268,298.0781 Q267.3594,298.2344 266.6563,298.2344 Q264.1563,298.2344 262.8281,296.5938 Q261.5156,294.9375 261.5156,291.8125 Q261.5156,288.6875 262.8281,287.0313 Q264.1563,285.375 266.6563,285.375 Q267.3594,285.375 268,285.5313 Q268.6563,285.6875 269.2188,285.9844 L269.2188,288.7031 Q268.5938,288.125 268,287.8594 Q267.4063,287.5781 266.7813,287.5781 Q265.4375,287.5781 264.75,288.6563 Q264.0625,289.7188 264.0625,291.8125 Q264.0625,293.9063 264.75,294.9844 Q265.4375,296.0469 266.7813,296.0469 Q267.4063,296.0469 268,295.7813 Q268.5938,295.5 269.2188,294.9219 L269.2188,297.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="286.75" y="296.1543">Factory1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="158.5" x2="436.5" y1="308" y2="308"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="158.5" x2="436.5" y1="316" y2="316"/>
<ellipse cx="168.5" cy="327" 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="253" x="177.5" y="330.2104">make_a() const : std::unique_ptr&lt;ProductA&gt;</text>
<ellipse cx="168.5" cy="339.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="254" x="177.5" y="343.0151">make_b() const : std::unique_ptr&lt;ProductB&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L14" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L14" xlink:show="new" xlink:title="sell" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="198" y="330.2104">sell(int price) const : bool</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L57" target="_top" title="Factory2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00020/t00020.cc#L57" xlink:show="new" xlink:title="Factory2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#ff8do9hx4h57a)" height="73.6094" id="C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="701.5" y="276"/>
<ellipse cx="810.25" cy="292" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M813.2188,297.6406 Q812.6406,297.9375 812,298.0781 Q811.3594,298.2344 810.6563,298.2344 Q808.1563,298.2344 806.8281,296.5938 Q805.5156,294.9375 805.5156,291.8125 Q805.5156,288.6875 806.8281,287.0313 Q808.1563,285.375 810.6563,285.375 Q811.3594,285.375 812,285.5313 Q812.6563,285.6875 813.2188,285.9844 L813.2188,288.7031 Q812.5938,288.125 812,287.8594 Q811.4063,287.5781 810.7813,287.5781 Q809.4375,287.5781 808.75,288.6563 Q808.0625,289.7188 808.0625,291.8125 Q808.0625,293.9063 808.75,294.9844 Q809.4375,296.0469 810.7813,296.0469 Q811.4063,296.0469 812,295.7813 Q812.5938,295.5 813.2188,294.9219 L813.2188,297.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="830.75" y="296.1543">Factory2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="702.5" x2="980.5" y1="308" y2="308"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="702.5" x2="980.5" y1="316" y2="316"/>
<ellipse cx="712.5" cy="327" 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="253" x="721.5" y="330.2104">make_a() const : std::unique_ptr&lt;ProductA&gt;</text>
<ellipse cx="712.5" cy="339.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="254" x="721.5" y="343.0151">make_b() const : std::unique_ptr&lt;ProductB&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="179" x2="348" y1="336.8047" y2="336.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L17" target="_top" title="ProductA2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L17" xlink:show="new" xlink:title="ProductA2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="60.8047" id="C_0001531708592885216981" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="527" y="411.5"/>
<ellipse cx="575.75" cy="427.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M578.7188,433.1406 Q578.1406,433.4375 577.5,433.5781 Q576.8594,433.7344 576.1563,433.7344 Q573.6563,433.7344 572.3281,432.0938 Q571.0156,430.4375 571.0156,427.3125 Q571.0156,424.1875 572.3281,422.5313 Q573.6563,420.875 576.1563,420.875 Q576.8594,420.875 577.5,421.0313 Q578.1563,421.1875 578.7188,421.4844 L578.7188,424.2031 Q578.0938,423.625 577.5,423.3594 Q576.9063,423.0781 576.2813,423.0781 Q574.9375,423.0781 574.25,424.1563 Q573.5625,425.2188 573.5625,427.3125 Q573.5625,429.4063 574.25,430.4844 Q574.9375,431.5469 576.2813,431.5469 Q576.9063,431.5469 577.5,431.2813 Q578.0938,431 578.7188,430.4219 L578.7188,433.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="596.25" y="431.6543">ProductA2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="528" x2="697" y1="443.5" y2="443.5"/>
</a>
<path d="M748.87,65.81 C654.43,82.89 518.37,109.83 401.5,142 C394.41,143.95 387.1,146.13 379.79,148.43 " fill="none" id="C_0000425267229659464944&lt;-C_0001756496029797864207" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="747.74,58.9,768.66,62.27,750.21,72.68,747.74,58.9" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M931.67,93.99 C956.78,112.2 984.63,132.4 1006.73,148.43 " fill="none" id="C_0000425267229659464944&lt;-C_0001531708592885216981" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="927.31,99.48,915.23,82.07,935.53,88.15,927.31,99.48" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M337.74,88.46 C283.96,108.02 221.44,130.75 172.86,148.41 " fill="none" id="C_0002235759006374865842&lt;-C_0001465493024233223845" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="335.56,81.8,356.75,81.55,340.34,94.96,335.56,81.8" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M571.34,85.2 C622.67,102.49 683.62,123.13 738.5,142 C744.59,144.09 750.88,146.27 757.21,148.46 " fill="none" id="C_0002235759006374865842&lt;-C_0002154665562370057871" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="568.9,91.76,552.18,78.74,573.37,78.49,568.9,91.76" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M477.11,224.83 C442.76,241.51 404.26,260.19 371.74,275.97 " fill="none" id="C_0001705546469218961425&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="474.13,218.5,495.17,216.07,480.24,231.1,474.13,218.5" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M661.89,224.83 C696.24,241.51 734.74,260.19 767.26,275.97 " fill="none" id="C_0001705546469218961425&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="658.76,231.1,643.83,216.07,664.87,218.5,658.76,231.1" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M297.5,214.81 C297.5,233.64 297.5,256.87 297.5,275.89 " fill="none" id="C_0001756496029797864207&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="297.5,209.62,293.5,218.62,297.5,214.62,301.5,218.62,297.5,209.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M142.1,212.42 C172.1,231.65 210.19,256.05 241.15,275.89 " fill="none" id="C_0001465493024233223845&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="137.73,209.62,143.1574,217.8385,141.9424,212.3136,147.4672,211.0986,137.73,209.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M996.9,212.42 C966.9,231.65 928.81,256.05 897.85,275.89 " fill="none" id="C_0001531708592885216981&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="1001.27,209.62,991.5328,211.0986,997.0576,212.3136,995.8426,217.8385,1001.27,209.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M841.5,214.81 C841.5,233.64 841.5,256.87 841.5,275.89 " fill="none" id="C_0002154665562370057871&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="841.5,209.62,837.5,218.62,841.5,214.62,845.5,218.62,841.5,209.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L19" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L19" xlink:show="new" xlink:title="sell" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="533" y="449.5"/>
<ellipse cx="538" cy="454.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L19" target="_top" title="sell" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L19" xlink:show="new" xlink:title="sell" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="547" y="457.7104">sell(int price) const : bool</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="528" x2="697" y1="464.3047" y2="464.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L22" target="_top" title="ProductB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L22" xlink:show="new" xlink:title="ProductB" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="81.6094" id="C_0002235759006374865842" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="6" y="539"/>
<ellipse cx="96.25" cy="555" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M96.3594,550.3438 L95.2031,555.4219 L97.5313,555.4219 L96.3594,550.3438 Z M94.875,548.1094 L97.8594,548.1094 L101.2188,560.5 L98.7656,560.5 L98,557.4375 L94.7188,557.4375 L93.9688,560.5 L91.5313,560.5 L94.875,548.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="56" x="116.75" y="559.1543">ProductB</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="250" y1="571" y2="571"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L24" target="_top" title="~ProductB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L24" xlink:show="new" xlink:title="~ProductB" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="577"/>
<ellipse cx="17" cy="582" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L24" target="_top" title="~ProductB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L24" xlink:show="new" xlink:title="~ProductB" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="219" x="26" y="585.2104">~ProductB() constexpr = default : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="250" y1="591.8047" y2="591.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L25" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L25" xlink:show="new" xlink:title="buy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="597.8047"/>
<ellipse cx="17" cy="602.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L25" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L25" xlink:show="new" xlink:title="buy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="169" x="26" y="606.0151">buy(int price) const = 0 : bool</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="250" y1="612.6094" y2="612.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L28" target="_top" title="ProductB1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L28" xlink:show="new" xlink:title="ProductB1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="60.8047" id="C_0001465493024233223845" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="249" y="681"/>
<ellipse cx="297.75" cy="697" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M300.7188,702.6406 Q300.1406,702.9375 299.5,703.0781 Q298.8594,703.2344 298.1563,703.2344 Q295.6563,703.2344 294.3281,701.5938 Q293.0156,699.9375 293.0156,696.8125 Q293.0156,693.6875 294.3281,692.0313 Q295.6563,690.375 298.1563,690.375 Q298.8594,690.375 299.5,690.5313 Q300.1563,690.6875 300.7188,690.9844 L300.7188,693.7031 Q300.0938,693.125 299.5,692.8594 Q298.9063,692.5781 298.2813,692.5781 Q296.9375,692.5781 296.25,693.6563 Q295.5625,694.7188 295.5625,696.8125 Q295.5625,698.9063 296.25,699.9844 Q296.9375,701.0469 298.2813,701.0469 Q298.9063,701.0469 299.5,700.7813 Q300.0938,700.5 300.7188,699.9219 L300.7188,702.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="318.25" y="701.1543">ProductB1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="250" x2="419" y1="713" y2="713"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L30" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L30" xlink:show="new" xlink:title="buy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="255" y="719"/>
<ellipse cx="260" cy="724" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L30" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L30" xlink:show="new" xlink:title="buy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="269" y="727.2104">buy(int price) const : bool</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="250" x2="419" y1="733.8047" y2="733.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L33" target="_top" title="ProductB2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L33" xlink:show="new" xlink:title="ProductB2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="60.8047" id="C_0002154665562370057871" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="43" y="681"/>
<ellipse cx="91.75" cy="697" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M94.7188,702.6406 Q94.1406,702.9375 93.5,703.0781 Q92.8594,703.2344 92.1563,703.2344 Q89.6563,703.2344 88.3281,701.5938 Q87.0156,699.9375 87.0156,696.8125 Q87.0156,693.6875 88.3281,692.0313 Q89.6563,690.375 92.1563,690.375 Q92.8594,690.375 93.5,690.5313 Q94.1563,690.6875 94.7188,690.9844 L94.7188,693.7031 Q94.0938,693.125 93.5,692.8594 Q92.9063,692.5781 92.2813,692.5781 Q90.9375,692.5781 90.25,693.6563 Q89.5625,694.7188 89.5625,696.8125 Q89.5625,698.9063 90.25,699.9844 Q90.9375,701.0469 92.2813,701.0469 Q92.9063,701.0469 93.5,700.7813 Q94.0938,700.5 94.7188,699.9219 L94.7188,702.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="112.25" y="701.1543">ProductB2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="44" x2="213" y1="713" y2="713"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L35" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L35" xlink:show="new" xlink:title="buy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="49" y="719"/>
<ellipse cx="54" cy="724" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L35" target="_top" title="buy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L35" xlink:show="new" xlink:title="buy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="63" y="727.2104">buy(int price) const : bool</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="44" x2="213" y1="733.8047" y2="733.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L38" target="_top" title="AbstractFactory" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L38" xlink:show="new" xlink:title="AbstractFactory" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="73.6094" id="C_0001705546469218961425" style="stroke: #A80036; stroke-width: 1.5;" width="302" x="112.5" y="8"/>
<ellipse cx="209.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M209.8594,19.3438 L208.7031,24.4219 L211.0313,24.4219 L209.8594,19.3438 Z M208.375,17.1094 L211.3594,17.1094 L214.7188,29.5 L212.2656,29.5 L211.5,26.4375 L208.2188,26.4375 L207.4688,29.5 L205.0313,29.5 L208.375,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="99" x="230.25" y="28.1543">AbstractFactory</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="413.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L40" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L40" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="118.5" y="46"/>
<ellipse cx="123.5" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L40" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L40" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="276" x="132.5" y="54.2104">make_a() const = 0 : std::unique_ptr&lt;ProductA&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L41" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L41" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="118.5" y="58.8047"/>
<ellipse cx="123.5" cy="63.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L41" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L41" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="276" x="132.5" y="67.0151">make_b() const = 0 : std::unique_ptr&lt;ProductB&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="413.5" y1="73.6094" y2="73.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L44" target="_top" title="Factory1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L44" xlink:show="new" xlink:title="Factory1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="73.6094" id="C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="123.5" y="405"/>
<ellipse cx="232.25" cy="421" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M235.2188,426.6406 Q234.6406,426.9375 234,427.0781 Q233.3594,427.2344 232.6563,427.2344 Q230.1563,427.2344 228.8281,425.5938 Q227.5156,423.9375 227.5156,420.8125 Q227.5156,417.6875 228.8281,416.0313 Q230.1563,414.375 232.6563,414.375 Q233.3594,414.375 234,414.5313 Q234.6563,414.6875 235.2188,414.9844 L235.2188,417.7031 Q234.5938,417.125 234,416.8594 Q233.4063,416.5781 232.7813,416.5781 Q231.4375,416.5781 230.75,417.6563 Q230.0625,418.7188 230.0625,420.8125 Q230.0625,422.9063 230.75,423.9844 Q231.4375,425.0469 232.7813,425.0469 Q233.4063,425.0469 234,424.7813 Q234.5938,424.5 235.2188,423.9219 L235.2188,426.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="252.75" y="425.1543">Factory1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="124.5" x2="402.5" y1="437" y2="437"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L46" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L46" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="129.5" y="443"/>
<ellipse cx="134.5" cy="448" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L46" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L46" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="253" x="143.5" y="451.2104">make_a() const : std::unique_ptr&lt;ProductA&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L51" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L51" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="129.5" y="455.8047"/>
<ellipse cx="134.5" cy="460.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L51" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L51" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="254" x="143.5" y="464.0151">make_b() const : std::unique_ptr&lt;ProductB&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="124.5" x2="402.5" y1="470.6094" y2="470.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L57" target="_top" title="Factory2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L57" xlink:show="new" xlink:title="Factory2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1fcs4i5zmseu)" height="73.6094" id="C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="333.5" y="802"/>
<ellipse cx="442.25" cy="818" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M445.2188,823.6406 Q444.6406,823.9375 444,824.0781 Q443.3594,824.2344 442.6563,824.2344 Q440.1563,824.2344 438.8281,822.5938 Q437.5156,820.9375 437.5156,817.8125 Q437.5156,814.6875 438.8281,813.0313 Q440.1563,811.375 442.6563,811.375 Q443.3594,811.375 444,811.5313 Q444.6563,811.6875 445.2188,811.9844 L445.2188,814.7031 Q444.5938,814.125 444,813.8594 Q443.4063,813.5781 442.7813,813.5781 Q441.4375,813.5781 440.75,814.6563 Q440.0625,815.7188 440.0625,817.8125 Q440.0625,819.9063 440.75,820.9844 Q441.4375,822.0469 442.7813,822.0469 Q443.4063,822.0469 444,821.7813 Q444.5938,821.5 445.2188,820.9219 L445.2188,823.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="462.75" y="822.1543">Factory2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="334.5" x2="612.5" y1="834" y2="834"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L59" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L59" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="339.5" y="840"/>
<ellipse cx="344.5" cy="845" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L59" target="_top" title="make_a" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L59" xlink:show="new" xlink:title="make_a" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="253" x="353.5" y="848.2104">make_a() const : std::unique_ptr&lt;ProductA&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L64" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L64" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="339.5" y="852.8047"/>
<ellipse cx="344.5" cy="857.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L64" target="_top" title="make_b" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00020/t00020.cc#L64" xlink:show="new" xlink:title="make_b" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="254" x="353.5" y="861.0151">make_b() const : std::unique_ptr&lt;ProductB&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="334.5" x2="612.5" y1="867.6094" y2="867.6094"/>
<path d="M344.48,238.05 C327.61,253.77 309.81,270.35 295.21,283.96 " fill="none" id="C_0000425267229659464944&lt;-C_0001756496029797864207" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="339.88,232.78,359.28,224.26,349.42,243.02,339.88,232.78" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M458.18,238.52 C472.11,252.92 486.71,268.72 499.5,284 C534.96,326.36 571.51,379.11 593.1,411.4 " fill="none" id="C_0000425267229659464944&lt;-C_0001531708592885216981" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="453.03,243.27,444.02,224.09,463.02,233.46,453.03,243.27" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M209.28,631.78 C235.74,648.42 264.25,666.34 287.38,680.88 " fill="none" id="C_0002235759006374865842&lt;-C_0001465493024233223845" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="205.48,637.66,192.27,621.09,212.93,625.81,205.48,637.66" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M128.5,641.55 C128.5,655.26 128.5,669.22 128.5,680.96 " fill="none" id="C_0002235759006374865842&lt;-C_0002154665562370057871" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="121.5,641.26,128.5,621.26,135.5,641.26,121.5,641.26" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M300.38,82.09 C318.03,99.35 339.3,120.16 357.85,138.31 " fill="none" id="C_0001705546469218961425-&gt;C_0000425267229659464944" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="361.52,141.91,357.8918,132.7538,357.9489,138.4104,352.2924,138.4675,361.52,141.91" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M205.31,82.14 C184.51,97.98 162.92,118.38 149.5,142 C74.94,273.3 90.18,328.89 106.5,479 C108.47,497.1 112.38,516.72 116.37,533.75 " fill="none" id="C_0001705546469218961425-&gt;C_0002235759006374865842" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="117.61,538.94,119.3884,529.253,116.4377,534.0794,111.6114,531.1287,117.61,538.94" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M313.81,404.81 C332.99,388.57 353.38,367.91 366.5,345 C386.91,309.38 395.75,263.18 399.58,229.41 " fill="none" id="C_0000692346848484854107-&gt;C_0000425267229659464944" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="400.15,224.1,395.1967,232.6126,399.6072,229.0705,403.1494,233.481,400.15,224.1" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M227.68,479.09 C210.54,496.35 189.88,517.16 171.86,535.31 " fill="none" id="C_0000692346848484854107-&gt;C_0002235759006374865842" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="168.3,538.91,177.478,535.3373,171.8212,535.3602,171.7983,529.7034,168.3,538.91" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M221.83,98.4 C179.15,158.85 123.85,260.73 160.5,345 C170.79,368.65 190.09,389.11 209.23,404.99 " fill="none" id="C_0001705546469218961425&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="216.27,94.14,233.73,82.13,227.57,102.41,216.27,94.14" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M473.5,801.82 C473.5,752.08 473.5,659.75 473.5,581 C473.5,441 473.5,441 473.5,441 C473.5,364.32 443.77,279.26 422.79,228.78 " fill="none" id="C_0001566325870805013023-&gt;C_0000425267229659464944" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="420.78,224,420.56,233.8464,422.7081,228.6133,427.9413,230.7614,420.78,224" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M333.44,826.93 C216.81,814.45 63.82,789.4 25.5,742 C-4.69,704.65 32.17,658.08 69.93,624.64 " fill="none" id="C_0001566325870805013023-&gt;C_0002235759006374865842" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="74.05,621.04,64.6428,623.9562,70.2871,624.3325,69.9108,629.9768,74.05,621.04" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M434.59,68.78 C575.25,98.26 751.5,164.86 751.5,313.5 C751.5,313.5 751.5,313.5 751.5,581 C751.5,686.99 641.2,761.42 559.56,802 " fill="none" id="C_0001705546469218961425&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="432.81,75.56,414.56,64.78,435.55,61.84,432.81,75.56" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M263.5,350.38 C263.5,367.31 263.5,387.65 263.5,404.76 " fill="none" id="C_0001756496029797864207&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="263.5,345.24,259.5,354.24,263.5,350.24,267.5,354.24,263.5,345.24" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M325.25,675.67 C311.75,624.79 286.76,530.64 273.08,479.08 " fill="none" id="C_0001465493024233223845&lt;-C_0000692346848484854107" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="326.6,680.75,328.1496,671.0238,325.3135,675.9184,320.4189,673.0823,326.6,680.75" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M600.38,477.43 C574.28,551.62 512.92,725.99 486.25,801.77 " fill="none" id="C_0001531708592885216981&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="602.05,472.69,595.2725,479.836,600.3792,477.4026,602.8126,482.5093,602.05,472.69" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M214.77,743.88 C263.21,761.5 323.86,783.56 374.26,801.9 " fill="none" id="C_0002154665562370057871&lt;-C_0001566325870805013023" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="209.82,742.08,216.9045,748.9218,214.5173,743.7933,219.6458,741.4061,209.82,742.08" style="stroke: #A80036; stroke-width: 1.0;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 36 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="493px" preserveAspectRatio="none" style="width:990px;height:493px;" version="1.1" viewBox="0 0 990 493" width="990px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="509px" preserveAspectRatio="none" style="width:990px;height:509px;" version="1.1" viewBox="0 0 990 509" width="990px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fcbi84eke7mor" width="300%" x="-1" y="-1">
<filter height="300%" id="f17865tzsc2v2s" 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"/>
@@ -9,119 +9,186 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L9" target="_top" title="Visitor" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L9" xlink:show="new" xlink:title="Visitor" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="86.4141" id="C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.5;" width="249" x="368" y="142"/>
<ellipse cx="469.25" cy="158" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M469.3594,153.3438 L468.2031,158.4219 L470.5313,158.4219 L469.3594,153.3438 Z M467.875,151.1094 L470.8594,151.1094 L474.2188,163.5 L471.7656,163.5 L471,160.4375 L467.7188,160.4375 L466.9688,163.5 L464.5313,163.5 L467.875,151.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="38" x="489.75" y="162.1543">Visitor</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="369" x2="616" y1="174" y2="174"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L9" target="_top" title="Visitor" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L9" xlink:show="new" xlink:title="Visitor" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="94.4141" id="C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.5;" width="249" x="368" y="150"/>
<ellipse cx="469.25" cy="166" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M469.3594,161.3438 L468.2031,166.4219 L470.5313,166.4219 L469.3594,161.3438 Z M467.875,159.1094 L470.8594,159.1094 L474.2188,171.5 L471.7656,171.5 L471,168.4375 L467.7188,168.4375 L466.9688,171.5 L464.5313,171.5 L467.875,159.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="38" x="489.75" y="170.1543">Visitor</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="369" x2="616" y1="182" y2="182"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L11" target="_top" title="~Visitor" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L11" xlink:show="new" xlink:title="~Visitor" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="374" y="188"/>
<ellipse cx="379" cy="193" 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="144" x="388" y="196.2104">~Visitor() = default : void</text>
<ellipse cx="379" cy="205.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="223" x="388" y="209.0151">visit_A(const A &amp; item) const = 0 : void</text>
<ellipse cx="379" cy="218.6094" 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="223" x="388" y="221.8198">visit_B(const B &amp; item) const = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L16" target="_top" title="Visitor1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L16" xlink:show="new" xlink:title="Visitor1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="73.6094" id="C_0001028369219400401946" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="117" y="288"/>
<ellipse cx="202.75" cy="304" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M205.7188,309.6406 Q205.1406,309.9375 204.5,310.0781 Q203.8594,310.2344 203.1563,310.2344 Q200.6563,310.2344 199.3281,308.5938 Q198.0156,306.9375 198.0156,303.8125 Q198.0156,300.6875 199.3281,299.0313 Q200.6563,297.375 203.1563,297.375 Q203.8594,297.375 204.5,297.5313 Q205.1563,297.6875 205.7188,297.9844 L205.7188,300.7031 Q205.0938,300.125 204.5,299.8594 Q203.9063,299.5781 203.2813,299.5781 Q201.9375,299.5781 201.25,300.6563 Q200.5625,301.7188 200.5625,303.8125 Q200.5625,305.9063 201.25,306.9844 Q201.9375,308.0469 203.2813,308.0469 Q203.9063,308.0469 204.5,307.7813 Q205.0938,307.5 205.7188,306.9219 L205.7188,309.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="223.25" y="308.1543">Visitor1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="118" x2="343" y1="320" y2="320"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="118" x2="343" y1="328" y2="328"/>
<ellipse cx="128" cy="339" 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="199" x="137" y="342.2104">visit_A(const A &amp; item) const : void</text>
<ellipse cx="128" cy="351.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="201" x="137" y="355.0151">visit_B(const B &amp; item) const : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L11" target="_top" title="~Visitor" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L11" xlink:show="new" xlink:title="~Visitor" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="388" y="196.2104">~Visitor() constexpr = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L22" target="_top" title="Visitor2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L22" xlink:show="new" xlink:title="Visitor2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="73.6094" id="C_0001710373315476287130" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="379" y="288"/>
<ellipse cx="464.75" cy="304" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M467.7188,309.6406 Q467.1406,309.9375 466.5,310.0781 Q465.8594,310.2344 465.1563,310.2344 Q462.6563,310.2344 461.3281,308.5938 Q460.0156,306.9375 460.0156,303.8125 Q460.0156,300.6875 461.3281,299.0313 Q462.6563,297.375 465.1563,297.375 Q465.8594,297.375 466.5,297.5313 Q467.1563,297.6875 467.7188,297.9844 L467.7188,300.7031 Q467.0938,300.125 466.5,299.8594 Q465.9063,299.5781 465.2813,299.5781 Q463.9375,299.5781 463.25,300.6563 Q462.5625,301.7188 462.5625,303.8125 Q462.5625,305.9063 463.25,306.9844 Q463.9375,308.0469 465.2813,308.0469 Q465.9063,308.0469 466.5,307.7813 Q467.0938,307.5 467.7188,306.9219 L467.7188,309.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="485.25" y="308.1543">Visitor2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="380" x2="605" y1="320" y2="320"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="380" x2="605" y1="328" y2="328"/>
<ellipse cx="390" cy="339" 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="199" x="399" y="342.2104">visit_A(const A &amp; item) const : void</text>
<ellipse cx="390" cy="351.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="201" x="399" y="355.0151">visit_B(const B &amp; item) const : void</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="369" x2="616" y1="202.8047" y2="202.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L12" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L12" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="374" y="208.8047"/>
<ellipse cx="379" cy="213.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L28" target="_top" title="Visitor3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L28" xlink:show="new" xlink:title="Visitor3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="73.6094" id="C_0001399026228179178025" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="641" y="288"/>
<ellipse cx="726.75" cy="304" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M729.7188,309.6406 Q729.1406,309.9375 728.5,310.0781 Q727.8594,310.2344 727.1563,310.2344 Q724.6563,310.2344 723.3281,308.5938 Q722.0156,306.9375 722.0156,303.8125 Q722.0156,300.6875 723.3281,299.0313 Q724.6563,297.375 727.1563,297.375 Q727.8594,297.375 728.5,297.5313 Q729.1563,297.6875 729.7188,297.9844 L729.7188,300.7031 Q729.0938,300.125 728.5,299.8594 Q727.9063,299.5781 727.2813,299.5781 Q725.9375,299.5781 725.25,300.6563 Q724.5625,301.7188 724.5625,303.8125 Q724.5625,305.9063 725.25,306.9844 Q725.9375,308.0469 727.2813,308.0469 Q727.9063,308.0469 728.5,307.7813 Q729.0938,307.5 729.7188,306.9219 L729.7188,309.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="747.25" y="308.1543">Visitor3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="642" x2="867" y1="320" y2="320"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="642" x2="867" y1="328" y2="328"/>
<ellipse cx="652" cy="339" 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="199" x="661" y="342.2104">visit_A(const A &amp; item) const : void</text>
<ellipse cx="652" cy="351.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="201" x="661" y="355.0151">visit_B(const B &amp; item) const : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L12" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L12" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="223" x="388" y="217.0151">visit_A(const A &amp; item) const = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L34" target="_top" title="Item" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L34" xlink:show="new" xlink:title="Item" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="73.6094" id="C_0001491568826758947722" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="349" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L13" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L13" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="374" y="221.6094"/>
<ellipse cx="379" cy="226.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L13" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L13" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="223" x="388" y="229.8198">visit_B(const B &amp; item) const = 0 : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="369" x2="616" y1="236.4141" y2="236.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L16" target="_top" title="Visitor1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L16" xlink:show="new" xlink:title="Visitor1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="73.6094" id="C_0001028369219400401946" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="117" y="304"/>
<ellipse cx="202.75" cy="320" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M205.7188,325.6406 Q205.1406,325.9375 204.5,326.0781 Q203.8594,326.2344 203.1563,326.2344 Q200.6563,326.2344 199.3281,324.5938 Q198.0156,322.9375 198.0156,319.8125 Q198.0156,316.6875 199.3281,315.0313 Q200.6563,313.375 203.1563,313.375 Q203.8594,313.375 204.5,313.5313 Q205.1563,313.6875 205.7188,313.9844 L205.7188,316.7031 Q205.0938,316.125 204.5,315.8594 Q203.9063,315.5781 203.2813,315.5781 Q201.9375,315.5781 201.25,316.6563 Q200.5625,317.7188 200.5625,319.8125 Q200.5625,321.9063 201.25,322.9844 Q201.9375,324.0469 203.2813,324.0469 Q203.9063,324.0469 204.5,323.7813 Q205.0938,323.5 205.7188,322.9219 L205.7188,325.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="223.25" y="324.1543">Visitor1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="118" x2="343" y1="336" y2="336"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L18" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L18" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="123" y="342"/>
<ellipse cx="128" cy="347" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L18" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L18" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="137" y="350.2104">visit_A(const A &amp; item) const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L19" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L19" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="123" y="354.8047"/>
<ellipse cx="128" cy="359.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L19" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L19" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="137" y="363.0151">visit_B(const B &amp; item) const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="118" x2="343" y1="369.6094" y2="369.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L22" target="_top" title="Visitor2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L22" xlink:show="new" xlink:title="Visitor2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="73.6094" id="C_0001710373315476287130" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="379" y="304"/>
<ellipse cx="464.75" cy="320" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M467.7188,325.6406 Q467.1406,325.9375 466.5,326.0781 Q465.8594,326.2344 465.1563,326.2344 Q462.6563,326.2344 461.3281,324.5938 Q460.0156,322.9375 460.0156,319.8125 Q460.0156,316.6875 461.3281,315.0313 Q462.6563,313.375 465.1563,313.375 Q465.8594,313.375 466.5,313.5313 Q467.1563,313.6875 467.7188,313.9844 L467.7188,316.7031 Q467.0938,316.125 466.5,315.8594 Q465.9063,315.5781 465.2813,315.5781 Q463.9375,315.5781 463.25,316.6563 Q462.5625,317.7188 462.5625,319.8125 Q462.5625,321.9063 463.25,322.9844 Q463.9375,324.0469 465.2813,324.0469 Q465.9063,324.0469 466.5,323.7813 Q467.0938,323.5 467.7188,322.9219 L467.7188,325.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="485.25" y="324.1543">Visitor2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="380" x2="605" y1="336" y2="336"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L24" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L24" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="385" y="342"/>
<ellipse cx="390" cy="347" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L24" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L24" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="399" y="350.2104">visit_A(const A &amp; item) const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L25" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L25" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="385" y="354.8047"/>
<ellipse cx="390" cy="359.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L25" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L25" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="399" y="363.0151">visit_B(const B &amp; item) const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="380" x2="605" y1="369.6094" y2="369.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L28" target="_top" title="Visitor3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L28" xlink:show="new" xlink:title="Visitor3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="73.6094" id="C_0001399026228179178025" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="641" y="304"/>
<ellipse cx="726.75" cy="320" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M729.7188,325.6406 Q729.1406,325.9375 728.5,326.0781 Q727.8594,326.2344 727.1563,326.2344 Q724.6563,326.2344 723.3281,324.5938 Q722.0156,322.9375 722.0156,319.8125 Q722.0156,316.6875 723.3281,315.0313 Q724.6563,313.375 727.1563,313.375 Q727.8594,313.375 728.5,313.5313 Q729.1563,313.6875 729.7188,313.9844 L729.7188,316.7031 Q729.0938,316.125 728.5,315.8594 Q727.9063,315.5781 727.2813,315.5781 Q725.9375,315.5781 725.25,316.6563 Q724.5625,317.7188 724.5625,319.8125 Q724.5625,321.9063 725.25,322.9844 Q725.9375,324.0469 727.2813,324.0469 Q727.9063,324.0469 728.5,323.7813 Q729.0938,323.5 729.7188,322.9219 L729.7188,325.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="747.25" y="324.1543">Visitor3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="642" x2="867" y1="336" y2="336"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L30" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L30" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="647" y="342"/>
<ellipse cx="652" cy="347" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L30" target="_top" title="visit_A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L30" xlink:show="new" xlink:title="visit_A" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="661" y="350.2104">visit_A(const A &amp; item) const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L31" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L31" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="647" y="354.8047"/>
<ellipse cx="652" cy="359.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L31" target="_top" title="visit_B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L31" xlink:show="new" xlink:title="visit_B" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="661" y="363.0151">visit_B(const B &amp; item) const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="642" x2="867" y1="369.6094" y2="369.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L34" target="_top" title="Item" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L34" xlink:show="new" xlink:title="Item" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="81.6094" id="C_0001491568826758947722" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="349" y="8"/>
<ellipse cx="474.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M474.3594,19.3438 L473.2031,24.4219 L475.5313,24.4219 L474.3594,19.3438 Z M472.875,17.1094 L475.8594,17.1094 L479.2188,29.5 L476.7656,29.5 L476,26.4375 L472.7188,26.4375 L471.9688,29.5 L469.5313,29.5 L472.875,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="28" x="494.75" y="28.1543">Item</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="350" x2="635" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="350" x2="635" y1="48" y2="48"/>
<ellipse cx="360" 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="133" x="369" y="62.2104">~Item() = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L36" target="_top" title="~Item" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L36" xlink:show="new" xlink:title="~Item" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="355" y="46"/>
<ellipse cx="360" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L36" target="_top" title="~Item" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L36" xlink:show="new" xlink:title="~Item" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="369" y="54.2104">~Item() constexpr = default : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="350" x2="635" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L37" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L37" xlink:show="new" xlink:title="accept" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="355" y="66.8047"/>
<ellipse cx="360" cy="71.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L37" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L37" xlink:show="new" xlink:title="accept" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="261" x="369" y="75.0151">accept(const Visitor &amp; visitor) const = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L40" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L40" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="60.8047" id="C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.5;" width="265" x="6" y="422"/>
<ellipse cx="130.25" cy="438" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M133.2188,443.6406 Q132.6406,443.9375 132,444.0781 Q131.3594,444.2344 130.6563,444.2344 Q128.1563,444.2344 126.8281,442.5938 Q125.5156,440.9375 125.5156,437.8125 Q125.5156,434.6875 126.8281,433.0313 Q128.1563,431.375 130.6563,431.375 Q131.3594,431.375 132,431.5313 Q132.6563,431.6875 133.2188,431.9844 L133.2188,434.7031 Q132.5938,434.125 132,433.8594 Q131.4063,433.5781 130.7813,433.5781 Q129.4375,433.5781 128.75,434.6563 Q128.0625,435.7188 128.0625,437.8125 Q128.0625,439.9063 128.75,440.9844 Q129.4375,442.0469 130.7813,442.0469 Q131.4063,442.0469 132,441.7813 Q132.5938,441.5 133.2188,440.9219 L133.2188,443.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="150.75" y="442.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="270" y1="454" y2="454"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="270" y1="462" y2="462"/>
<ellipse cx="17" cy="473" 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="239" x="26" y="476.2104">accept(const Visitor &amp; visitor) const : void</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="350" x2="635" y1="81.6094" y2="81.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L40" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L40" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="60.8047" id="C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.5;" width="265" x="6" y="438"/>
<ellipse cx="130.25" cy="454" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M133.2188,459.6406 Q132.6406,459.9375 132,460.0781 Q131.3594,460.2344 130.6563,460.2344 Q128.1563,460.2344 126.8281,458.5938 Q125.5156,456.9375 125.5156,453.8125 Q125.5156,450.6875 126.8281,449.0313 Q128.1563,447.375 130.6563,447.375 Q131.3594,447.375 132,447.5313 Q132.6563,447.6875 133.2188,447.9844 L133.2188,450.7031 Q132.5938,450.125 132,449.8594 Q131.4063,449.5781 130.7813,449.5781 Q129.4375,449.5781 128.75,450.6563 Q128.0625,451.7188 128.0625,453.8125 Q128.0625,455.9063 128.75,456.9844 Q129.4375,458.0469 130.7813,458.0469 Q131.4063,458.0469 132,457.7813 Q132.5938,457.5 133.2188,456.9219 L133.2188,459.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="150.75" y="458.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="270" y1="470" y2="470"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L45" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00021/t00021.cc#L45" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fcbi84eke7mor)" height="60.8047" id="C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.5;" width="265" x="714" y="422"/>
<ellipse cx="838.25" cy="438" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M841.2188,443.6406 Q840.6406,443.9375 840,444.0781 Q839.3594,444.2344 838.6563,444.2344 Q836.1563,444.2344 834.8281,442.5938 Q833.5156,440.9375 833.5156,437.8125 Q833.5156,434.6875 834.8281,433.0313 Q836.1563,431.375 838.6563,431.375 Q839.3594,431.375 840,431.5313 Q840.6563,431.6875 841.2188,431.9844 L841.2188,434.7031 Q840.5938,434.125 840,433.8594 Q839.4063,433.5781 838.7813,433.5781 Q837.4375,433.5781 836.75,434.6563 Q836.0625,435.7188 836.0625,437.8125 Q836.0625,439.9063 836.75,440.9844 Q837.4375,442.0469 838.7813,442.0469 Q839.4063,442.0469 840,441.7813 Q840.5938,441.5 841.2188,440.9219 L841.2188,443.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="858.75" y="442.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="715" x2="978" y1="454" y2="454"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="715" x2="978" y1="462" y2="462"/>
<ellipse cx="725" cy="473" 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="239" x="734" y="476.2104">accept(const Visitor &amp; visitor) const : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L42" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L42" xlink:show="new" xlink:title="accept" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="476"/>
<ellipse cx="17" cy="481" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<path d="M367.83,199.74 C260.09,215.06 116.79,243.68 82.5,288 C53.33,325.71 77.27,381.87 102.83,417.58 " fill="none" id="C_0001668671110672744395-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="105.95,421.83,103.8652,412.2043,102.9981,417.7944,97.4081,416.9273,105.95,421.83" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M130.71,421.83 C114.3,386.46 87.15,327.24 117.5,288 C148.27,248.22 266.85,221.1 362.66,204.88 " fill="none" id="C_0001494142745564026823-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="367.78,204.02,358.2414,201.5675,362.8492,204.8489,359.5677,209.4567,367.78,204.02" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M617.04,203.85 C714.04,219.94 837.07,247.37 868.5,288 C897.55,325.55 873.92,381.41 857.21,417.14 " fill="none" id="C_0001668671110672744395-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="855,421.83,862.4564,415.3955,857.1324,417.3075,855.2204,411.9836,855,421.83" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M879.75,421.83 C906.7,386.46 933.85,327.24 903.5,288 C869.67,244.27 729.71,215.83 622.26,200.36 " fill="none" id="C_0001452948650450999568-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="617.17,199.64,625.5202,204.8625,622.1206,200.3411,626.642,196.9415,617.17,199.64" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M203.89,362.3 C191.17,379.65 176.03,400.31 163.52,417.37 " fill="none" id="C_0001028369219400401946-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="160.4,421.62,168.9501,416.7318,163.3587,417.5893,162.5011,411.9979,160.4,421.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M344.31,357.91 C350.11,359.34 355.87,360.71 361.5,362 C477.83,388.67 611.25,412.83 708.68,429.3 " fill="none" id="C_0001028369219400401946-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="713.87,430.18,705.6577,424.7433,708.9392,429.3511,704.3314,432.6325,713.87,430.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M394.62,237.55 C362.8,254.31 328.19,272.55 298.99,287.93 " fill="none" id="C_0001668671110672744395&lt;-C_0001028369219400401946" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="391.51,231.28,412.47,228.15,398.03,243.67,391.51,231.28" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M390.58,362.13 C338.74,380.51 276.35,402.63 226.61,420.26 " fill="none" id="C_0001710373315476287130-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="221.83,421.96,231.65,422.7132,226.541,420.2847,228.9695,415.1756,221.83,421.96" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M594.42,362.13 C646.26,380.51 708.65,402.63 758.39,420.26 " fill="none" id="C_0001710373315476287130-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="763.17,421.96,756.0305,415.1756,758.459,420.2847,753.35,422.7132,763.17,421.96" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M492.5,248.62 C492.5,262 492.5,275.71 492.5,287.7 " fill="none" id="C_0001668671110672744395&lt;-C_0001710373315476287130" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="485.5,248.15,492.5,228.15,499.5,248.15,485.5,248.15" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M640.69,357.91 C634.89,359.34 629.13,360.71 623.5,362 C507.17,388.67 373.75,412.83 276.32,429.3 " fill="none" id="C_0001399026228179178025-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="271.13,430.18,280.6686,432.6325,276.0608,429.3511,279.3423,424.7433,271.13,430.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M781.11,362.3 C793.83,379.65 808.97,400.31 821.48,417.37 " fill="none" id="C_0001399026228179178025-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="824.6,421.62,822.4989,411.9979,821.6413,417.5893,816.0499,416.7318,824.6,421.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M590.38,237.55 C622.2,254.31 656.81,272.55 686.01,287.93 " fill="none" id="C_0001668671110672744395&lt;-C_0001399026228179178025" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="586.97,243.67,572.53,228.15,593.49,231.28,586.97,243.67" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M492.5,82.26 C492.5,98.76 492.5,118.51 492.5,136.2 " fill="none" id="C_0001491568826758947722-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="492.5,141.62,496.5,132.62,492.5,136.62,488.5,132.62,492.5,141.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M346.43,89.22 C251.74,125.69 135.73,188.25 78.5,288 C53.37,331.8 86.56,388.03 112.67,421.84 " fill="none" id="C_0001491568826758947722&lt;-C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="344.18,82.59,365.37,82.17,349.07,95.71,344.18,82.59" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M653.9,88.58 C753.75,124.18 874.06,186.01 934.5,288 C951.27,316.29 946.96,331.56 934.5,362 C924.84,385.6 905.63,406.32 887.62,421.86 " fill="none" id="C_0001491568826758947722&lt;-C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="651.49,95.15,634.86,82.02,656.05,81.92,651.49,95.15" style="stroke: #A80036; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L42" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L42" xlink:show="new" xlink:title="accept" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="26" y="484.2104">accept(const Visitor &amp; visitor) const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="270" y1="490.8047" y2="490.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L45" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L45" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17865tzsc2v2s)" height="60.8047" id="C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.5;" width="265" x="714" y="438"/>
<ellipse cx="838.25" cy="454" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M841.2188,459.6406 Q840.6406,459.9375 840,460.0781 Q839.3594,460.2344 838.6563,460.2344 Q836.1563,460.2344 834.8281,458.5938 Q833.5156,456.9375 833.5156,453.8125 Q833.5156,450.6875 834.8281,449.0313 Q836.1563,447.375 838.6563,447.375 Q839.3594,447.375 840,447.5313 Q840.6563,447.6875 841.2188,447.9844 L841.2188,450.7031 Q840.5938,450.125 840,449.8594 Q839.4063,449.5781 838.7813,449.5781 Q837.4375,449.5781 836.75,450.6563 Q836.0625,451.7188 836.0625,453.8125 Q836.0625,455.9063 836.75,456.9844 Q837.4375,458.0469 838.7813,458.0469 Q839.4063,458.0469 840,457.7813 Q840.5938,457.5 841.2188,456.9219 L841.2188,459.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="858.75" y="458.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="715" x2="978" y1="470" y2="470"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L47" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L47" xlink:show="new" xlink:title="accept" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="720" y="476"/>
<ellipse cx="725" cy="481" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L47" target="_top" title="accept" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00021/t00021.cc#L47" xlink:show="new" xlink:title="accept" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="734" y="484.2104">accept(const Visitor &amp; visitor) const : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="715" x2="978" y1="490.8047" y2="490.8047"/>
<path d="M367.78,212.91 C259.99,229.31 116.66,259.4 82.5,304 C53.51,341.84 77.4,397.97 102.9,433.63 " fill="none" id="C_0001668671110672744395-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="106.02,437.88,103.9189,428.2579,103.0613,433.8493,97.4699,432.9918,106.02,437.88" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M130.77,437.88 C114.43,402.56 87.33,343.38 117.5,304 C148.16,263.97 266.75,235.63 362.59,218.39 " fill="none" id="C_0001494142745564026823-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="367.72,217.48,358.161,215.1081,362.7964,218.3506,359.5539,222.9859,367.72,217.48" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M617.1,217.3 C714.14,234.43 837.18,263.12 868.5,304 C897.37,341.69 873.79,397.51 857.14,433.19 " fill="none" id="C_0001668671110672744395-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="854.94,437.88,862.3718,431.4172,857.0552,433.3494,855.1229,428.0328,854.94,437.88" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M879.69,437.88 C906.57,402.56 933.67,343.38 903.5,304 C869.79,259.99 729.8,230.11 622.31,213.57 " fill="none" id="C_0001452948650450999568-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="617.22,212.8,625.5106,218.1166,622.1624,213.5571,626.7219,210.2088,617.22,212.8" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M203.89,378.3 C191.17,395.65 176.03,416.31 163.52,433.37 " fill="none" id="C_0001028369219400401946-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="160.4,437.62,168.9501,432.7318,163.3587,433.5893,162.5011,427.9979,160.4,437.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M344.31,373.91 C350.11,375.34 355.87,376.71 361.5,378 C477.83,404.67 611.25,428.83 708.68,445.3 " fill="none" id="C_0001028369219400401946-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="713.87,446.18,705.6577,440.7433,708.9392,445.3511,704.3314,448.6325,713.87,446.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M389.49,253.83 C358.5,270.63 325.3,288.62 297.31,303.79 " fill="none" id="C_0001668671110672744395&lt;-C_0001028369219400401946" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="386.52,247.48,407.44,244.1,393.19,259.79,386.52,247.48" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M390.58,378.13 C338.74,396.51 276.35,418.63 226.61,436.26 " fill="none" id="C_0001710373315476287130-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="221.83,437.96,231.65,438.7132,226.541,436.2847,228.9695,431.1756,221.83,437.96" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M594.42,378.13 C646.26,396.51 708.65,418.63 758.39,436.26 " fill="none" id="C_0001710373315476287130-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="763.17,437.96,756.0305,431.1756,758.459,436.2847,753.35,438.7132,763.17,437.96" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M492.5,264.22 C492.5,277.76 492.5,291.54 492.5,303.56 " fill="none" id="C_0001668671110672744395&lt;-C_0001710373315476287130" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="485.5,264.1,492.5,244.1,499.5,264.1,485.5,264.1" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M640.69,373.91 C634.89,375.34 629.13,376.71 623.5,378 C507.17,404.67 373.75,428.83 276.32,445.3 " fill="none" id="C_0001399026228179178025-&gt;C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="271.13,446.18,280.6686,448.6325,276.0608,445.3511,279.3423,440.7433,271.13,446.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M781.11,378.3 C793.83,395.65 808.97,416.31 821.48,433.37 " fill="none" id="C_0001399026228179178025-&gt;C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="824.6,437.62,822.4989,427.9979,821.6413,433.5893,816.0499,432.7318,824.6,437.62" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M595.51,253.83 C626.5,270.63 659.7,288.62 687.69,303.79 " fill="none" id="C_0001668671110672744395&lt;-C_0001399026228179178025" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="591.81,259.79,577.56,244.1,598.48,247.48,591.81,259.79" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M492.5,90.28 C492.5,107.03 492.5,126.68 492.5,144.47 " fill="none" id="C_0001491568826758947722-&gt;C_0001668671110672744395" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="492.5,149.92,496.5,140.92,492.5,144.92,488.5,140.92,492.5,149.92" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M345.55,97.58 C250.88,136.76 135.26,202.59 78.5,304 C53.84,348.06 86.89,404.22 112.84,437.93 " fill="none" id="C_0001491568826758947722&lt;-C_0001494142745564026823" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="343.01,91.06,364.18,90.1,348.23,104.05,343.01,91.06" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M654.92,97.14 C754.72,135.45 874.58,200.46 934.5,304 C950.97,332.47 946.96,347.56 934.5,378 C924.84,401.6 905.63,422.32 887.62,437.86 " fill="none" id="C_0001491568826758947722&lt;-C_0001452948650450999568" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="652.2,103.6,635.89,90.07,657.08,90.48,652.2,103.6" style="stroke: #A80036; stroke-width: 1.0;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -53,3 +53,290 @@ protected:
```
## Generated UML diagrams
![t00022_class](./t00022_class.svg "Template method pattern")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00022::A",
"id": "2012435893382068755",
"is_abstract": true,
"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_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": "template_method",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00022/t00022.cc",
"line": 8,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
},
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "method1",
"parameters": [],
"source_location": {
"column": 18,
"file": "../../tests/t00022/t00022.cc",
"line": 15,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
},
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "method2",
"parameters": [],
"source_location": {
"column": 18,
"file": "../../tests/t00022/t00022.cc",
"line": 16,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
}
],
"name": "A",
"namespace": "clanguml::t00022",
"source_location": {
"column": 7,
"file": "../../tests/t00022/t00022.cc",
"line": 6,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "2012435893382068755",
"is_virtual": false,
"name": "clanguml::t00022::A"
}
],
"display_name": "clanguml::t00022::A1",
"id": "2282061426381077447",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "method1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00022/t00022.cc",
"line": 21,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
},
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "method2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00022/t00022.cc",
"line": 22,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
}
],
"name": "A1",
"namespace": "clanguml::t00022",
"source_location": {
"column": 7,
"file": "../../tests/t00022/t00022.cc",
"line": 19,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "2012435893382068755",
"is_virtual": false,
"name": "clanguml::t00022::A"
}
],
"display_name": "clanguml::t00022::A2",
"id": "158819862916671538",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "method1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00022/t00022.cc",
"line": 27,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
},
{
"access": "protected",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "method2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00022/t00022.cc",
"line": 28,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"type": "void"
}
],
"name": "A2",
"namespace": "clanguml::t00022",
"source_location": {
"column": 7,
"file": "../../tests/t00022/t00022.cc",
"line": 25,
"translation_unit": "../../tests/t00022/t00022.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00022_class",
"relationships": [
{
"access": "public",
"destination": "2012435893382068755",
"source": "2282061426381077447",
"type": "extension"
},
{
"access": "public",
"destination": "2012435893382068755",
"source": "158819862916671538",
"type": "extension"
}
],
"using_namespace": "clanguml::t00022"
}
```

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="238px" preserveAspectRatio="none" style="width:290px;height:238px;" version="1.1" viewBox="0 0 290 238" width="290px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="frsq03e9gdwks" width="300%" x="-1" y="-1">
<filter height="300%" id="f112ab8mgrs8tq" 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"/>
@@ -9,44 +9,79 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#frsq03e9gdwks)" height="86.4141" id="C_0002012435893382068755" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="58.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L6" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L6" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f112ab8mgrs8tq)" height="86.4141" id="C_0002012435893382068755" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="58.5" y="8"/>
<ellipse cx="134.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M134.3594,19.3438 L133.2031,24.4219 L135.5313,24.4219 L134.3594,19.3438 Z M132.875,17.1094 L135.8594,17.1094 L139.2188,29.5 L136.7656,29.5 L136,26.4375 L132.7188,26.4375 L131.9688,29.5 L129.5313,29.5 L132.875,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="154.75" y="28.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="59.5" x2="225.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="59.5" x2="225.5" y1="48" y2="48"/>
<ellipse cx="69.5" 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="142" x="78.5" y="62.2104">template_method() : void</text>
<polygon fill="#FFFF44" points="69.5,66.8047,73.5,70.8047,69.5,74.8047,65.5,70.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="118" x="78.5" y="75.0151">method1() = 0 : void</text>
<polygon fill="#FFFF44" points="69.5,79.6094,73.5,83.6094,69.5,87.6094,65.5,83.6094" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="118" x="78.5" y="87.8198">method2() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L19" target="_top" title="A1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L19" xlink:show="new" xlink:title="A1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#frsq03e9gdwks)" height="73.6094" id="C_0002282061426381077447" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="6" y="154"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L15" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L15" xlink:show="new" xlink:title="method1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="64.5" y="46"/>
<polygon fill="#FFFF44" points="69.5,46,73.5,50,69.5,54,65.5,50" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L15" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L15" xlink:show="new" xlink:title="method1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="118" x="78.5" y="54.2104">method1() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L16" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L16" xlink:show="new" xlink:title="method2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="64.5" y="58.8047"/>
<polygon fill="#FFFF44" points="69.5,58.8047,73.5,62.8047,69.5,66.8047,65.5,62.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L16" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L16" xlink:show="new" xlink:title="method2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="118" x="78.5" y="67.0151">method2() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L8" target="_top" title="template_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L8" xlink:show="new" xlink:title="template_method" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="64.5" y="71.6094"/>
<ellipse cx="69.5" cy="76.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L8" target="_top" title="template_method" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L8" xlink:show="new" xlink:title="template_method" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="78.5" y="79.8198">template_method() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="59.5" x2="225.5" y1="86.4141" y2="86.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L19" target="_top" title="A1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L19" xlink:show="new" xlink:title="A1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f112ab8mgrs8tq)" height="73.6094" id="C_0002282061426381077447" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="6" y="154"/>
<ellipse cx="53.25" cy="170" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M56.2188,175.6406 Q55.6406,175.9375 55,176.0781 Q54.3594,176.2344 53.6563,176.2344 Q51.1563,176.2344 49.8281,174.5938 Q48.5156,172.9375 48.5156,169.8125 Q48.5156,166.6875 49.8281,165.0313 Q51.1563,163.375 53.6563,163.375 Q54.3594,163.375 55,163.5313 Q55.6563,163.6875 56.2188,163.9844 L56.2188,166.7031 Q55.5938,166.125 55,165.8594 Q54.4063,165.5781 53.7813,165.5781 Q52.4375,165.5781 51.75,166.6563 Q51.0625,167.7188 51.0625,169.8125 Q51.0625,171.9063 51.75,172.9844 Q52.4375,174.0469 53.7813,174.0469 Q54.4063,174.0469 55,173.7813 Q55.5938,173.5 56.2188,172.9219 L56.2188,175.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="16" x="73.75" y="174.1543">A1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="186" y2="186"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="194" y2="194"/>
<polygon fill="#FFFF44" points="17,200,21,204,17,208,13,204" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="208.2104">method1() : void</text>
<polygon fill="#FFFF44" points="17,212.8047,21,216.8047,17,220.8047,13,216.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="221.0151">method2() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L25" target="_top" title="A2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00022/t00022.cc#L25" xlink:show="new" xlink:title="A2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#frsq03e9gdwks)" height="73.6094" id="C_0000158819862916671538" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="160" y="154"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L21" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L21" xlink:show="new" xlink:title="method1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="192"/>
<polygon fill="#FFFF44" points="17,192,21,196,17,200,13,196" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L21" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L21" xlink:show="new" xlink:title="method1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="200.2104">method1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L22" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L22" xlink:show="new" xlink:title="method2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="204.8047"/>
<polygon fill="#FFFF44" points="17,204.8047,21,208.8047,17,212.8047,13,208.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L22" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L22" xlink:show="new" xlink:title="method2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="26" y="213.0151">method2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="219.6094" y2="219.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L25" target="_top" title="A2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L25" xlink:show="new" xlink:title="A2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f112ab8mgrs8tq)" height="73.6094" id="C_0000158819862916671538" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="160" y="154"/>
<ellipse cx="207.25" cy="170" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M210.2188,175.6406 Q209.6406,175.9375 209,176.0781 Q208.3594,176.2344 207.6563,176.2344 Q205.1563,176.2344 203.8281,174.5938 Q202.5156,172.9375 202.5156,169.8125 Q202.5156,166.6875 203.8281,165.0313 Q205.1563,163.375 207.6563,163.375 Q208.3594,163.375 209,163.5313 Q209.6563,163.6875 210.2188,163.9844 L210.2188,166.7031 Q209.5938,166.125 209,165.8594 Q208.4063,165.5781 207.7813,165.5781 Q206.4375,165.5781 205.75,166.6563 Q205.0625,167.7188 205.0625,169.8125 Q205.0625,171.9063 205.75,172.9844 Q206.4375,174.0469 207.7813,174.0469 Q208.4063,174.0469 209,173.7813 Q209.5938,173.5 210.2188,172.9219 L210.2188,175.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="16" x="227.75" y="174.1543">A2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="278" y1="186" y2="186"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="278" y1="194" y2="194"/>
<polygon fill="#FFFF44" points="171,200,175,204,171,208,167,204" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="180" y="208.2104">method1() : void</text>
<polygon fill="#FFFF44" points="171,212.8047,175,216.8047,171,220.8047,167,216.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="180" y="221.0151">method2() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L27" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L27" xlink:show="new" xlink:title="method1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="166" y="192"/>
<polygon fill="#FFFF44" points="171,192,175,196,171,200,167,196" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L27" target="_top" title="method1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L27" xlink:show="new" xlink:title="method1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="180" y="200.2104">method1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L28" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L28" xlink:show="new" xlink:title="method2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="166" y="204.8047"/>
<polygon fill="#FFFF44" points="171,204.8047,175,208.8047,171,212.8047,167,208.8047" style="stroke: #B38D22; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L28" target="_top" title="method2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00022/t00022.cc#L28" xlink:show="new" xlink:title="method2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="180" y="213.0151">method2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="278" y1="219.6094" y2="219.6094"/>
<path d="M109.15,111.76 C101.19,126.04 92.92,140.85 85.76,153.7 " fill="none" id="C_0002012435893382068755&lt;-C_0002282061426381077447" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="103.12,108.21,118.98,94.15,115.35,115.03,103.12,108.21" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M175.85,111.76 C183.81,126.04 192.08,140.85 199.24,153.7 " fill="none" id="C_0002012435893382068755&lt;-C_0000158819862916671538" style="stroke: #A80036; stroke-width: 1.0;"/>

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -62,3 +62,374 @@ private:
```
## Generated UML diagrams
![t00023_class](./t00023_class.svg "Strategy pattern")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00023::Strategy",
"id": "1469857696438841976",
"is_abstract": true,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": true,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": true,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "~Strategy",
"parameters": [],
"source_location": {
"column": 13,
"file": "../../tests/t00023/t00023.cc",
"line": 8,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "algorithm",
"parameters": [],
"source_location": {
"column": 18,
"file": "../../tests/t00023/t00023.cc",
"line": 9,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
}
],
"name": "Strategy",
"namespace": "clanguml::t00023",
"source_location": {
"column": 7,
"file": "../../tests/t00023/t00023.cc",
"line": 6,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1469857696438841976",
"is_virtual": false,
"name": "clanguml::t00023::Strategy"
}
],
"display_name": "clanguml::t00023::StrategyA",
"id": "1245533075819635385",
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "algorithm",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00023/t00023.cc",
"line": 14,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
}
],
"name": "StrategyA",
"namespace": "clanguml::t00023",
"source_location": {
"column": 7,
"file": "../../tests/t00023/t00023.cc",
"line": 12,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1469857696438841976",
"is_virtual": false,
"name": "clanguml::t00023::Strategy"
}
],
"display_name": "clanguml::t00023::StrategyB",
"id": "264986406899645",
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "algorithm",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00023/t00023.cc",
"line": 19,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
}
],
"name": "StrategyB",
"namespace": "clanguml::t00023",
"source_location": {
"column": 7,
"file": "../../tests/t00023/t00023.cc",
"line": 17,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1469857696438841976",
"is_virtual": false,
"name": "clanguml::t00023::Strategy"
}
],
"display_name": "clanguml::t00023::StrategyC",
"id": "174795176193483089",
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "algorithm",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00023/t00023.cc",
"line": 24,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
}
],
"name": "StrategyC",
"namespace": "clanguml::t00023",
"source_location": {
"column": 7,
"file": "../../tests/t00023/t00023.cc",
"line": 22,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00023::Context",
"id": "2038594012979479050",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [
{
"access": "private",
"is_static": false,
"name": "m_strategy",
"source_location": {
"column": 31,
"file": "../../tests/t00023/t00023.cc",
"line": 37,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "std::unique_ptr<Strategy>"
}
],
"methods": [
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": true,
"is_copy_assignment": 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": "Context",
"parameters": [
{
"name": "strategy",
"type": "std::unique_ptr<Strategy>"
}
],
"source_location": {
"column": 5,
"file": "../../tests/t00023/t00023.cc",
"line": 29,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "apply",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00023/t00023.cc",
"line": 34,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"type": "void"
}
],
"name": "Context",
"namespace": "clanguml::t00023",
"source_location": {
"column": 7,
"file": "../../tests/t00023/t00023.cc",
"line": 27,
"translation_unit": "../../tests/t00023/t00023.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00023_class",
"relationships": [
{
"access": "public",
"destination": "1469857696438841976",
"source": "1245533075819635385",
"type": "extension"
},
{
"access": "public",
"destination": "1469857696438841976",
"source": "264986406899645",
"type": "extension"
},
{
"access": "public",
"destination": "1469857696438841976",
"source": "174795176193483089",
"type": "extension"
},
{
"access": "private",
"destination": "1469857696438841976",
"label": "m_strategy",
"source": "2038594012979479050",
"type": "aggregation"
}
],
"using_namespace": "clanguml::t00023"
}
```

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="377px" preserveAspectRatio="none" style="width:456px;height:377px;" version="1.1" viewBox="0 0 456 377" width="456px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="393px" preserveAspectRatio="none" style="width:456px;height:393px;" version="1.1" viewBox="0 0 456 393" width="456px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fsyy5ve86eyb4" width="300%" x="-1" y="-1">
<filter height="300%" id="f11gqde5ml8r4d" 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"/>
@@ -9,78 +9,113 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L6" target="_top" title="Strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L6" xlink:show="new" xlink:title="Strategy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsyy5ve86eyb4)" height="73.6094" id="C_0001469857696438841976" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="134.5" y="171"/>
<ellipse cx="194.25" cy="187" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M194.3594,182.3438 L193.2031,187.4219 L195.5313,187.4219 L194.3594,182.3438 Z M192.875,180.1094 L195.8594,180.1094 L199.2188,192.5 L196.7656,192.5 L196,189.4375 L192.7188,189.4375 L191.9688,192.5 L189.5313,192.5 L192.875,180.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="54" x="214.75" y="191.1543">Strategy</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="315.5" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="315.5" y1="211" y2="211"/>
<ellipse cx="145.5" cy="222" 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="156" x="154.5" y="225.2104">~Strategy() = default : void</text>
<ellipse cx="145.5" cy="234.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="122" x="154.5" y="238.0151">algorithm() = 0 : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L6" target="_top" title="Strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L6" xlink:show="new" xlink:title="Strategy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f11gqde5ml8r4d)" height="81.6094" id="C_0001469857696438841976" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="104.5" y="179"/>
<ellipse cx="194.25" cy="195" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M194.3594,190.3438 L193.2031,195.4219 L195.5313,195.4219 L194.3594,190.3438 Z M192.875,188.1094 L195.8594,188.1094 L199.2188,200.5 L196.7656,200.5 L196,197.4375 L192.7188,197.4375 L191.9688,200.5 L189.5313,200.5 L192.875,188.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="54" x="214.75" y="199.1543">Strategy</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="105.5" x2="345.5" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L12" target="_top" title="StrategyA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L12" xlink:show="new" xlink:title="StrategyA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsyy5ve86eyb4)" height="60.8047" id="C_0001245533075819635385" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="6" y="306"/>
<ellipse cx="34.5" cy="322" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M37.4688,327.6406 Q36.8906,327.9375 36.25,328.0781 Q35.6094,328.2344 34.9063,328.2344 Q32.4063,328.2344 31.0781,326.5938 Q29.7656,324.9375 29.7656,321.8125 Q29.7656,318.6875 31.0781,317.0313 Q32.4063,315.375 34.9063,315.375 Q35.6094,315.375 36.25,315.5313 Q36.9063,315.6875 37.4688,315.9844 L37.4688,318.7031 Q36.8438,318.125 36.25,317.8594 Q35.6563,317.5781 35.0313,317.5781 Q33.6875,317.5781 33,318.6563 Q32.3125,319.7188 32.3125,321.8125 Q32.3125,323.9063 33,324.9844 Q33.6875,326.0469 35.0313,326.0469 Q35.6563,326.0469 36.25,325.7813 Q36.8438,325.5 37.4688,324.9219 L37.4688,327.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="51.5" y="326.1543">StrategyA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="128" y1="338" y2="338"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="128" y1="346" y2="346"/>
<ellipse cx="17" cy="357" 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="97" x="26" y="360.2104">algorithm() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L8" target="_top" title="~Strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L8" xlink:show="new" xlink:title="~Strategy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="110.5" y="217"/>
<ellipse cx="115.5" cy="222" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L17" target="_top" title="StrategyB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L17" xlink:show="new" xlink:title="StrategyB" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsyy5ve86eyb4)" height="60.8047" id="C_0000000264986406899645" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="164" y="306"/>
<ellipse cx="192.5" cy="322" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M195.4688,327.6406 Q194.8906,327.9375 194.25,328.0781 Q193.6094,328.2344 192.9063,328.2344 Q190.4063,328.2344 189.0781,326.5938 Q187.7656,324.9375 187.7656,321.8125 Q187.7656,318.6875 189.0781,317.0313 Q190.4063,315.375 192.9063,315.375 Q193.6094,315.375 194.25,315.5313 Q194.9063,315.6875 195.4688,315.9844 L195.4688,318.7031 Q194.8438,318.125 194.25,317.8594 Q193.6563,317.5781 193.0313,317.5781 Q191.6875,317.5781 191,318.6563 Q190.3125,319.7188 190.3125,321.8125 Q190.3125,323.9063 191,324.9844 Q191.6875,326.0469 193.0313,326.0469 Q193.6563,326.0469 194.25,325.7813 Q194.8438,325.5 195.4688,324.9219 L195.4688,327.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="209.5" y="326.1543">StrategyB</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="165" x2="286" y1="338" y2="338"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="165" x2="286" y1="346" y2="346"/>
<ellipse cx="175" cy="357" 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="97" x="184" y="360.2104">algorithm() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L8" target="_top" title="~Strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L8" xlink:show="new" xlink:title="~Strategy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="216" x="124.5" y="225.2104">~Strategy() constexpr = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L22" target="_top" title="StrategyC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L22" xlink:show="new" xlink:title="StrategyC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsyy5ve86eyb4)" height="60.8047" id="C_0000174795176193483089" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="322" y="306"/>
<ellipse cx="350.5" cy="322" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M353.4688,327.6406 Q352.8906,327.9375 352.25,328.0781 Q351.6094,328.2344 350.9063,328.2344 Q348.4063,328.2344 347.0781,326.5938 Q345.7656,324.9375 345.7656,321.8125 Q345.7656,318.6875 347.0781,317.0313 Q348.4063,315.375 350.9063,315.375 Q351.6094,315.375 352.25,315.5313 Q352.9063,315.6875 353.4688,315.9844 L353.4688,318.7031 Q352.8438,318.125 352.25,317.8594 Q351.6563,317.5781 351.0313,317.5781 Q349.6875,317.5781 349,318.6563 Q348.3125,319.7188 348.3125,321.8125 Q348.3125,323.9063 349,324.9844 Q349.6875,326.0469 351.0313,326.0469 Q351.6563,326.0469 352.25,325.7813 Q352.8438,325.5 353.4688,324.9219 L353.4688,327.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="367.5" y="326.1543">StrategyC</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="323" x2="444" y1="338" y2="338"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="323" x2="444" y1="346" y2="346"/>
<ellipse cx="333" cy="357" 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="97" x="342" y="360.2104">algorithm() : void</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="105.5" x2="345.5" y1="231.8047" y2="231.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L9" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L9" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="110.5" y="237.8047"/>
<ellipse cx="115.5" cy="242.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L27" target="_top" title="Context" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L27" xlink:show="new" xlink:title="Context" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsyy5ve86eyb4)" height="86.4141" id="C_0002038594012979479050" style="stroke: #A80036; stroke-width: 1.5;" width="315" x="68" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L9" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L9" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="122" x="124.5" y="246.0151">algorithm() = 0 : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="105.5" x2="345.5" y1="252.6094" y2="252.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L12" target="_top" title="StrategyA" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L12" xlink:show="new" xlink:title="StrategyA" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f11gqde5ml8r4d)" height="60.8047" id="C_0001245533075819635385" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="6" y="322"/>
<ellipse cx="34.5" cy="338" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M37.4688,343.6406 Q36.8906,343.9375 36.25,344.0781 Q35.6094,344.2344 34.9063,344.2344 Q32.4063,344.2344 31.0781,342.5938 Q29.7656,340.9375 29.7656,337.8125 Q29.7656,334.6875 31.0781,333.0313 Q32.4063,331.375 34.9063,331.375 Q35.6094,331.375 36.25,331.5313 Q36.9063,331.6875 37.4688,331.9844 L37.4688,334.7031 Q36.8438,334.125 36.25,333.8594 Q35.6563,333.5781 35.0313,333.5781 Q33.6875,333.5781 33,334.6563 Q32.3125,335.7188 32.3125,337.8125 Q32.3125,339.9063 33,340.9844 Q33.6875,342.0469 35.0313,342.0469 Q35.6563,342.0469 36.25,341.7813 Q36.8438,341.5 37.4688,340.9219 L37.4688,343.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="51.5" y="342.1543">StrategyA</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="128" y1="354" y2="354"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L14" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L14" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="360"/>
<ellipse cx="17" cy="365" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L14" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L14" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="26" y="368.2104">algorithm() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="128" y1="374.8047" y2="374.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L17" target="_top" title="StrategyB" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L17" xlink:show="new" xlink:title="StrategyB" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f11gqde5ml8r4d)" height="60.8047" id="C_0000000264986406899645" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="164" y="322"/>
<ellipse cx="192.5" cy="338" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M195.4688,343.6406 Q194.8906,343.9375 194.25,344.0781 Q193.6094,344.2344 192.9063,344.2344 Q190.4063,344.2344 189.0781,342.5938 Q187.7656,340.9375 187.7656,337.8125 Q187.7656,334.6875 189.0781,333.0313 Q190.4063,331.375 192.9063,331.375 Q193.6094,331.375 194.25,331.5313 Q194.9063,331.6875 195.4688,331.9844 L195.4688,334.7031 Q194.8438,334.125 194.25,333.8594 Q193.6563,333.5781 193.0313,333.5781 Q191.6875,333.5781 191,334.6563 Q190.3125,335.7188 190.3125,337.8125 Q190.3125,339.9063 191,340.9844 Q191.6875,342.0469 193.0313,342.0469 Q193.6563,342.0469 194.25,341.7813 Q194.8438,341.5 195.4688,340.9219 L195.4688,343.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="209.5" y="342.1543">StrategyB</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="165" x2="286" y1="354" y2="354"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L19" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L19" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="170" y="360"/>
<ellipse cx="175" cy="365" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L19" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L19" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="184" y="368.2104">algorithm() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="165" x2="286" y1="374.8047" y2="374.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L22" target="_top" title="StrategyC" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L22" xlink:show="new" xlink:title="StrategyC" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f11gqde5ml8r4d)" height="60.8047" id="C_0000174795176193483089" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="322" y="322"/>
<ellipse cx="350.5" cy="338" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M353.4688,343.6406 Q352.8906,343.9375 352.25,344.0781 Q351.6094,344.2344 350.9063,344.2344 Q348.4063,344.2344 347.0781,342.5938 Q345.7656,340.9375 345.7656,337.8125 Q345.7656,334.6875 347.0781,333.0313 Q348.4063,331.375 350.9063,331.375 Q351.6094,331.375 352.25,331.5313 Q352.9063,331.6875 353.4688,331.9844 L353.4688,334.7031 Q352.8438,334.125 352.25,333.8594 Q351.6563,333.5781 351.0313,333.5781 Q349.6875,333.5781 349,334.6563 Q348.3125,335.7188 348.3125,337.8125 Q348.3125,339.9063 349,340.9844 Q349.6875,342.0469 351.0313,342.0469 Q351.6563,342.0469 352.25,341.7813 Q352.8438,341.5 353.4688,340.9219 L353.4688,343.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="367.5" y="342.1543">StrategyC</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="323" x2="444" y1="354" y2="354"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L24" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L24" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="328" y="360"/>
<ellipse cx="333" cy="365" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L24" target="_top" title="algorithm" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L24" xlink:show="new" xlink:title="algorithm" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="342" y="368.2104">algorithm() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="323" x2="444" y1="374.8047" y2="374.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L27" target="_top" title="Context" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L27" xlink:show="new" xlink:title="Context" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f11gqde5ml8r4d)" height="94.4141" id="C_0002038594012979479050" style="stroke: #A80036; stroke-width: 1.5;" width="315" x="68" y="8"/>
<ellipse cx="197.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M200.2188,29.6406 Q199.6406,29.9375 199,30.0781 Q198.3594,30.2344 197.6563,30.2344 Q195.1563,30.2344 193.8281,28.5938 Q192.5156,26.9375 192.5156,23.8125 Q192.5156,20.6875 193.8281,19.0313 Q195.1563,17.375 197.6563,17.375 Q198.3594,17.375 199,17.5313 Q199.6563,17.6875 200.2188,17.9844 L200.2188,20.7031 Q199.5938,20.125 199,19.8594 Q198.4063,19.5781 197.7813,19.5781 Q196.4375,19.5781 195.75,20.6563 Q195.0625,21.7188 195.0625,23.8125 Q195.0625,25.9063 195.75,26.9844 Q196.4375,28.0469 197.7813,28.0469 Q198.4063,28.0469 199,27.7813 Q199.5938,27.5 200.2188,26.9219 L200.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="217.75" y="28.1543">Context</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="69" x2="382" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L37" target="_top" title="m_strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L37" xlink:show="new" xlink:title="m_strategy" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L29" target="_top" title="Context" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L29" xlink:show="new" xlink:title="Context" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="74" y="46"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="76" y="48"/>
<ellipse cx="79" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L37" target="_top" title="m_strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00023/t00023.cc#L37" xlink:show="new" xlink:title="m_strategy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="88" y="54.2104">m_strategy : std::unique_ptr&lt;Strategy&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L29" target="_top" title="Context" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L29" xlink:show="new" xlink:title="Context" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="289" x="88" y="54.2104">Context(std::unique_ptr&lt;Strategy&gt; strategy) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="69" x2="382" y1="60.8047" y2="60.8047"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="69" x2="382" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L34" target="_top" title="apply" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L34" xlink:show="new" xlink:title="apply" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="74" y="66.8047"/>
<ellipse cx="79" 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" lengthAdjust="spacingAndGlyphs" textLength="289" x="88" y="75.0151">Context(std::unique_ptr&lt;Strategy&gt; strategy) : void</text>
<ellipse cx="79" cy="84.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="88" y="87.8198">apply() : void</text>
<path d="M164.47,257.86 C144.26,274.05 122.38,291.56 104.53,305.85 " fill="none" id="C_0001469857696438841976&lt;-C_0001245533075819635385" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="160.24,252.29,180.22,245.25,168.99,263.21,160.24,252.29" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M225.5,265.55 C225.5,279.38 225.5,293.64 225.5,305.64 " fill="none" id="C_0001469857696438841976&lt;-C_0000000264986406899645" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="218.5,265.25,225.5,245.25,232.5,265.25,218.5,265.25" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M286.53,257.86 C306.74,274.05 328.62,291.56 346.47,305.85 " fill="none" id="C_0001469857696438841976&lt;-C_0000174795176193483089" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="282.01,263.21,270.78,245.25,290.76,252.29,282.01,263.21" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M219.92,94.08 C218.55,108.9 217.69,125.68 218.5,141 C218.92,149 219.63,157.53 220.44,165.71 " fill="none" id="C_0002038594012979479050-&gt;C_0001469857696438841976" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="220.96,170.74,224.0127,161.3762,220.4455,165.7665,216.0551,162.1994,220.96,170.74" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M225.5,107.43 C225.5,128.49 225.5,151.91 225.5,170.75 " fill="none" id="C_0002038594012979479050&lt;-C_0001469857696438841976" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="225.5,94.35,221.5,100.35,225.5,106.35,229.5,100.35,225.5,94.35" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="228.5" y="130.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="238.5" y="137.0669">m_strategy</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L34" target="_top" title="apply" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L34" xlink:show="new" xlink:title="apply" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="88" y="75.0151">apply() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="69" x2="382" y1="81.6094" y2="81.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L37" target="_top" title="m_strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L37" xlink:show="new" xlink:title="m_strategy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="74" y="87.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="76" y="89.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L37" target="_top" title="m_strategy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00023/t00023.cc#L37" xlink:show="new" xlink:title="m_strategy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="88" y="95.8198">m_strategy : std::unique_ptr&lt;Strategy&gt;</text>
</a>
<path d="M161.3,274.03 C141.49,290.39 120.4,307.81 103.24,321.98 " fill="none" id="C_0001469857696438841976&lt;-C_0001245533075819635385" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="156.93,268.56,176.81,261.22,165.84,279.35,156.93,268.56" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M225.5,281.37 C225.5,295.49 225.5,309.91 225.5,321.98 " fill="none" id="C_0001469857696438841976&lt;-C_0000000264986406899645" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="218.5,281.22,225.5,261.22,232.5,281.22,218.5,281.22" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M289.7,274.03 C309.51,290.39 330.6,307.81 347.76,321.98 " fill="none" id="C_0001469857696438841976&lt;-C_0000174795176193483089" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="285.16,279.35,274.19,261.22,294.07,268.56,285.16,279.35" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M225.5,115.44 C225.5,136.58 225.5,159.86 225.5,178.98 " fill="none" id="C_0002038594012979479050&lt;-C_0001469857696438841976" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="225.5,102.27,221.5,108.27,225.5,114.27,229.5,108.27,225.5,102.27" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="228.5" y="138.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="238.5" y="145.0669">m_strategy</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -61,3 +61,426 @@ private:
```
## Generated UML diagrams
![t00024_class](./t00024_class.svg "Proxy pattern")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00024::Target",
"id": "1116408959993110019",
"is_abstract": true,
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "~Target",
"parameters": [],
"source_location": {
"column": 13,
"file": "../../tests/t00024/t00024.cc",
"line": 8,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "m1",
"parameters": [],
"source_location": {
"column": 18,
"file": "../../tests/t00024/t00024.cc",
"line": 10,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": false,
"is_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": true,
"is_static": false,
"is_virtual": true,
"name": "m2",
"parameters": [],
"source_location": {
"column": 18,
"file": "../../tests/t00024/t00024.cc",
"line": 11,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
}
],
"name": "Target",
"namespace": "clanguml::t00024",
"source_location": {
"column": 7,
"file": "../../tests/t00024/t00024.cc",
"line": 6,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1116408959993110019",
"is_virtual": false,
"name": "clanguml::t00024::Target"
}
],
"display_name": "clanguml::t00024::Target1",
"id": "669517069151826610",
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 16,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 17,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
}
],
"name": "Target1",
"namespace": "clanguml::t00024",
"source_location": {
"column": 7,
"file": "../../tests/t00024/t00024.cc",
"line": 14,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1116408959993110019",
"is_virtual": false,
"name": "clanguml::t00024::Target"
}
],
"display_name": "clanguml::t00024::Target2",
"id": "1210513233906695933",
"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_defaulted": false,
"is_deleted": false,
"is_move_assignment": false,
"is_noexcept": false,
"is_operator": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": true,
"name": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 22,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 23,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
}
],
"name": "Target2",
"namespace": "clanguml::t00024",
"source_location": {
"column": 7,
"file": "../../tests/t00024/t00024.cc",
"line": 20,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [
{
"access": "public",
"id": "1116408959993110019",
"is_virtual": false,
"name": "clanguml::t00024::Target"
}
],
"display_name": "clanguml::t00024::Proxy",
"id": "594707401639991215",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [
{
"access": "private",
"is_static": false,
"name": "m_target",
"source_location": {
"column": 29,
"file": "../../tests/t00024/t00024.cc",
"line": 36,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "std::shared_ptr<Target>"
}
],
"methods": [
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": true,
"is_copy_assignment": 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": "Proxy",
"parameters": [
{
"name": "target",
"type": "std::shared_ptr<Target>"
}
],
"source_location": {
"column": 5,
"file": "../../tests/t00024/t00024.cc",
"line": 28,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 32,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": true,
"name": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00024/t00024.cc",
"line": 33,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"type": "void"
}
],
"name": "Proxy",
"namespace": "clanguml::t00024",
"source_location": {
"column": 7,
"file": "../../tests/t00024/t00024.cc",
"line": 26,
"translation_unit": "../../tests/t00024/t00024.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00024_class",
"relationships": [
{
"access": "public",
"destination": "1116408959993110019",
"source": "669517069151826610",
"type": "extension"
},
{
"access": "public",
"destination": "1116408959993110019",
"source": "1210513233906695933",
"type": "extension"
},
{
"access": "private",
"destination": "1116408959993110019",
"label": "m_target",
"source": "594707401639991215",
"type": "association"
},
{
"access": "public",
"destination": "1116408959993110019",
"source": "594707401639991215",
"type": "extension"
}
],
"using_namespace": "clanguml::t00024"
}
```

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="281px" preserveAspectRatio="none" style="width:542px;height:281px;" version="1.1" viewBox="0 0 542 281" width="542px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="297px" preserveAspectRatio="none" style="width:542px;height:297px;" version="1.1" viewBox="0 0 542 297" width="542px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fogo7unmtkvpv" width="300%" x="-1" y="-1">
<filter height="300%" id="faxgimfdjksec" 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"/>
@@ -9,76 +9,126 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L6" target="_top" title="Target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L6" xlink:show="new" xlink:title="Target" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fogo7unmtkvpv)" height="86.4141" id="C_0001116408959993110019" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="245.5" y="8"/>
<ellipse cx="290.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M290.8594,19.3438 L289.7031,24.4219 L292.0313,24.4219 L290.8594,19.3438 Z M289.375,17.1094 L292.3594,17.1094 L295.7188,29.5 L293.2656,29.5 L292.5,26.4375 L289.2188,26.4375 L288.4688,29.5 L286.0313,29.5 L289.375,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="311.25" y="28.1543">Target</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="246.5" x2="384.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="246.5" x2="384.5" y1="48" y2="48"/>
<ellipse cx="256.5" 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="114" x="265.5" y="62.2104">~Target() = 0 : void</text>
<ellipse cx="256.5" 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="86" x="265.5" y="75.0151">m1() = 0 : void</text>
<ellipse cx="256.5" cy="84.6094" 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="86" x="265.5" y="87.8198">m2() = 0 : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L6" target="_top" title="Target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L6" xlink:show="new" xlink:title="Target" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#faxgimfdjksec)" height="94.4141" id="C_0001116408959993110019" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="136.5" y="8"/>
<ellipse cx="181.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M181.8594,19.3438 L180.7031,24.4219 L183.0313,24.4219 L181.8594,19.3438 Z M180.375,17.1094 L183.3594,17.1094 L186.7188,29.5 L184.2656,29.5 L183.5,26.4375 L180.2188,26.4375 L179.4688,29.5 L177.0313,29.5 L180.375,17.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="202.25" y="28.1543">Target</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="137.5" x2="275.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L14" target="_top" title="Target1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L14" xlink:show="new" xlink:title="Target1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fogo7unmtkvpv)" height="73.6094" id="C_0000669517069151826610" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="6" y="183.5"/>
<ellipse cx="23.7" cy="199.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M26.6688,205.1406 Q26.0906,205.4375 25.45,205.5781 Q24.8094,205.7344 24.1063,205.7344 Q21.6063,205.7344 20.2781,204.0938 Q18.9656,202.4375 18.9656,199.3125 Q18.9656,196.1875 20.2781,194.5313 Q21.6063,192.875 24.1063,192.875 Q24.8094,192.875 25.45,193.0313 Q26.1063,193.1875 26.6688,193.4844 L26.6688,196.2031 Q26.0438,195.625 25.45,195.3594 Q24.8563,195.0781 24.2313,195.0781 Q22.8875,195.0781 22.2,196.1563 Q21.5125,197.2188 21.5125,199.3125 Q21.5125,201.4063 22.2,202.4844 Q22.8875,203.5469 24.2313,203.5469 Q24.8563,203.5469 25.45,203.2813 Q26.0438,203 26.6688,202.4219 L26.6688,205.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="38.3" y="203.6543">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="215.5" y2="215.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="223.5" y2="223.5"/>
<ellipse cx="17" cy="234.5" 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="26" y="237.7104">m1() : void</text>
<ellipse cx="17" cy="247.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="61" x="26" y="250.5151">m2() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L8" target="_top" title="~Target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L8" xlink:show="new" xlink:title="~Target" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="142.5" y="46"/>
<ellipse cx="147.5" cy="51" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L20" target="_top" title="Target2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L20" xlink:show="new" xlink:title="Target2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fogo7unmtkvpv)" height="73.6094" id="C_0001210513233906695933" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="128" y="183.5"/>
<ellipse cx="145.7" cy="199.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M148.6688,205.1406 Q148.0906,205.4375 147.45,205.5781 Q146.8094,205.7344 146.1063,205.7344 Q143.6063,205.7344 142.2781,204.0938 Q140.9656,202.4375 140.9656,199.3125 Q140.9656,196.1875 142.2781,194.5313 Q143.6063,192.875 146.1063,192.875 Q146.8094,192.875 147.45,193.0313 Q148.1063,193.1875 148.6688,193.4844 L148.6688,196.2031 Q148.0438,195.625 147.45,195.3594 Q146.8563,195.0781 146.2313,195.0781 Q144.8875,195.0781 144.2,196.1563 Q143.5125,197.2188 143.5125,199.3125 Q143.5125,201.4063 144.2,202.4844 Q144.8875,203.5469 146.2313,203.5469 Q146.8563,203.5469 147.45,203.2813 Q148.0438,203 148.6688,202.4219 L148.6688,205.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="160.3" y="203.6543">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="214" y1="215.5" y2="215.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="214" y1="223.5" y2="223.5"/>
<ellipse cx="139" cy="234.5" 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="148" y="237.7104">m1() : void</text>
<ellipse cx="139" cy="247.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="61" x="148" y="250.5151">m2() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L8" target="_top" title="~Target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L8" xlink:show="new" xlink:title="~Target" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="114" x="156.5" y="54.2104">~Target() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L26" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L26" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fogo7unmtkvpv)" height="99.2188" id="C_0000594707401639991215" style="stroke: #A80036; stroke-width: 1.5;" width="281" x="250" y="171"/>
<ellipse cx="369.75" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M372.7188,192.6406 Q372.1406,192.9375 371.5,193.0781 Q370.8594,193.2344 370.1563,193.2344 Q367.6563,193.2344 366.3281,191.5938 Q365.0156,189.9375 365.0156,186.8125 Q365.0156,183.6875 366.3281,182.0313 Q367.6563,180.375 370.1563,180.375 Q370.8594,180.375 371.5,180.5313 Q372.1563,180.6875 372.7188,180.9844 L372.7188,183.7031 Q372.0938,183.125 371.5,182.8594 Q370.9063,182.5781 370.2813,182.5781 Q368.9375,182.5781 368.25,183.6563 Q367.5625,184.7188 367.5625,186.8125 Q367.5625,188.9063 368.25,189.9844 Q368.9375,191.0469 370.2813,191.0469 Q370.9063,191.0469 371.5,190.7813 Q372.0938,190.5 372.7188,189.9219 L372.7188,192.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="390.25" y="191.1543">Proxy</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="530" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="137.5" x2="275.5" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L10" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L10" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="142.5" y="66.8047"/>
<ellipse cx="147.5" cy="71.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L36" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L36" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="256" y="209"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="258" y="211"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L10" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L10" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="86" x="156.5" y="75.0151">m1() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L36" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00024/t00024.cc#L36" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="206" x="270" y="217.2104">m_target : std::shared_ptr&lt;Target&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L11" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L11" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="142.5" y="79.6094"/>
<ellipse cx="147.5" cy="84.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="530" y1="223.8047" y2="223.8047"/>
<ellipse cx="261" cy="234.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="255" x="270" y="238.0151">Proxy(std::shared_ptr&lt;Target&gt; target) : void</text>
<ellipse cx="261" cy="247.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="61" x="270" y="250.8198">m1() : void</text>
<ellipse cx="261" cy="260.4141" 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="270" y="263.6245">m2() : void</text>
<path d="M227.57,99.31 C190.66,120.12 147.74,145.58 110.5,171 C104.8,174.89 98.95,179.15 93.24,183.49 " fill="none" id="C_0001116408959993110019&lt;-C_0000669517069151826610" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="224.28,93.13,245.16,89.49,231.11,105.36,224.28,93.13" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M265.83,109.78 C244.79,134.25 220.92,162.02 202.46,183.49 " fill="none" id="C_0001116408959993110019&lt;-C_0001210513233906695933" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="260.82,104.87,279.16,94.27,271.43,114,260.82,104.87" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M385.71,170.98 C381.56,161.08 376.86,150.71 372.5,141 C366.36,127.31 359.78,112.39 353.05,98.74 " fill="none" id="C_0000594707401639991215-&gt;C_0001116408959993110019" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="350.76,94.17,351.1946,104.0093,352.9903,98.645,358.3546,100.4407,350.76,94.17" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M371.37,170.61 C365.25,155.56 358.3,139.01 351.5,124 C347.75,115.73 343.59,107.02 339.46,98.63 " fill="none" id="C_0000594707401639991215-&gt;C_0001116408959993110019-1" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="337.17,94,337.5669,103.8409,339.3832,98.4835,344.7405,100.2997,337.17,94" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="360.5" y="130.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="370.5" y="137.0669">m_target</text>
<path d="M325.26,112.97 C329.19,122.37 333.44,131.95 337.5,141 C341.86,150.71 346.56,161.08 351.46,170.98 " fill="none" id="C_0001116408959993110019&lt;-C_0000594707401639991215" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="318.67,115.34,317.79,94.17,331.68,110.17,318.67,115.34" style="stroke: #A80036; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L11" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L11" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="86" x="156.5" y="87.8198">m2() = 0 : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="137.5" x2="275.5" y1="94.4141" y2="94.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L14" target="_top" title="Target1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L14" xlink:show="new" xlink:title="Target1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#faxgimfdjksec)" height="73.6094" id="C_0000669517069151826610" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="6" y="195.5"/>
<ellipse cx="23.7" cy="211.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M26.6688,217.1406 Q26.0906,217.4375 25.45,217.5781 Q24.8094,217.7344 24.1063,217.7344 Q21.6063,217.7344 20.2781,216.0938 Q18.9656,214.4375 18.9656,211.3125 Q18.9656,208.1875 20.2781,206.5313 Q21.6063,204.875 24.1063,204.875 Q24.8094,204.875 25.45,205.0313 Q26.1063,205.1875 26.6688,205.4844 L26.6688,208.2031 Q26.0438,207.625 25.45,207.3594 Q24.8563,207.0781 24.2313,207.0781 Q22.8875,207.0781 22.2,208.1563 Q21.5125,209.2188 21.5125,211.3125 Q21.5125,213.4063 22.2,214.4844 Q22.8875,215.5469 24.2313,215.5469 Q24.8563,215.5469 25.45,215.2813 Q26.0438,215 26.6688,214.4219 L26.6688,217.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="38.3" y="215.6543">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="227.5" y2="227.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L16" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L16" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="233.5"/>
<ellipse cx="17" cy="238.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L16" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L16" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="26" y="241.7104">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L17" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L17" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="246.3047"/>
<ellipse cx="17" cy="251.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L17" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L17" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="26" y="254.5151">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="261.1094" y2="261.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L20" target="_top" title="Target2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L20" xlink:show="new" xlink:title="Target2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#faxgimfdjksec)" height="73.6094" id="C_0001210513233906695933" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="128" y="195.5"/>
<ellipse cx="145.7" cy="211.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M148.6688,217.1406 Q148.0906,217.4375 147.45,217.5781 Q146.8094,217.7344 146.1063,217.7344 Q143.6063,217.7344 142.2781,216.0938 Q140.9656,214.4375 140.9656,211.3125 Q140.9656,208.1875 142.2781,206.5313 Q143.6063,204.875 146.1063,204.875 Q146.8094,204.875 147.45,205.0313 Q148.1063,205.1875 148.6688,205.4844 L148.6688,208.2031 Q148.0438,207.625 147.45,207.3594 Q146.8563,207.0781 146.2313,207.0781 Q144.8875,207.0781 144.2,208.1563 Q143.5125,209.2188 143.5125,211.3125 Q143.5125,213.4063 144.2,214.4844 Q144.8875,215.5469 146.2313,215.5469 Q146.8563,215.5469 147.45,215.2813 Q148.0438,215 148.6688,214.4219 L148.6688,217.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="160.3" y="215.6543">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="214" y1="227.5" y2="227.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L22" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L22" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="233.5"/>
<ellipse cx="139" cy="238.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L22" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L22" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="148" y="241.7104">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L23" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L23" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="246.3047"/>
<ellipse cx="139" cy="251.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L23" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L23" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="148" y="254.5151">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="214" y1="261.1094" y2="261.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L26" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L26" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#faxgimfdjksec)" height="107.2188" id="C_0000594707401639991215" style="stroke: #A80036; stroke-width: 1.5;" width="281" x="250" y="179"/>
<ellipse cx="369.75" cy="195" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M372.7188,200.6406 Q372.1406,200.9375 371.5,201.0781 Q370.8594,201.2344 370.1563,201.2344 Q367.6563,201.2344 366.3281,199.5938 Q365.0156,197.9375 365.0156,194.8125 Q365.0156,191.6875 366.3281,190.0313 Q367.6563,188.375 370.1563,188.375 Q370.8594,188.375 371.5,188.5313 Q372.1563,188.6875 372.7188,188.9844 L372.7188,191.7031 Q372.0938,191.125 371.5,190.8594 Q370.9063,190.5781 370.2813,190.5781 Q368.9375,190.5781 368.25,191.6563 Q367.5625,192.7188 367.5625,194.8125 Q367.5625,196.9063 368.25,197.9844 Q368.9375,199.0469 370.2813,199.0469 Q370.9063,199.0469 371.5,198.7813 Q372.0938,198.5 372.7188,197.9219 L372.7188,200.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="390.25" y="199.1543">Proxy</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="530" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L28" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L28" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="256" y="217"/>
<ellipse cx="261" cy="222" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L28" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L28" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="255" x="270" y="225.2104">Proxy(std::shared_ptr&lt;Target&gt; target) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="251" x2="530" y1="231.8047" y2="231.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L32" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L32" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="256" y="237.8047"/>
<ellipse cx="261" cy="242.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L32" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L32" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="270" y="246.0151">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L33" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L33" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="256" y="250.6094"/>
<ellipse cx="261" cy="255.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L33" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L33" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="270" y="258.8198">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="530" y1="265.4141" y2="265.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L36" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L36" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="256" y="271.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="258" y="273.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L36" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00024/t00024.cc#L36" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="206" x="270" y="279.6245">m_target : std::shared_ptr&lt;Target&gt;</text>
</a>
<path d="M151.91,117.02 C128.52,143.17 102,172.81 81.81,195.39 " fill="none" id="C_0001116408959993110019&lt;-C_0000669517069151826610" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="146.7,112.35,165.25,102.11,157.13,121.68,146.7,112.35" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M193.37,121.82 C188.4,146.74 182.93,174.19 178.7,195.39 " fill="none" id="C_0001116408959993110019&lt;-C_0001210513233906695933" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="186.53,120.36,197.3,102.11,200.26,123.09,186.53,120.36" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M335.33,178.87 C311.02,155.69 282.6,128.58 258.65,105.74 " fill="none" id="C_0000594707401639991215-&gt;C_0001116408959993110019" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="254.84,102.11,258.5789,111.2216,258.4532,105.5661,264.1087,105.4404,254.84,102.11" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="301.5" y="138.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="311.5" y="145.0669">m_target</text>
<path d="M250.78,118.21 C259.47,128.93 268.89,139.62 278.5,149 C289.13,159.38 301.11,169.53 313.19,178.96 " fill="none" id="C_0001116408959993110019&lt;-C_0000594707401639991215" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="244.99,122.17,238.2,102.1,256.03,113.56,244.99,122.17" style="stroke: #A80036; stroke-width: 1.0;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -59,3 +59,432 @@ public:
```
## Generated UML diagrams
![t00025_class](./t00025_class.svg "Template proxy pattern")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00025::Target1",
"id": "1573849034571194138",
"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_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": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 8,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 9,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
}
],
"name": "Target1",
"namespace": "clanguml::t00025",
"source_location": {
"column": 7,
"file": "../../tests/t00025/t00025.cc",
"line": 6,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00025::Target2",
"id": "751896409461834669",
"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_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": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 14,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 15,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
}
],
"name": "Target2",
"namespace": "clanguml::t00025",
"source_location": {
"column": 7,
"file": "../../tests/t00025/t00025.cc",
"line": 12,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00025::Proxy<T>",
"id": "1483353300536405088",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [
{
"access": "private",
"is_static": false,
"name": "m_target",
"source_location": {
"column": 24,
"file": "../../tests/t00025/t00025.cc",
"line": 28,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "std::shared_ptr<T>"
}
],
"methods": [
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": true,
"is_copy_assignment": 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": "Proxy",
"parameters": [
{
"name": "target",
"type": "std::shared_ptr<T>"
}
],
"source_location": {
"column": 5,
"file": "../../tests/t00025/t00025.cc",
"line": 20,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "m1",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 24,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
},
{
"access": "public",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": false,
"is_copy_assignment": 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": "m2",
"parameters": [],
"source_location": {
"column": 10,
"file": "../../tests/t00025/t00025.cc",
"line": 25,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "void"
}
],
"name": "Proxy",
"namespace": "clanguml::t00025",
"source_location": {
"column": 29,
"file": "../../tests/t00025/t00025.cc",
"line": 18,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "template_type",
"name": "T",
"template_parameters": []
}
],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00025::Proxy<clanguml::t00025::Target1>",
"id": "1644966842838139424",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [],
"methods": [],
"name": "Proxy",
"namespace": "clanguml::t00025",
"source_location": {
"column": 29,
"file": "../../tests/t00025/t00025.cc",
"line": 18,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "argument",
"template_parameters": [],
"type": "clanguml::t00025::Target1"
}
],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00025::Proxy<clanguml::t00025::Target2>",
"id": "1190103100236298763",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [],
"methods": [],
"name": "Proxy",
"namespace": "clanguml::t00025",
"source_location": {
"column": 29,
"file": "../../tests/t00025/t00025.cc",
"line": 18,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "argument",
"template_parameters": [],
"type": "clanguml::t00025::Target2"
}
],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00025::ProxyHolder",
"id": "1906317303950647748",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "proxy1",
"source_location": {
"column": 20,
"file": "../../tests/t00025/t00025.cc",
"line": 33,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "Proxy<clanguml::t00025::Target1>"
},
{
"access": "public",
"is_static": false,
"name": "proxy2",
"source_location": {
"column": 20,
"file": "../../tests/t00025/t00025.cc",
"line": 34,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"type": "Proxy<clanguml::t00025::Target2>"
}
],
"methods": [],
"name": "ProxyHolder",
"namespace": "clanguml::t00025",
"source_location": {
"column": 7,
"file": "../../tests/t00025/t00025.cc",
"line": 31,
"translation_unit": "../../tests/t00025/t00025.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00025_class",
"relationships": [
{
"access": "public",
"destination": "1573849034571194138",
"source": "1644966842838139424",
"type": "dependency"
},
{
"access": "public",
"destination": "1483353300536405088",
"source": "1644966842838139424",
"type": "instantiation"
},
{
"access": "public",
"destination": "751896409461834669",
"source": "1190103100236298763",
"type": "dependency"
},
{
"access": "public",
"destination": "1483353300536405088",
"source": "1190103100236298763",
"type": "instantiation"
},
{
"access": "public",
"destination": "1644966842838139424",
"label": "proxy1",
"source": "1906317303950647748",
"type": "aggregation"
},
{
"access": "public",
"destination": "1190103100236298763",
"label": "proxy2",
"source": "1906317303950647748",
"type": "aggregation"
}
],
"using_namespace": "clanguml::t00025"
}
```

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="378px" preserveAspectRatio="none" style="width:538px;height:378px;" version="1.1" viewBox="0 0 538 378" width="538px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="386px" preserveAspectRatio="none" style="width:512px;height:386px;" version="1.1" viewBox="0 0 512 386" width="512px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f6grcr3wqh3i" width="300%" x="-1" y="-1">
<filter height="300%" id="f19h7c61b4ic68" 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"/>
@@ -9,106 +9,146 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L6" target="_top" title="Target1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L6" xlink:show="new" xlink:title="Target1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="73.6094" id="C_0001573849034571194138" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="6" y="280.5"/>
<ellipse cx="23.7" cy="296.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M26.6688,302.1406 Q26.0906,302.4375 25.45,302.5781 Q24.8094,302.7344 24.1063,302.7344 Q21.6063,302.7344 20.2781,301.0938 Q18.9656,299.4375 18.9656,296.3125 Q18.9656,293.1875 20.2781,291.5313 Q21.6063,289.875 24.1063,289.875 Q24.8094,289.875 25.45,290.0313 Q26.1063,290.1875 26.6688,290.4844 L26.6688,293.2031 Q26.0438,292.625 25.45,292.3594 Q24.8563,292.0781 24.2313,292.0781 Q22.8875,292.0781 22.2,293.1563 Q21.5125,294.2188 21.5125,296.3125 Q21.5125,298.4063 22.2,299.4844 Q22.8875,300.5469 24.2313,300.5469 Q24.8563,300.5469 25.45,300.2813 Q26.0438,300 26.6688,299.4219 L26.6688,302.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="38.3" y="300.6543">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="312.5" y2="312.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="320.5" y2="320.5"/>
<ellipse cx="17" cy="331.5" 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="26" y="334.7104">m1() : void</text>
<ellipse cx="17" cy="344.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="61" x="26" y="347.5151">m2() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L6" target="_top" title="Target1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L6" xlink:show="new" xlink:title="Target1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="73.6094" id="C_0001573849034571194138" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="6" y="284.5"/>
<ellipse cx="23.7" cy="300.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M26.6688,306.1406 Q26.0906,306.4375 25.45,306.5781 Q24.8094,306.7344 24.1063,306.7344 Q21.6063,306.7344 20.2781,305.0938 Q18.9656,303.4375 18.9656,300.3125 Q18.9656,297.1875 20.2781,295.5313 Q21.6063,293.875 24.1063,293.875 Q24.8094,293.875 25.45,294.0313 Q26.1063,294.1875 26.6688,294.4844 L26.6688,297.2031 Q26.0438,296.625 25.45,296.3594 Q24.8563,296.0781 24.2313,296.0781 Q22.8875,296.0781 22.2,297.1563 Q21.5125,298.2188 21.5125,300.3125 Q21.5125,302.4063 22.2,303.4844 Q22.8875,304.5469 24.2313,304.5469 Q24.8563,304.5469 25.45,304.2813 Q26.0438,304 26.6688,303.4219 L26.6688,306.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="38.3" y="304.6543">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="316.5" y2="316.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L12" target="_top" title="Target2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L12" xlink:show="new" xlink:title="Target2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="73.6094" id="C_0000751896409461834669" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="440" y="280.5"/>
<ellipse cx="457.7" cy="296.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M460.6688,302.1406 Q460.0906,302.4375 459.45,302.5781 Q458.8094,302.7344 458.1063,302.7344 Q455.6063,302.7344 454.2781,301.0938 Q452.9656,299.4375 452.9656,296.3125 Q452.9656,293.1875 454.2781,291.5313 Q455.6063,289.875 458.1063,289.875 Q458.8094,289.875 459.45,290.0313 Q460.1063,290.1875 460.6688,290.4844 L460.6688,293.2031 Q460.0438,292.625 459.45,292.3594 Q458.8563,292.0781 458.2313,292.0781 Q456.8875,292.0781 456.2,293.1563 Q455.5125,294.2188 455.5125,296.3125 Q455.5125,298.4063 456.2,299.4844 Q456.8875,300.5469 458.2313,300.5469 Q458.8563,300.5469 459.45,300.2813 Q460.0438,300 460.6688,299.4219 L460.6688,302.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="472.3" y="300.6543">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="441" x2="526" y1="312.5" y2="312.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="441" x2="526" y1="320.5" y2="320.5"/>
<ellipse cx="451" cy="331.5" 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="460" y="334.7104">m1() : void</text>
<ellipse cx="451" cy="344.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="61" x="460" y="347.5151">m2() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L8" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L8" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="322.5"/>
<ellipse cx="17" cy="327.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L18" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L18" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="99.2188" id="C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.5;" width="276" x="128.5" y="268"/>
<ellipse cx="240.25" cy="284" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M243.2188,289.6406 Q242.6406,289.9375 242,290.0781 Q241.3594,290.2344 240.6563,290.2344 Q238.1563,290.2344 236.8281,288.5938 Q235.5156,286.9375 235.5156,283.8125 Q235.5156,280.6875 236.8281,279.0313 Q238.1563,277.375 240.6563,277.375 Q241.3594,277.375 242,277.5313 Q242.6563,277.6875 243.2188,277.9844 L243.2188,280.7031 Q242.5938,280.125 242,279.8594 Q241.4063,279.5781 240.7813,279.5781 Q239.4375,279.5781 238.75,280.6563 Q238.0625,281.7188 238.0625,283.8125 Q238.0625,285.9063 238.75,286.9844 Q239.4375,288.0469 240.7813,288.0469 Q241.4063,288.0469 242,287.7813 Q242.5938,287.5 243.2188,286.9219 L243.2188,289.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="260.75" y="288.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="398.5" y="265"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="399.5" y="277.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129.5" x2="403.5" y1="300" y2="300"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L8" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L8" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="26" y="330.7104">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L28" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L28" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134.5" y="306"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136.5" y="308"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L9" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L9" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="335.3047"/>
<ellipse cx="17" cy="340.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L28" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L28" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="148.5" y="314.2104">m_target : std::shared_ptr&lt;T&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L9" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L9" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="26" y="343.5151">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129.5" x2="403.5" y1="320.8047" y2="320.8047"/>
<ellipse cx="139.5" cy="331.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="250" x="148.5" y="335.0151">Proxy&lt;T&gt;(std::shared_ptr&lt;T&gt; target) : void</text>
<ellipse cx="139.5" cy="344.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="61" x="148.5" y="347.8198">m1() : void</text>
<ellipse cx="139.5" cy="357.4141" 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="148.5" y="360.6245">m2() : void</text>
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="48" id="C_0001644966842838139424" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="131.5" y="159"/>
<ellipse cx="146.5" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M149.4688,180.6406 Q148.8906,180.9375 148.25,181.0781 Q147.6094,181.2344 146.9063,181.2344 Q144.4063,181.2344 143.0781,179.5938 Q141.7656,177.9375 141.7656,174.8125 Q141.7656,171.6875 143.0781,170.0313 Q144.4063,168.375 146.9063,168.375 Q147.6094,168.375 148.25,168.5313 Q148.9063,168.6875 149.4688,168.9844 L149.4688,171.7031 Q148.8438,171.125 148.25,170.8594 Q147.6563,170.5781 147.0313,170.5781 Q145.6875,170.5781 145,171.6563 Q144.3125,172.7188 144.3125,174.8125 Q144.3125,176.9063 145,177.9844 Q145.6875,179.0469 147.0313,179.0469 Q147.6563,179.0469 148.25,178.7813 Q148.8438,178.5 149.4688,177.9219 L149.4688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="160.5" y="179.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="51" x="201.5" y="156"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="49" x="202.5" y="168.1387">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="132.5" x2="248.5" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="132.5" x2="248.5" y1="199" y2="199"/>
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="48" id="C_0001190103100236298763" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="284.5" y="159"/>
<ellipse cx="299.5" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M302.4688,180.6406 Q301.8906,180.9375 301.25,181.0781 Q300.6094,181.2344 299.9063,181.2344 Q297.4063,181.2344 296.0781,179.5938 Q294.7656,177.9375 294.7656,174.8125 Q294.7656,171.6875 296.0781,170.0313 Q297.4063,168.375 299.9063,168.375 Q300.6094,168.375 301.25,168.5313 Q301.9063,168.6875 302.4688,168.9844 L302.4688,171.7031 Q301.8438,171.125 301.25,170.8594 Q300.6563,170.5781 300.0313,170.5781 Q298.6875,170.5781 298,171.6563 Q297.3125,172.7188 297.3125,174.8125 Q297.3125,176.9063 298,177.9844 Q298.6875,179.0469 300.0313,179.0469 Q300.6563,179.0469 301.25,178.7813 Q301.8438,178.5 302.4688,177.9219 L302.4688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="313.5" y="179.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="51" x="354.5" y="156"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="49" x="355.5" y="168.1387">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="285.5" x2="401.5" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="285.5" x2="401.5" y1="199" y2="199"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L31" target="_top" title="ProxyHolder" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L31" xlink:show="new" xlink:title="ProxyHolder" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f6grcr3wqh3i)" height="73.6094" id="C_0001906317303950647748" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="182" y="8"/>
<ellipse cx="225.35" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M228.3188,29.6406 Q227.7406,29.9375 227.1,30.0781 Q226.4594,30.2344 225.7563,30.2344 Q223.2563,30.2344 221.9281,28.5938 Q220.6156,26.9375 220.6156,23.8125 Q220.6156,20.6875 221.9281,19.0313 Q223.2563,17.375 225.7563,17.375 Q226.4594,17.375 227.1,17.5313 Q227.7563,17.6875 228.3188,17.9844 L228.3188,20.7031 Q227.6938,20.125 227.1,19.8594 Q226.5063,19.5781 225.8813,19.5781 Q224.5375,19.5781 223.85,20.6563 Q223.1625,21.7188 223.1625,23.8125 Q223.1625,25.9063 223.85,26.9844 Q224.5375,28.0469 225.8813,28.0469 Q226.5063,28.0469 227.1,27.7813 Q227.6938,27.5 228.3188,26.9219 L228.3188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="245.65" y="28.1543">ProxyHolder</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="183" x2="350" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="92" y1="350.1094" y2="350.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L12" target="_top" title="Target2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L12" xlink:show="new" xlink:title="Target2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="73.6094" id="C_0000751896409461834669" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="414" y="284.5"/>
<ellipse cx="431.7" cy="300.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M434.6688,306.1406 Q434.0906,306.4375 433.45,306.5781 Q432.8094,306.7344 432.1063,306.7344 Q429.6063,306.7344 428.2781,305.0938 Q426.9656,303.4375 426.9656,300.3125 Q426.9656,297.1875 428.2781,295.5313 Q429.6063,293.875 432.1063,293.875 Q432.8094,293.875 433.45,294.0313 Q434.1063,294.1875 434.6688,294.4844 L434.6688,297.2031 Q434.0438,296.625 433.45,296.3594 Q432.8563,296.0781 432.2313,296.0781 Q430.8875,296.0781 430.2,297.1563 Q429.5125,298.2188 429.5125,300.3125 Q429.5125,302.4063 430.2,303.4844 Q430.8875,304.5469 432.2313,304.5469 Q432.8563,304.5469 433.45,304.2813 Q434.0438,304 434.6688,303.4219 L434.6688,306.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="446.3" y="304.6543">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="500" y1="316.5" y2="316.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L33" target="_top" title="proxy1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L33" xlink:show="new" xlink:title="proxy1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="188" y="46"/>
<ellipse cx="193" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L14" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L14" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="420" y="322.5"/>
<ellipse cx="425" cy="327.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L33" target="_top" title="proxy1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L33" xlink:show="new" xlink:title="proxy1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="202" y="54.2104">proxy1 : Proxy&lt;Target1&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L14" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L14" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="434" y="330.7104">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L34" target="_top" title="proxy2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L34" xlink:show="new" xlink:title="proxy2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="188" y="58.8047"/>
<ellipse cx="193" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L15" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L15" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="420" y="335.3047"/>
<ellipse cx="425" cy="340.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L34" target="_top" title="proxy2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00025/t00025.cc#L34" xlink:show="new" xlink:title="proxy2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="202" y="67.0151">proxy2 : Proxy&lt;Target2&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L15" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L15" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="434" y="343.5151">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="183" x2="350" y1="73.6094" y2="73.6094"/>
<path d="M165.94,207.08 C145.49,226.29 115.92,254.09 91.69,276.85 " fill="none" id="C_0001644966842838139424-&gt;C_0001573849034571194138" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="87.85,280.46,97.1453,277.2045,91.491,277.0332,91.6623,271.3789,87.85,280.46" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M203.74,207.08 C210.72,219.25 219.68,234.87 228.63,250.48 " fill="none" id="C_0001644966842838139424-&gt;C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="234.75,247.07,238.63,267.9,222.6,254.04,234.75,247.07" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M367.89,207.08 C388.19,226.29 417.55,254.09 441.61,276.85 " fill="none" id="C_0001190103100236298763-&gt;C_0000751896409461834669" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="445.42,280.46,441.6255,271.3715,441.7857,277.026,436.1311,277.1863,445.42,280.46" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M330.09,207.08 C323.01,219.25 313.94,234.87 304.87,250.48 " fill="none" id="C_0001190103100236298763-&gt;C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="310.84,254.13,294.74,267.9,298.74,247.09,310.84,254.13" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M239.65,93.87 C236.23,99.97 232.78,106.13 229.5,112 C220.74,127.67 210.91,145.32 203.31,158.98 " fill="none" id="C_0001906317303950647748&lt;-C_0001644966842838139424" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="246.13,82.3,239.7072,85.5784,240.2631,92.768,246.6859,89.4896,246.13,82.3" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="235.5" cy="121.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="43" x="242.5" y="125.0669">proxy1</text>
<path d="M293.45,93.59 C305.91,115.61 320.15,140.76 330.25,158.6 " fill="none" id="C_0001906317303950647748&lt;-C_0001190103100236298763" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="286.93,82.09,286.4025,89.2818,292.8382,92.5348,293.3657,85.343,286.93,82.09" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="317.5" cy="121.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="43" x="324.5" y="125.0669">proxy2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="500" y1="350.1094" y2="350.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="107.2188" id="C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="128" y="268"/>
<ellipse cx="227.25" cy="284" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M230.2188,289.6406 Q229.6406,289.9375 229,290.0781 Q228.3594,290.2344 227.6563,290.2344 Q225.1563,290.2344 223.8281,288.5938 Q222.5156,286.9375 222.5156,283.8125 Q222.5156,280.6875 223.8281,279.0313 Q225.1563,277.375 227.6563,277.375 Q228.3594,277.375 229,277.5313 Q229.6563,277.6875 230.2188,277.9844 L230.2188,280.7031 Q229.5938,280.125 229,279.8594 Q228.4063,279.5781 227.7813,279.5781 Q226.4375,279.5781 225.75,280.6563 Q225.0625,281.7188 225.0625,283.8125 Q225.0625,285.9063 225.75,286.9844 Q226.4375,288.0469 227.7813,288.0469 Q228.4063,288.0469 229,287.7813 Q229.5938,287.5 230.2188,286.9219 L230.2188,289.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="247.75" y="288.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="373" y="265"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="374" y="277.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="378" y1="300" y2="300"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L20" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L20" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="306"/>
<ellipse cx="139" cy="311" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L20" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L20" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="148" y="314.2104">Proxy(std::shared_ptr&lt;T&gt; target) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="129" x2="378" y1="320.8047" y2="320.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L24" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L24" xlink:show="new" xlink:title="m1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="326.8047"/>
<ellipse cx="139" cy="331.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L24" target="_top" title="m1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L24" xlink:show="new" xlink:title="m1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="148" y="335.0151">m1() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L25" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L25" xlink:show="new" xlink:title="m2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="339.6094"/>
<ellipse cx="139" cy="344.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L25" target="_top" title="m2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L25" xlink:show="new" xlink:title="m2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="148" y="347.8198">m2() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="378" y1="354.4141" y2="354.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L28" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L28" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="134" y="360.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="136" y="362.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L28" target="_top" title="m_target" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L28" xlink:show="new" xlink:title="m_target" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="148" y="368.6245">m_target : std::shared_ptr&lt;T&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="48" id="C_0001644966842838139424" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="90.5" y="159"/>
<ellipse cx="105.5" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M108.4688,180.6406 Q107.8906,180.9375 107.25,181.0781 Q106.6094,181.2344 105.9063,181.2344 Q103.4063,181.2344 102.0781,179.5938 Q100.7656,177.9375 100.7656,174.8125 Q100.7656,171.6875 102.0781,170.0313 Q103.4063,168.375 105.9063,168.375 Q106.6094,168.375 107.25,168.5313 Q107.9063,168.6875 108.4688,168.9844 L108.4688,171.7031 Q107.8438,171.125 107.25,170.8594 Q106.6563,170.5781 106.0313,170.5781 Q104.6875,170.5781 104,171.6563 Q103.3125,172.7188 103.3125,174.8125 Q103.3125,176.9063 104,177.9844 Q104.6875,179.0469 106.0313,179.0469 Q106.6563,179.0469 107.25,178.7813 Q107.8438,178.5 108.4688,177.9219 L108.4688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="119.5" y="179.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="51" x="160.5" y="156"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="49" x="161.5" y="168.1387">Target1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="91.5" x2="207.5" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="91.5" x2="207.5" y1="199" y2="199"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" target="_top" title="Proxy" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L18" xlink:show="new" xlink:title="Proxy" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="48" id="C_0001190103100236298763" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="243.5" y="159"/>
<ellipse cx="258.5" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M261.4688,180.6406 Q260.8906,180.9375 260.25,181.0781 Q259.6094,181.2344 258.9063,181.2344 Q256.4063,181.2344 255.0781,179.5938 Q253.7656,177.9375 253.7656,174.8125 Q253.7656,171.6875 255.0781,170.0313 Q256.4063,168.375 258.9063,168.375 Q259.6094,168.375 260.25,168.5313 Q260.9063,168.6875 261.4688,168.9844 L261.4688,171.7031 Q260.8438,171.125 260.25,170.8594 Q259.6563,170.5781 259.0313,170.5781 Q257.6875,170.5781 257,171.6563 Q256.3125,172.7188 256.3125,174.8125 Q256.3125,176.9063 257,177.9844 Q257.6875,179.0469 259.0313,179.0469 Q259.6563,179.0469 260.25,178.7813 Q260.8438,178.5 261.4688,177.9219 L261.4688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="272.5" y="179.1543">Proxy</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="51" x="313.5" y="156"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="49" x="314.5" y="168.1387">Target2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="244.5" x2="360.5" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="244.5" x2="360.5" y1="199" y2="199"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L31" target="_top" title="ProxyHolder" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L31" xlink:show="new" xlink:title="ProxyHolder" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f19h7c61b4ic68)" height="73.6094" id="C_0001906317303950647748" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="141" y="8"/>
<ellipse cx="184.35" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M187.3188,29.6406 Q186.7406,29.9375 186.1,30.0781 Q185.4594,30.2344 184.7563,30.2344 Q182.2563,30.2344 180.9281,28.5938 Q179.6156,26.9375 179.6156,23.8125 Q179.6156,20.6875 180.9281,19.0313 Q182.2563,17.375 184.7563,17.375 Q185.4594,17.375 186.1,17.5313 Q186.7563,17.6875 187.3188,17.9844 L187.3188,20.7031 Q186.6938,20.125 186.1,19.8594 Q185.5063,19.5781 184.8813,19.5781 Q183.5375,19.5781 182.85,20.6563 Q182.1625,21.7188 182.1625,23.8125 Q182.1625,25.9063 182.85,26.9844 Q183.5375,28.0469 184.8813,28.0469 Q185.5063,28.0469 186.1,27.7813 Q186.6938,27.5 187.3188,26.9219 L187.3188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="204.65" y="28.1543">ProxyHolder</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="142" x2="309" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="142" x2="309" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L33" target="_top" title="proxy1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L33" xlink:show="new" xlink:title="proxy1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="147" y="54"/>
<ellipse cx="152" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L33" target="_top" title="proxy1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L33" xlink:show="new" xlink:title="proxy1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="161" y="62.2104">proxy1 : Proxy&lt;Target1&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L34" target="_top" title="proxy2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L34" xlink:show="new" xlink:title="proxy2" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="147" y="66.8047"/>
<ellipse cx="152" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L34" target="_top" title="proxy2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00025/t00025.cc#L34" xlink:show="new" xlink:title="proxy2" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="161" y="75.0151">proxy2 : Proxy&lt;Target2&gt;</text>
</a>
<path d="M132.54,207.16 C117.89,227.14 96.41,256.47 78.96,280.29 " fill="none" id="C_0001644966842838139424-&gt;C_0001573849034571194138" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="75.97,284.37,84.5201,279.4818,78.9287,280.3393,78.0711,274.7479,75.97,284.37" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M167.14,207.16 C176.66,219.65 188.96,235.79 201.28,251.96 " fill="none" id="C_0001644966842838139424-&gt;C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="206.94,247.84,213.49,267.99,195.81,256.33,206.94,247.84" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M328.79,207.16 C351.68,227.31 385.35,256.96 412.51,280.88 " fill="none" id="C_0001190103100236298763-&gt;C_0000751896409461834669" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="416.47,284.37,412.3646,275.4176,412.7196,281.0633,407.0739,281.4183,416.47,284.37" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M294.19,207.16 C289.98,218.87 284.63,233.79 279.19,248.93 " fill="none" id="C_0001190103100236298763-&gt;C_0001483353300536405088" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="285.69,251.53,272.35,267.99,272.52,246.8,285.69,251.53" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M198.65,93.87 C195.23,99.97 191.78,106.13 188.5,112 C179.74,127.67 169.91,145.32 162.31,158.98 " fill="none" id="C_0001906317303950647748&lt;-C_0001644966842838139424" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="205.13,82.3,198.7072,85.5784,199.2631,92.768,205.6859,89.4896,205.13,82.3" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="194.5" cy="121.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="43" x="201.5" y="125.0669">proxy1</text>
<path d="M252.45,93.59 C264.91,115.61 279.15,140.76 289.25,158.6 " fill="none" id="C_0001906317303950647748&lt;-C_0001190103100236298763" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="245.93,82.09,245.4025,89.2818,251.8382,92.5348,252.3657,85.343,245.93,82.09" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="276.5" cy="121.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="43" x="283.5" y="125.0669">proxy2</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="567px" preserveAspectRatio="none" style="width:690px;height:567px;" version="1.1" viewBox="0 0 690 567" width="690px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="583px" preserveAspectRatio="none" style="width:690px;height:583px;" version="1.1" viewBox="0 0 690 583" width="690px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f17wnwckgmzmaj" width="300%" x="-1" y="-1">
<filter height="300%" id="fwexnn2z27b0c" 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"/>
@@ -9,29 +9,40 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L8" target="_top" title="Memento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L8" xlink:show="new" xlink:title="Memento" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="86.4141" id="C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="165.5" y="470"/>
<ellipse cx="220.25" cy="486" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M223.2188,491.6406 Q222.6406,491.9375 222,492.0781 Q221.3594,492.2344 220.6563,492.2344 Q218.1563,492.2344 216.8281,490.5938 Q215.5156,488.9375 215.5156,485.8125 Q215.5156,482.6875 216.8281,481.0313 Q218.1563,479.375 220.6563,479.375 Q221.3594,479.375 222,479.5313 Q222.6563,479.6875 223.2188,479.9844 L223.2188,482.7031 Q222.5938,482.125 222,481.8594 Q221.4063,481.5781 220.7813,481.5781 Q219.4375,481.5781 218.75,482.6563 Q218.0625,483.7188 218.0625,485.8125 Q218.0625,487.9063 218.75,488.9844 Q219.4375,490.0469 220.7813,490.0469 Q221.4063,490.0469 222,489.7813 Q222.5938,489.5 223.2188,488.9219 L223.2188,491.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="58" x="240.75" y="490.1543">Memento</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="346.5" y="467"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="347.5" y="479.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="166.5" x2="351.5" y1="502" y2="502"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L8" target="_top" title="Memento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L8" xlink:show="new" xlink:title="Memento" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="94.4141" id="C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="324" y="478"/>
<ellipse cx="366.45" cy="494" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M369.4188,499.6406 Q368.8406,499.9375 368.2,500.0781 Q367.5594,500.2344 366.8563,500.2344 Q364.3563,500.2344 363.0281,498.5938 Q361.7156,496.9375 361.7156,493.8125 Q361.7156,490.6875 363.0281,489.0313 Q364.3563,487.375 366.8563,487.375 Q367.5594,487.375 368.2,487.5313 Q368.8563,487.6875 369.4188,487.9844 L369.4188,490.7031 Q368.7938,490.125 368.2,489.8594 Q367.6063,489.5781 366.9813,489.5781 Q365.6375,489.5781 364.95,490.6563 Q364.2625,491.7188 364.2625,493.8125 Q364.2625,495.9063 364.95,496.9844 Q365.6375,498.0469 366.9813,498.0469 Q367.6063,498.0469 368.2,497.7813 Q368.7938,497.5 369.4188,496.9219 L369.4188,499.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="58" x="386.55" y="498.1543">Memento</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="480" y="475"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="481" y="487.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="325" x2="485" y1="510" y2="510"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L18" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L18" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="171.5" y="508"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="173.5" y="510"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L10" target="_top" title="Memento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L10" xlink:show="new" xlink:title="Memento" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="330" y="516"/>
<ellipse cx="335" cy="521" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L18" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L18" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="185.5" y="516.2104">m_value : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L10" target="_top" title="Memento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L10" xlink:show="new" xlink:title="Memento" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="344" y="524.2104">Memento(T &amp;&amp; v) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="166.5" x2="351.5" y1="522.8047" y2="522.8047"/>
<ellipse cx="176.5" cy="533.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="161" x="185.5" y="537.0151">Memento&lt;T&gt;(T &amp;&amp; v) : void</text>
<ellipse cx="176.5" cy="546.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="92" x="185.5" y="549.8198">value() const : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L21" target="_top" title="Originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L21" xlink:show="new" xlink:title="Originator" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="124.8281" id="C_0001324770803720816727" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="431.5" y="268"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="325" x2="485" y1="530.8047" y2="530.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L15" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L15" xlink:show="new" xlink:title="value" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="330" y="536.8047"/>
<ellipse cx="335" cy="541.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L15" target="_top" title="value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L15" xlink:show="new" xlink:title="value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="92" x="344" y="545.0151">value() const : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="325" x2="485" y1="551.6094" y2="551.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L18" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L18" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="330" y="557.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="332" y="559.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L18" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L18" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="344" y="565.8198">m_value : T</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L21" target="_top" title="Originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L21" xlink:show="new" xlink:title="Originator" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="132.8281" id="C_0001324770803720816727" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="431.5" y="268"/>
<ellipse cx="513.25" cy="284" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M516.2188,289.6406 Q515.6406,289.9375 515,290.0781 Q514.3594,290.2344 513.6563,290.2344 Q511.1563,290.2344 509.8281,288.5938 Q508.5156,286.9375 508.5156,283.8125 Q508.5156,280.6875 509.8281,279.0313 Q511.1563,277.375 513.6563,277.375 Q514.3594,277.375 515,277.5313 Q515.6563,277.6875 516.2188,277.9844 L516.2188,280.7031 Q515.5938,280.125 515,279.8594 Q514.4063,279.5781 513.7813,279.5781 Q512.4375,279.5781 511.75,280.6563 Q511.0625,281.7188 511.0625,283.8125 Q511.0625,285.9063 511.75,286.9844 Q512.4375,288.0469 513.7813,288.0469 Q514.4063,288.0469 515,287.7813 Q515.5938,287.5 516.2188,286.9219 L516.2188,289.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="533.75" y="288.1543">Originator</text>
@@ -39,46 +50,83 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="671.5" y="277.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="432.5" x2="675.5" y1="300" y2="300"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L37" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L37" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L23" target="_top" title="Originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L23" xlink:show="new" xlink:title="Originator" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="306"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="439.5" y="308"/>
<ellipse cx="442.5" cy="311" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L37" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L37" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="451.5" y="314.2104">m_value : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L23" target="_top" title="Originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L23" xlink:show="new" xlink:title="Originator" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="451.5" y="314.2104">Originator(T &amp;&amp; v) : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="432.5" x2="675.5" y1="320.8047" y2="320.8047"/>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="432.5" x2="675.5" y1="320.8047" y2="320.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L30" target="_top" title="load" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L30" xlink:show="new" xlink:title="load" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="326.8047"/>
<ellipse cx="442.5" cy="331.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="166" x="451.5" y="335.0151">Originator&lt;T&gt;(T &amp;&amp; v) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L30" target="_top" title="load" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L30" xlink:show="new" xlink:title="load" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="451.5" y="335.0151">load(const Memento&lt;T&gt; &amp; m) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L28" target="_top" title="memoize_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L28" xlink:show="new" xlink:title="memoize_value" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="339.6094"/>
<ellipse cx="442.5" cy="344.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L28" target="_top" title="memoize_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L28" xlink:show="new" xlink:title="memoize_value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="219" x="451.5" y="347.8198">memoize_value() const : Memento&lt;T&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L32" target="_top" title="print" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L32" xlink:show="new" xlink:title="print" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="352.4141"/>
<ellipse cx="442.5" cy="357.4141" 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="208" x="451.5" y="360.6245">load(const Memento&lt;T&gt; &amp; m) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L32" target="_top" title="print" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L32" xlink:show="new" xlink:title="print" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="360.6245">print() const : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L34" target="_top" title="set" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L34" xlink:show="new" xlink:title="set" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="365.2188"/>
<ellipse cx="442.5" cy="370.2188" 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="104" x="451.5" y="373.4292">print() const : void</text>
<ellipse cx="442.5" cy="383.0234" 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="102" x="451.5" y="386.2339">set(T &amp;&amp; v) : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L40" target="_top" title="Caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L40" xlink:show="new" xlink:title="Caretaker" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="86.4141" id="C_0002032715387182792204" style="stroke: #A80036; stroke-width: 1.5;" width="390" x="6" y="287.5"/>
<ellipse cx="160.25" cy="303.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M163.2188,309.1406 Q162.6406,309.4375 162,309.5781 Q161.3594,309.7344 160.6563,309.7344 Q158.1563,309.7344 156.8281,308.0938 Q155.5156,306.4375 155.5156,303.3125 Q155.5156,300.1875 156.8281,298.5313 Q158.1563,296.875 160.6563,296.875 Q161.3594,296.875 162,297.0313 Q162.6563,297.1875 163.2188,297.4844 L163.2188,300.2031 Q162.5938,299.625 162,299.3594 Q161.4063,299.0781 160.7813,299.0781 Q159.4375,299.0781 158.75,300.1563 Q158.0625,301.2188 158.0625,303.3125 Q158.0625,305.4063 158.75,306.4844 Q159.4375,307.5469 160.7813,307.5469 Q161.4063,307.5469 162,307.2813 Q162.5938,307 163.2188,306.4219 L163.2188,309.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="180.75" y="307.6543">Caretaker</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="390" y="284.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="391" y="296.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="395" y1="319.5" y2="319.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L50" target="_top" title="m_mementos" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L50" xlink:show="new" xlink:title="m_mementos" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="325.5"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="327.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L34" target="_top" title="set" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L34" xlink:show="new" xlink:title="set" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="451.5" y="373.4292">set(T &amp;&amp; v) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L50" target="_top" title="m_mementos" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L50" xlink:show="new" xlink:title="m_mementos" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="364" x="26" y="333.7104">m_mementos : std::unordered_map&lt;std::string,Memento&lt;T&gt;&gt;</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="432.5" x2="675.5" y1="380.0234" y2="380.0234"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L37" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L37" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="437.5" y="386.0234"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="439.5" y="388.0234"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="395" y1="340.3047" y2="340.3047"/>
<ellipse cx="17" cy="351.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="259" x="26" y="354.5151">state(const std::string &amp; n) : Memento&lt;T&gt; &amp;</text>
<ellipse cx="17" cy="364.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="339" x="26" y="367.3198">set_state(const std::string &amp; s, Memento&lt;T&gt; &amp;&amp; m) : void</text>
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="48" id="C_0001708482137721157489" style="stroke: #A80036; stroke-width: 1.5;" width="160" x="239" y="159"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L37" target="_top" title="m_value" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L37" xlink:show="new" xlink:title="m_value" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="451.5" y="394.2339">m_value : T</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L40" target="_top" title="Caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L40" xlink:show="new" xlink:title="Caretaker" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="86.4141" id="C_0002032715387182792204" style="stroke: #A80036; stroke-width: 1.5;" width="390" x="6" y="291.5"/>
<ellipse cx="160.25" cy="307.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M163.2188,313.1406 Q162.6406,313.4375 162,313.5781 Q161.3594,313.7344 160.6563,313.7344 Q158.1563,313.7344 156.8281,312.0938 Q155.5156,310.4375 155.5156,307.3125 Q155.5156,304.1875 156.8281,302.5313 Q158.1563,300.875 160.6563,300.875 Q161.3594,300.875 162,301.0313 Q162.6563,301.1875 163.2188,301.4844 L163.2188,304.2031 Q162.5938,303.625 162,303.3594 Q161.4063,303.0781 160.7813,303.0781 Q159.4375,303.0781 158.75,304.1563 Q158.0625,305.2188 158.0625,307.3125 Q158.0625,309.4063 158.75,310.4844 Q159.4375,311.5469 160.7813,311.5469 Q161.4063,311.5469 162,311.2813 Q162.5938,311 163.2188,310.4219 L163.2188,313.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="180.75" y="311.6543">Caretaker</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="390" y="288.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="391" y="300.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="395" y1="323.5" y2="323.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L44" target="_top" title="set_state" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L44" xlink:show="new" xlink:title="set_state" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="329.5"/>
<ellipse cx="17" cy="334.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L44" target="_top" title="set_state" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L44" xlink:show="new" xlink:title="set_state" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="339" x="26" y="337.7104">set_state(const std::string &amp; s, Memento&lt;T&gt; &amp;&amp; m) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L42" target="_top" title="state" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L42" xlink:show="new" xlink:title="state" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="342.3047"/>
<ellipse cx="17" cy="347.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L42" target="_top" title="state" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L42" xlink:show="new" xlink:title="state" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="259" x="26" y="350.5151">state(const std::string &amp; n) : Memento&lt;T&gt; &amp;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="395" y1="357.1094" y2="357.1094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L50" target="_top" title="m_mementos" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L50" xlink:show="new" xlink:title="m_mementos" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="12" y="363.1094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="14" y="365.1094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L50" target="_top" title="m_mementos" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L50" xlink:show="new" xlink:title="m_mementos" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="364" x="26" y="371.3198">m_mementos : std::unordered_map&lt;std::string,Memento&lt;T&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L40" target="_top" title="Caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L40" xlink:show="new" xlink:title="Caretaker" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="48" id="C_0001708482137721157489" style="stroke: #A80036; stroke-width: 1.5;" width="160" x="239" y="159"/>
<ellipse cx="254" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M256.9688,180.6406 Q256.3906,180.9375 255.75,181.0781 Q255.1094,181.2344 254.4063,181.2344 Q251.9063,181.2344 250.5781,179.5938 Q249.2656,177.9375 249.2656,174.8125 Q249.2656,171.6875 250.5781,170.0313 Q251.9063,168.375 254.4063,168.375 Q255.1094,168.375 255.75,168.5313 Q256.4063,168.6875 256.9688,168.9844 L256.9688,171.7031 Q256.3438,171.125 255.75,170.8594 Q255.1563,170.5781 254.5313,170.5781 Q253.1875,170.5781 252.5,171.6563 Q251.8125,172.7188 251.8125,174.8125 Q251.8125,176.9063 252.5,177.9844 Q253.1875,179.0469 254.5313,179.0469 Q255.1563,179.0469 255.75,178.7813 Q256.3438,178.5 256.9688,177.9219 L256.9688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="268" y="179.1543">Caretaker</text>
@@ -86,7 +134,9 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62" x="339" y="168.1387">std::string</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="240" x2="398" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="240" x2="398" y1="199" y2="199"/>
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="48" id="C_0001014247960805363560" style="stroke: #A80036; stroke-width: 1.5;" width="160" x="454" y="159"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L21" target="_top" title="Originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L21" xlink:show="new" xlink:title="Originator" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="48" id="C_0001014247960805363560" style="stroke: #A80036; stroke-width: 1.5;" width="160" x="454" y="159"/>
<ellipse cx="469" cy="175" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M471.9688,180.6406 Q471.3906,180.9375 470.75,181.0781 Q470.1094,181.2344 469.4063,181.2344 Q466.9063,181.2344 465.5781,179.5938 Q464.2656,177.9375 464.2656,174.8125 Q464.2656,171.6875 465.5781,170.0313 Q466.9063,168.375 469.4063,168.375 Q470.1094,168.375 470.75,168.5313 Q471.4063,168.6875 471.9688,168.9844 L471.9688,171.7031 Q471.3438,171.125 470.75,170.8594 Q470.1563,170.5781 469.5313,170.5781 Q468.1875,170.5781 467.5,171.6563 Q466.8125,172.7188 466.8125,174.8125 Q466.8125,176.9063 467.5,177.9844 Q468.1875,179.0469 469.5313,179.0469 Q470.1563,179.0469 470.75,178.7813 Q471.3438,178.5 471.9688,177.9219 L471.9688,180.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="483" y="179.1543">Originator</text>
@@ -94,40 +144,39 @@
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62" x="554" y="168.1387">std::string</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="455" x2="613" y1="191" y2="191"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="455" x2="613" y1="199" y2="199"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L53" target="_top" title="StringMemento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L53" xlink:show="new" xlink:title="StringMemento" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17wnwckgmzmaj)" height="73.6094" id="C_0000851750942915129289" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="302.5" y="8"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L53" target="_top" title="StringMemento" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L53" xlink:show="new" xlink:title="StringMemento" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fwexnn2z27b0c)" height="73.6094" id="C_0000851750942915129289" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="302.5" y="8"/>
<ellipse cx="364.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M367.2188,29.6406 Q366.6406,29.9375 366,30.0781 Q365.3594,30.2344 364.6563,30.2344 Q362.1563,30.2344 360.8281,28.5938 Q359.5156,26.9375 359.5156,23.8125 Q359.5156,20.6875 360.8281,19.0313 Q362.1563,17.375 364.6563,17.375 Q365.3594,17.375 366,17.5313 Q366.6563,17.6875 367.2188,17.9844 L367.2188,20.7031 Q366.5938,20.125 366,19.8594 Q365.4063,19.5781 364.7813,19.5781 Q363.4375,19.5781 362.75,20.6563 Q362.0625,21.7188 362.0625,23.8125 Q362.0625,25.9063 362.75,26.9844 Q363.4375,28.0469 364.7813,28.0469 Q365.4063,28.0469 366,27.7813 Q366.5938,27.5 367.2188,26.9219 L367.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="384.75" y="28.1543">StringMemento</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="303.5" x2="528.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="303.5" x2="528.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L54" target="_top" title="caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L54" xlink:show="new" xlink:title="caretaker" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="308.5" y="46"/>
<ellipse cx="313.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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L54" target="_top" title="caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L54" xlink:show="new" xlink:title="caretaker" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="308.5" y="54"/>
<ellipse cx="313.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L54" target="_top" title="caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L54" xlink:show="new" xlink:title="caretaker" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="322.5" y="54.2104">caretaker : Caretaker&lt;std::string&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L54" target="_top" title="caretaker" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L54" xlink:show="new" xlink:title="caretaker" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="322.5" y="62.2104">caretaker : Caretaker&lt;std::string&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L55" target="_top" title="originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L55" xlink:show="new" xlink:title="originator" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="308.5" y="58.8047"/>
<ellipse cx="313.5" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L55" target="_top" title="originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L55" xlink:show="new" xlink:title="originator" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="308.5" y="66.8047"/>
<ellipse cx="313.5" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L55" target="_top" title="originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00026/t00026.cc#L55" xlink:show="new" xlink:title="originator" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="322.5" y="67.0151">originator : Originator&lt;std::string&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L55" target="_top" title="originator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00026/t00026.cc#L55" xlink:show="new" xlink:title="originator" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="322.5" y="75.0151">originator : Originator&lt;std::string&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="303.5" x2="528.5" y1="73.6094" y2="73.6094"/>
<path d="M453.3,393.11 C413.53,417.45 368.68,444.89 332.11,467.27 " fill="none" id="C_0001324770803720816727-&gt;C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="327.69,469.97,337.4545,468.6835,331.9546,467.3599,333.2783,461.86,327.69,469.97" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M206.89,373.66 C210.4,394.04 215.64,418.65 223,440 C225.88,448.36 229.54,456.99 233.41,465.24 " fill="none" id="C_0002032715387182792204-&gt;C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="235.58,469.78,235.2966,459.9352,233.4187,465.2713,228.0826,463.3933,235.58,469.78" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M218.69,386.54 C227.3,413.36 237.5,445.1 245.49,469.95 " fill="none" id="C_0002032715387182792204&lt;-C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="214.6,373.82,212.6303,380.7569,218.2759,385.2431,220.2457,378.3062,214.6,373.82" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="239" y="429.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="249" y="436.0669">m_mementos</text>
<path d="M300.3,207.05 C286.22,224.42 266.27,249.02 247.94,271.62 " fill="none" id="C_0001708482137721157489-&gt;C_0002032715387182792204" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="253.33,276.09,235.3,287.21,242.46,267.27,253.33,276.09" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M537.17,207.05 C538.74,218.48 540.74,233.03 542.81,248.08 " fill="none" id="C_0001014247960805363560-&gt;C_0001324770803720816727" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="549.75,247.18,545.54,267.94,535.88,249.08,549.75,247.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M502.1,401.16 C483.28,424.97 462.34,451.46 444.73,473.73 " fill="none" id="C_0001324770803720816727-&gt;C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="441.49,477.84,450.2052,473.2526,444.5873,473.9149,443.925,468.2969,441.49,477.84" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M256.25,386.55 C287.03,414.99 325.06,450.14 354.96,477.77 " fill="none" id="C_0002032715387182792204&lt;-C_0001241204213727905390" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="246.53,377.57,248.2235,384.5794,255.3451,385.7121,253.6516,378.7027,246.53,377.57" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="325" y="437.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="335" y="444.0669">m_mementos</text>
<path d="M300.82,207.03 C286.43,225.27 265.68,251.55 246.82,275.44 " fill="none" id="C_0001708482137721157489-&gt;C_0002032715387182792204" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="252.06,280.11,234.17,291.47,241.07,271.44,252.06,280.11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M537.08,207.03 C538.6,218.36 540.53,232.81 542.54,247.85 " fill="none" id="C_0001014247960805363560-&gt;C_0001324770803720816727" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="549.49,247.02,545.21,267.77,535.62,248.87,549.49,247.02" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M382.71,92.68 C366.85,114.91 348.59,140.52 335.69,158.6 " fill="none" id="C_0000851750942915129289&lt;-C_0001708482137721157489" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="390.26,82.09,383.5206,84.6552,383.2964,91.8628,390.0358,89.2976,390.26,82.09" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="374" cy="121.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<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:1274px;height:390px;" version="1.1" viewBox="0 0 1274 390" width="1274px" zoomAndPan="magnify">
<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:1289px;height:398px;" version="1.1" viewBox="0 0 1289 398" width="1289px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fdoya7273fi9p" width="300%" x="-1" y="-1">
<filter height="300%" id="f17rso2o4k6wlh" 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"/>
@@ -9,191 +9,235 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L8" target="_top" title="Shape" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L8" xlink:show="new" xlink:title="Shape" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="73.6094" id="C_0001593092483959332221" style="stroke: #A80036; stroke-width: 1.5;" width="170" x="402.5" y="184"/>
<ellipse cx="463.25" cy="200" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M463.3594,195.3438 L462.2031,200.4219 L464.5313,200.4219 L463.3594,195.3438 Z M461.875,193.1094 L464.8594,193.1094 L468.2188,205.5 L465.7656,205.5 L465,202.4375 L461.7188,202.4375 L460.9688,205.5 L458.5313,205.5 L461.875,193.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="40" x="483.75" y="204.1543">Shape</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="403.5" x2="571.5" y1="216" y2="216"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="403.5" x2="571.5" y1="224" y2="224"/>
<ellipse cx="413.5" cy="235" 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="108" x="422.5" y="238.2104">display() = 0 : void</text>
<ellipse cx="413.5" cy="247.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="144" x="422.5" y="251.0151">~Shape() = default : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L8" target="_top" title="Shape" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L8" xlink:show="new" xlink:title="Shape" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="81.6094" id="C_0001593092483959332221" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="310.5" y="184"/>
<ellipse cx="401.25" cy="200" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M401.3594,195.3438 L400.2031,200.4219 L402.5313,200.4219 L401.3594,195.3438 Z M399.875,193.1094 L402.8594,193.1094 L406.2188,205.5 L403.7656,205.5 L403,202.4375 L399.7188,202.4375 L398.9688,205.5 L396.5313,205.5 L399.875,193.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="40" x="421.75" y="204.1543">Shape</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="539.5" y1="216" y2="216"/>
</a>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0001568932879061562228" style="stroke: #A80036; stroke-width: 1.5;" width="57" x="134" y="197"/>
<ellipse cx="149" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M151.9688,218.6406 Q151.3906,218.9375 150.75,219.0781 Q150.1094,219.2344 149.4063,219.2344 Q146.9063,219.2344 145.5781,217.5938 Q144.2656,215.9375 144.2656,212.8125 Q144.2656,209.6875 145.5781,208.0313 Q146.9063,206.375 149.4063,206.375 Q150.1094,206.375 150.75,206.5313 Q151.4063,206.6875 151.9688,206.9844 L151.9688,209.7031 Q151.3438,209.125 150.75,208.8594 Q150.1563,208.5781 149.5313,208.5781 Q148.1875,208.5781 147.5,209.6563 Q146.8125,210.7188 146.8125,212.8125 Q146.8125,214.9063 147.5,215.9844 Q148.1875,217.0469 149.5313,217.0469 Q150.1563,217.0469 150.75,216.7813 Q151.3438,216.5 151.9688,215.9219 L151.9688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="163" y="217.1543">Line</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135" x2="190" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135" x2="190" y1="237" y2="237"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L15" target="_top" title="Line" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L15" xlink:show="new" xlink:title="Line" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="60.8047" id="C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="142" y="319"/>
<ellipse cx="161.05" cy="335" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M164.0188,340.6406 Q163.4406,340.9375 162.8,341.0781 Q162.1594,341.2344 161.4563,341.2344 Q158.9563,341.2344 157.6281,339.5938 Q156.3156,337.9375 156.3156,334.8125 Q156.3156,331.6875 157.6281,330.0313 Q158.9563,328.375 161.4563,328.375 Q162.1594,328.375 162.8,328.5313 Q163.4563,328.6875 164.0188,328.9844 L164.0188,331.7031 Q163.3938,331.125 162.8,330.8594 Q162.2063,330.5781 161.5813,330.5781 Q160.2375,330.5781 159.55,331.6563 Q158.8625,332.7188 158.8625,334.8125 Q158.8625,336.9063 159.55,337.9844 Q160.2375,339.0469 161.5813,339.0469 Q162.2063,339.0469 162.8,338.7813 Q163.3938,338.5 164.0188,337.9219 L164.0188,340.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="175.95" y="339.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="41" x="213" y="316"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="214" y="328.1387">T&lt;&gt;...</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="250" y1="351" y2="351"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="250" y1="359" y2="359"/>
<ellipse cx="153" cy="370" 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="83" x="162" y="373.2104">display() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L11" target="_top" title="~Shape" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L11" xlink:show="new" xlink:title="~Shape" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="316.5" y="222"/>
<ellipse cx="321.5" cy="227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0001833467466291294724" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="913.5" y="197"/>
<ellipse cx="928.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M931.4688,218.6406 Q930.8906,218.9375 930.25,219.0781 Q929.6094,219.2344 928.9063,219.2344 Q926.4063,219.2344 925.0781,217.5938 Q923.7656,215.9375 923.7656,212.8125 Q923.7656,209.6875 925.0781,208.0313 Q926.4063,206.375 928.9063,206.375 Q929.6094,206.375 930.25,206.5313 Q930.9063,206.6875 931.4688,206.9844 L931.4688,209.7031 Q930.8438,209.125 930.25,208.8594 Q929.6563,208.5781 929.0313,208.5781 Q927.6875,208.5781 927,209.6563 Q926.3125,210.7188 926.3125,212.8125 Q926.3125,214.9063 927,215.9844 Q927.6875,217.0469 929.0313,217.0469 Q929.6563,217.0469 930.25,216.7813 Q930.8438,216.5 931.4688,215.9219 L931.4688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="942.5" y="217.1543">Text</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="914.5" x2="970.5" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="914.5" x2="970.5" y1="237" y2="237"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L25" target="_top" title="Text" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L25" xlink:show="new" xlink:title="Text" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="60.8047" id="C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="696" y="319"/>
<ellipse cx="714.6" cy="335" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M717.5688,340.6406 Q716.9906,340.9375 716.35,341.0781 Q715.7094,341.2344 715.0063,341.2344 Q712.5063,341.2344 711.1781,339.5938 Q709.8656,337.9375 709.8656,334.8125 Q709.8656,331.6875 711.1781,330.0313 Q712.5063,328.375 715.0063,328.375 Q715.7094,328.375 716.35,328.5313 Q717.0063,328.6875 717.5688,328.9844 L717.5688,331.7031 Q716.9438,331.125 716.35,330.8594 Q715.7563,330.5781 715.1313,330.5781 Q713.7875,330.5781 713.1,331.6563 Q712.4125,332.7188 712.4125,334.8125 Q712.4125,336.9063 713.1,337.9844 Q713.7875,339.0469 715.1313,339.0469 Q715.7563,339.0469 716.35,338.7813 Q716.9438,338.5 717.5688,337.9219 L717.5688,340.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="729.4" y="339.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="41" x="767" y="316"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="768" y="328.1387">T&lt;&gt;...</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="697" x2="804" y1="351" y2="351"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="697" x2="804" y1="359" y2="359"/>
<ellipse cx="707" cy="370" 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="83" x="716" y="373.2104">display() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L11" target="_top" title="~Shape" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L11" xlink:show="new" xlink:title="~Shape" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="330.5" y="230.2104">~Shape() constexpr = default : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L34" target="_top" title="ShapeDecorator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L34" xlink:show="new" xlink:title="ShapeDecorator" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="60.8047" id="C_0002049188825706164566" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1066" y="27"/>
<ellipse cx="1081" cy="43" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1081.1094,38.3438 L1079.9531,43.4219 L1082.2813,43.4219 L1081.1094,38.3438 Z M1079.625,36.1094 L1082.6094,36.1094 L1085.9688,48.5 L1083.5156,48.5 L1082.75,45.4375 L1079.4688,45.4375 L1078.7188,48.5 L1076.2813,48.5 L1079.625,36.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="103" x="1095" y="47.1543">ShapeDecorator</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1067" x2="1200" y1="59" y2="59"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1067" x2="1200" y1="67" y2="67"/>
<ellipse cx="1077" cy="78" 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="108" x="1086" y="81.2104">display() = 0 : void</text>
<line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="311.5" x2="539.5" y1="236.8047" y2="236.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L10" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L10" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="316.5" y="242.8047"/>
<ellipse cx="321.5" cy="247.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L38" target="_top" title="Color" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L38" xlink:show="new" xlink:title="Color" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="60.8047" id="C_0001473536569433029444" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="1007" y="190.5"/>
<ellipse cx="1037.3" cy="206.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1040.2688,212.1406 Q1039.6906,212.4375 1039.05,212.5781 Q1038.4094,212.7344 1037.7063,212.7344 Q1035.2063,212.7344 1033.8781,211.0938 Q1032.5656,209.4375 1032.5656,206.3125 Q1032.5656,203.1875 1033.8781,201.5313 Q1035.2063,199.875 1037.7063,199.875 Q1038.4094,199.875 1039.05,200.0313 Q1039.7063,200.1875 1040.2688,200.4844 L1040.2688,203.2031 Q1039.6438,202.625 1039.05,202.3594 Q1038.4563,202.0781 1037.8313,202.0781 Q1036.4875,202.0781 1035.8,203.1563 Q1035.1125,204.2188 1035.1125,206.3125 Q1035.1125,208.4063 1035.8,209.4844 Q1036.4875,210.5469 1037.8313,210.5469 Q1038.4563,210.5469 1039.05,210.2813 Q1039.6438,210 1040.2688,209.4219 L1040.2688,212.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="32" x="1054.7" y="210.6543">Color</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="1110" y="187.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="1111" y="199.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1008" x2="1115" y1="222.5" y2="222.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1008" x2="1115" y1="230.5" y2="230.5"/>
<ellipse cx="1018" cy="241.5" 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="83" x="1027" y="244.7104">display() : void</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L10" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L10" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="108" x="330.5" y="251.0151">display() = 0 : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L43" target="_top" title="Weight" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L43" xlink:show="new" xlink:title="Weight" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="60.8047" id="C_0002049455532387561338" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="1151" y="190.5"/>
<ellipse cx="1176.35" cy="206.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1179.3188,212.1406 Q1178.7406,212.4375 1178.1,212.5781 Q1177.4594,212.7344 1176.7563,212.7344 Q1174.2563,212.7344 1172.9281,211.0938 Q1171.6156,209.4375 1171.6156,206.3125 Q1171.6156,203.1875 1172.9281,201.5313 Q1174.2563,199.875 1176.7563,199.875 Q1177.4594,199.875 1178.1,200.0313 Q1178.7563,200.1875 1179.3188,200.4844 L1179.3188,203.2031 Q1178.6938,202.625 1178.1,202.3594 Q1177.5063,202.0781 1176.8813,202.0781 Q1175.5375,202.0781 1174.85,203.1563 Q1174.1625,204.2188 1174.1625,206.3125 Q1174.1625,208.4063 1174.85,209.4844 Q1175.5375,210.5469 1176.8813,210.5469 Q1177.5063,210.5469 1178.1,210.2813 Q1178.6938,210 1179.3188,209.4219 L1179.3188,212.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="43" x="1192.65" y="210.6543">Weight</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="1254" y="187.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="1255" y="199.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1152" x2="1259" y1="222.5" y2="222.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1152" x2="1259" y1="230.5" y2="230.5"/>
<ellipse cx="1162" cy="241.5" 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="83" x="1171" y="244.7104">display() : void</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="539.5" y1="257.6094" y2="257.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L14" target="_top" title="Line" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L14" xlink:show="new" xlink:title="Line" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0001568932879061562228" style="stroke: #A80036; stroke-width: 1.5;" width="57" x="764" y="33.5"/>
<ellipse cx="779" cy="49.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M781.9688,55.1406 Q781.3906,55.4375 780.75,55.5781 Q780.1094,55.7344 779.4063,55.7344 Q776.9063,55.7344 775.5781,54.0938 Q774.2656,52.4375 774.2656,49.3125 Q774.2656,46.1875 775.5781,44.5313 Q776.9063,42.875 779.4063,42.875 Q780.1094,42.875 780.75,43.0313 Q781.4063,43.1875 781.9688,43.4844 L781.9688,46.2031 Q781.3438,45.625 780.75,45.3594 Q780.1563,45.0781 779.5313,45.0781 Q778.1875,45.0781 777.5,46.1563 Q776.8125,47.2188 776.8125,49.3125 Q776.8125,51.4063 777.5,52.4844 Q778.1875,53.5469 779.5313,53.5469 Q780.1563,53.5469 780.75,53.2813 Q781.3438,53 781.9688,52.4219 L781.9688,55.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="793" y="53.6543">Line</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="765" x2="820" y1="65.5" y2="65.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="765" x2="820" y1="73.5" y2="73.5"/>
</a>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0002082936326417164202" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="226" y="197"/>
<ellipse cx="241" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M243.9688,218.6406 Q243.3906,218.9375 242.75,219.0781 Q242.1094,219.2344 241.4063,219.2344 Q238.9063,219.2344 237.5781,217.5938 Q236.2656,215.9375 236.2656,212.8125 Q236.2656,209.6875 237.5781,208.0313 Q238.9063,206.375 241.4063,206.375 Q242.1094,206.375 242.75,206.5313 Q243.4063,206.6875 243.9688,206.9844 L243.9688,209.7031 Q243.3438,209.125 242.75,208.8594 Q242.1563,208.5781 241.5313,208.5781 Q240.1875,208.5781 239.5,209.6563 Q238.8125,210.7188 238.8125,212.8125 Q238.8125,214.9063 239.5,215.9844 Q240.1875,217.0469 241.5313,217.0469 Q242.1563,217.0469 242.75,216.7813 Q243.3438,216.5 243.9688,215.9219 L243.9688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="255" y="217.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="82" x="288" y="194"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="289" y="206.1387">Color,Weight</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="227" x2="366" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="227" x2="366" y1="237" y2="237"/>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0000675132943535054947" style="stroke: #A80036; stroke-width: 1.5;" width="93" 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="25" x="35" y="217.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="34" x="68" y="194"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="32" x="69" y="206.1387">Color</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="98" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="98" y1="237" y2="237"/>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0001678874302644303776" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="607.5" y="197"/>
<ellipse cx="622.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M625.4688,218.6406 Q624.8906,218.9375 624.25,219.0781 Q623.6094,219.2344 622.9063,219.2344 Q620.4063,219.2344 619.0781,217.5938 Q617.7656,215.9375 617.7656,212.8125 Q617.7656,209.6875 619.0781,208.0313 Q620.4063,206.375 622.9063,206.375 Q623.6094,206.375 624.25,206.5313 Q624.9063,206.6875 625.4688,206.9844 L625.4688,209.7031 Q624.8438,209.125 624.25,208.8594 Q623.6563,208.5781 623.0313,208.5781 Q621.6875,208.5781 621,209.6563 Q620.3125,210.7188 620.3125,212.8125 Q620.3125,214.9063 621,215.9844 Q621.6875,217.0469 623.0313,217.0469 Q623.6563,217.0469 624.25,216.7813 Q624.8438,216.5 625.4688,215.9219 L625.4688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="636.5" y="217.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="82" x="670.5" y="194"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="671.5" y="206.1387">Color,Weight</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="608.5" x2="748.5" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="608.5" x2="748.5" y1="237" y2="237"/>
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="48" id="C_0001887786688778664182" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="784.5" y="197"/>
<ellipse cx="799.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M802.4688,218.6406 Q801.8906,218.9375 801.25,219.0781 Q800.6094,219.2344 799.9063,219.2344 Q797.4063,219.2344 796.0781,217.5938 Q794.7656,215.9375 794.7656,212.8125 Q794.7656,209.6875 796.0781,208.0313 Q797.4063,206.375 799.9063,206.375 Q800.6094,206.375 801.25,206.5313 Q801.9063,206.6875 802.4688,206.9844 L802.4688,209.7031 Q801.8438,209.125 801.25,208.8594 Q800.6563,208.5781 800.0313,208.5781 Q798.6875,208.5781 798,209.6563 Q797.3125,210.7188 797.3125,212.8125 Q797.3125,214.9063 798,215.9844 Q798.6875,217.0469 800.0313,217.0469 Q800.6563,217.0469 801.25,216.7813 Q801.8438,216.5 802.4688,215.9219 L802.4688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="813.5" y="217.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="34" x="847.5" y="194"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="32" x="848.5" y="206.1387">Color</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="785.5" x2="877.5" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="785.5" x2="877.5" y1="237" y2="237"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L48" target="_top" title="Window" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L48" xlink:show="new" xlink:title="Window" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fdoya7273fi9p)" height="99.2188" id="C_0001373544984027721472" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="428.5" y="8"/>
<ellipse cx="494.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M497.7188,29.6406 Q497.1406,29.9375 496.5,30.0781 Q495.8594,30.2344 495.1563,30.2344 Q492.6563,30.2344 491.3281,28.5938 Q490.0156,26.9375 490.0156,23.8125 Q490.0156,20.6875 491.3281,19.0313 Q492.6563,17.375 495.1563,17.375 Q495.8594,17.375 496.5,17.5313 Q497.1563,17.6875 497.7188,17.9844 L497.7188,20.7031 Q497.0938,20.125 496.5,19.8594 Q495.9063,19.5781 495.2813,19.5781 Q493.9375,19.5781 493.25,20.6563 Q492.5625,21.7188 492.5625,23.8125 Q492.5625,25.9063 493.25,26.9844 Q493.9375,28.0469 495.2813,28.0469 Q495.9063,28.0469 496.5,27.7813 Q497.0938,27.5 497.7188,26.9219 L497.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="515.25" y="28.1543">Window</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="615.5" y1="40" y2="40"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" target="_top" title="Line" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" xlink:show="new" xlink:title="Line" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="60.8047" id="C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="150" y="327"/>
<ellipse cx="169.05" cy="343" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M172.0188,348.6406 Q171.4406,348.9375 170.8,349.0781 Q170.1594,349.2344 169.4563,349.2344 Q166.9563,349.2344 165.6281,347.5938 Q164.3156,345.9375 164.3156,342.8125 Q164.3156,339.6875 165.6281,338.0313 Q166.9563,336.375 169.4563,336.375 Q170.1594,336.375 170.8,336.5313 Q171.4563,336.6875 172.0188,336.9844 L172.0188,339.7031 Q171.3938,339.125 170.8,338.8594 Q170.2063,338.5781 169.5813,338.5781 Q168.2375,338.5781 167.55,339.6563 Q166.8625,340.7188 166.8625,342.8125 Q166.8625,344.9063 167.55,345.9844 Q168.2375,347.0469 169.5813,347.0469 Q170.2063,347.0469 170.8,346.7813 Q171.3938,346.5 172.0188,345.9219 L172.0188,348.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="183.95" y="347.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="41" x="221" y="324"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="222" y="336.1387">T&lt;&gt;...</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="151" x2="258" y1="359" y2="359"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L49" target="_top" title="border" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L49" xlink:show="new" xlink:title="border" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="434.5" y="46"/>
<ellipse cx="439.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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L17" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L17" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="156" y="365"/>
<ellipse cx="161" cy="370" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L49" target="_top" title="border" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L49" xlink:show="new" xlink:title="border" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="162" x="448.5" y="54.2104">border : Line&lt;Color,Weight&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L17" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L17" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="170" y="373.2104">display() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L50" target="_top" title="divider" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L50" xlink:show="new" xlink:title="divider" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="434.5" y="58.8047"/>
<ellipse cx="439.5" cy="63.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="151" x2="258" y1="379.8047" y2="379.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L24" target="_top" title="Text" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L24" xlink:show="new" xlink:title="Text" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0001833467466291294724" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="943.5" y="33.5"/>
<ellipse cx="958.5" cy="49.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M961.4688,55.1406 Q960.8906,55.4375 960.25,55.5781 Q959.6094,55.7344 958.9063,55.7344 Q956.4063,55.7344 955.0781,54.0938 Q953.7656,52.4375 953.7656,49.3125 Q953.7656,46.1875 955.0781,44.5313 Q956.4063,42.875 958.9063,42.875 Q959.6094,42.875 960.25,43.0313 Q960.9063,43.1875 961.4688,43.4844 L961.4688,46.2031 Q960.8438,45.625 960.25,45.3594 Q959.6563,45.0781 959.0313,45.0781 Q957.6875,45.0781 957,46.1563 Q956.3125,47.2188 956.3125,49.3125 Q956.3125,51.4063 957,52.4844 Q957.6875,53.5469 959.0313,53.5469 Q959.6563,53.5469 960.25,53.2813 Q960.8438,53 961.4688,52.4219 L961.4688,55.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="972.5" y="53.6543">Text</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="944.5" x2="1000.5" y1="65.5" y2="65.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="944.5" x2="1000.5" y1="73.5" y2="73.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L50" target="_top" title="divider" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L50" xlink:show="new" xlink:title="divider" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="448.5" y="67.0151">divider : Line&lt;Color&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" target="_top" title="Text" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" xlink:show="new" xlink:title="Text" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="60.8047" id="C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="592" y="327"/>
<ellipse cx="610.6" cy="343" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M613.5688,348.6406 Q612.9906,348.9375 612.35,349.0781 Q611.7094,349.2344 611.0063,349.2344 Q608.5063,349.2344 607.1781,347.5938 Q605.8656,345.9375 605.8656,342.8125 Q605.8656,339.6875 607.1781,338.0313 Q608.5063,336.375 611.0063,336.375 Q611.7094,336.375 612.35,336.5313 Q613.0063,336.6875 613.5688,336.9844 L613.5688,339.7031 Q612.9438,339.125 612.35,338.8594 Q611.7563,338.5781 611.1313,338.5781 Q609.7875,338.5781 609.1,339.6563 Q608.4125,340.7188 608.4125,342.8125 Q608.4125,344.9063 609.1,345.9844 Q609.7875,347.0469 611.1313,347.0469 Q611.7563,347.0469 612.35,346.7813 Q612.9438,346.5 613.5688,345.9219 L613.5688,348.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="625.4" y="347.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="41" x="663" y="324"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="664" y="336.1387">T&lt;&gt;...</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="593" x2="700" y1="359" y2="359"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L51" target="_top" title="title" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L51" xlink:show="new" xlink:title="title" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="434.5" y="71.6094"/>
<ellipse cx="439.5" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L27" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L27" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="598" y="365"/>
<ellipse cx="603" cy="370" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L51" target="_top" title="title" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L51" xlink:show="new" xlink:title="title" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="448.5" y="79.8198">title : Text&lt;Color,Weight&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L27" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L27" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="612" y="373.2104">display() : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L52" target="_top" title="description" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L52" xlink:show="new" xlink:title="description" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="434.5" y="84.4141"/>
<ellipse cx="439.5" cy="89.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="593" x2="700" y1="379.8047" y2="379.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L34" target="_top" title="ShapeDecorator" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L34" xlink:show="new" xlink:title="ShapeDecorator" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="60.8047" id="C_0002049188825706164566" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1081" y="27"/>
<ellipse cx="1096" cy="43" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1096.1094,38.3438 L1094.9531,43.4219 L1097.2813,43.4219 L1096.1094,38.3438 Z M1094.625,36.1094 L1097.6094,36.1094 L1100.9688,48.5 L1098.5156,48.5 L1097.75,45.4375 L1094.4688,45.4375 L1093.7188,48.5 L1091.2813,48.5 L1094.625,36.1094 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="103" x="1110" y="47.1543">ShapeDecorator</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1082" x2="1215" y1="59" y2="59"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L52" target="_top" title="description" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00027/t00027.cc#L52" xlink:show="new" xlink:title="description" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="448.5" y="92.6245">description : Text&lt;Color&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L35" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L35" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1087" y="65"/>
<ellipse cx="1092" cy="70" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="615.5" y1="99.2188" y2="99.2188"/>
<path d="M168.74,245.2 C172.8,260.31 178.25,280.6 183.25,299.2 " fill="none" id="C_0001568932879061562228-&gt;C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="190.07,297.61,188.5,318.75,176.55,301.25,190.07,297.61" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M386.15,266.06 C340.77,285.79 289.05,308.27 251.09,324.77 " fill="none" id="C_0001593092483959332221&lt;-C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="383.37,259.63,404.5,258.08,388.95,272.47,383.37,259.63" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M913.49,244.91 C907.61,249.36 901.41,253.9 895.5,258 C870.67,275.2 842.66,293.03 817.92,308.27 " fill="none" id="C_0001833467466291294724-&gt;C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="821.3,314.41,800.59,318.86,814,302.46,821.3,314.41" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M580.7,266.83 C619.25,285.37 662.62,306.23 695.87,322.22 " fill="none" id="C_0001593092483959332221&lt;-C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="577.5,273.06,562.51,258.08,583.57,260.44,577.5,273.06" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1112.04,106.64 C1099.93,133.8 1085.18,166.89 1074.74,190.29 " fill="none" id="C_0002049188825706164566&lt;-C_0001473536569433029444" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="1105.76,103.54,1120.29,88.12,1118.54,109.24,1105.76,103.54" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1154.96,106.64 C1167.07,133.8 1181.82,166.89 1192.26,190.29 " fill="none" id="C_0002049188825706164566&lt;-C_0002049455532387561338" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="1148.46,109.24,1146.71,88.12,1161.24,103.54,1148.46,109.24" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M278.16,245.2 C265.38,261.36 247.93,283.45 232.43,303.05 " fill="none" id="C_0002082936326417164202-&gt;C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="237.91,307.4,220.02,318.75,226.93,298.72,237.91,307.4" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M78.91,245.2 C98.11,262.07 124.65,285.38 147.66,305.6 " fill="none" id="C_0000675132943535054947-&gt;C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="152.49,300.52,162.89,318.98,143.25,311.04,152.49,300.52" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M691.71,245.2 C700.63,260.88 712.72,282.13 723.62,301.28 " fill="none" id="C_0001678874302644303776-&gt;C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="729.76,297.9,733.57,318.75,717.59,304.83,729.76,297.9" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M816.64,245.2 C806.5,261.04 792.72,282.57 780.36,301.87 " fill="none" id="C_0001887786688778664182-&gt;C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="786.23,305.68,769.55,318.75,774.44,298.13,786.23,305.68" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M443.72,114.8 C404.31,142.96 358.78,175.49 328.91,196.84 " fill="none" id="C_0001373544984027721472&lt;-C_0002082936326417164202" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="454.39,107.17,447.1827,107.4053,444.6279,114.1486,451.8351,113.9133,454.39,107.17" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="415.5" cy="146.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="42" x="422.5" y="150.0669">border</text>
<path d="M415.38,84.92 C332.21,107.02 214.87,141.7 116.5,184 C107.83,187.73 98.83,192.31 90.41,196.94 " fill="none" id="C_0001373544984027721472&lt;-C_0000675132943535054947" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="428.17,81.55,421.3485,79.2117,416.5665,84.6091,423.3879,86.9474,428.17,81.55" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="242.5" cy="146.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="42" x="249.5" y="150.0669">divider</text>
<path d="M579.01,117 C605.73,144.67 636.11,176.11 656.19,196.9 " fill="none" id="C_0001373544984027721472&lt;-C_0001678874302644303776" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="569.73,107.39,571.0231,114.4842,578.0689,116.0192,576.7758,108.925,569.73,107.39" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="620.5" cy="146.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="627.5" y="150.0669">title</text>
<path d="M628.35,112.05 C671.37,134.05 721.46,159.95 766.5,184 C774.24,188.13 782.45,192.61 790.34,196.96 " fill="none" id="C_0001373544984027721472&lt;-C_0001887786688778664182" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="616.7,106.1,620.2253,112.3906,627.3879,111.556,623.8626,105.2653,616.7,106.1" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="713.5" cy="146.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="70" x="720.5" y="150.0669">description</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L35" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L35" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="108" x="1101" y="73.2104">display() = 0 : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1082" x2="1215" y1="79.8047" y2="79.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L38" target="_top" title="Color" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L38" xlink:show="new" xlink:title="Color" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="60.8047" id="C_0001473536569433029444" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="1022" y="194.5"/>
<ellipse cx="1052.3" cy="210.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1055.2688,216.1406 Q1054.6906,216.4375 1054.05,216.5781 Q1053.4094,216.7344 1052.7063,216.7344 Q1050.2063,216.7344 1048.8781,215.0938 Q1047.5656,213.4375 1047.5656,210.3125 Q1047.5656,207.1875 1048.8781,205.5313 Q1050.2063,203.875 1052.7063,203.875 Q1053.4094,203.875 1054.05,204.0313 Q1054.7063,204.1875 1055.2688,204.4844 L1055.2688,207.2031 Q1054.6438,206.625 1054.05,206.3594 Q1053.4563,206.0781 1052.8313,206.0781 Q1051.4875,206.0781 1050.8,207.1563 Q1050.1125,208.2188 1050.1125,210.3125 Q1050.1125,212.4063 1050.8,213.4844 Q1051.4875,214.5469 1052.8313,214.5469 Q1053.4563,214.5469 1054.05,214.2813 Q1054.6438,214 1055.2688,213.4219 L1055.2688,216.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="32" x="1069.7" y="214.6543">Color</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="1125" y="191.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="1126" y="203.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1023" x2="1130" y1="226.5" y2="226.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L40" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L40" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1028" y="232.5"/>
<ellipse cx="1033" cy="237.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L40" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L40" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="1042" y="240.7104">display() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1023" x2="1130" y1="247.3047" y2="247.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L43" target="_top" title="Weight" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L43" xlink:show="new" xlink:title="Weight" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="60.8047" id="C_0002049455532387561338" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="1166" y="194.5"/>
<ellipse cx="1191.35" cy="210.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1194.3188,216.1406 Q1193.7406,216.4375 1193.1,216.5781 Q1192.4594,216.7344 1191.7563,216.7344 Q1189.2563,216.7344 1187.9281,215.0938 Q1186.6156,213.4375 1186.6156,210.3125 Q1186.6156,207.1875 1187.9281,205.5313 Q1189.2563,203.875 1191.7563,203.875 Q1192.4594,203.875 1193.1,204.0313 Q1193.7563,204.1875 1194.3188,204.4844 L1194.3188,207.2031 Q1193.6938,206.625 1193.1,206.3594 Q1192.5063,206.0781 1191.8813,206.0781 Q1190.5375,206.0781 1189.85,207.1563 Q1189.1625,208.2188 1189.1625,210.3125 Q1189.1625,212.4063 1189.85,213.4844 Q1190.5375,214.5469 1191.8813,214.5469 Q1192.5063,214.5469 1193.1,214.2813 Q1193.6938,214 1194.3188,213.4219 L1194.3188,216.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="43" x="1207.65" y="214.6543">Weight</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="1269" y="191.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="1270" y="203.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1167" x2="1274" y1="226.5" y2="226.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L45" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L45" xlink:show="new" xlink:title="display" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="1172" y="232.5"/>
<ellipse cx="1177" cy="237.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L45" target="_top" title="display" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L45" xlink:show="new" xlink:title="display" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="1186" y="240.7104">display() : void</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="1167" x2="1274" y1="247.3047" y2="247.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" target="_top" title="Line" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" xlink:show="new" xlink:title="Line" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0002082936326417164202" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="134" y="201"/>
<ellipse cx="149" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M151.9688,222.6406 Q151.3906,222.9375 150.75,223.0781 Q150.1094,223.2344 149.4063,223.2344 Q146.9063,223.2344 145.5781,221.5938 Q144.2656,219.9375 144.2656,216.8125 Q144.2656,213.6875 145.5781,212.0313 Q146.9063,210.375 149.4063,210.375 Q150.1094,210.375 150.75,210.5313 Q151.4063,210.6875 151.9688,210.9844 L151.9688,213.7031 Q151.3438,213.125 150.75,212.8594 Q150.1563,212.5781 149.5313,212.5781 Q148.1875,212.5781 147.5,213.6563 Q146.8125,214.7188 146.8125,216.8125 Q146.8125,218.9063 147.5,219.9844 Q148.1875,221.0469 149.5313,221.0469 Q150.1563,221.0469 150.75,220.7813 Q151.3438,220.5 151.9688,219.9219 L151.9688,222.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="163" y="221.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="82" x="196" y="198"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="197" y="210.1387">Color,Weight</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135" x2="274" y1="233" y2="233"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="135" x2="274" y1="241" y2="241"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" target="_top" title="Line" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L15" xlink:show="new" xlink:title="Line" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0000675132943535054947" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="6" y="201"/>
<ellipse cx="21" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M23.9688,222.6406 Q23.3906,222.9375 22.75,223.0781 Q22.1094,223.2344 21.4063,223.2344 Q18.9063,223.2344 17.5781,221.5938 Q16.2656,219.9375 16.2656,216.8125 Q16.2656,213.6875 17.5781,212.0313 Q18.9063,210.375 21.4063,210.375 Q22.1094,210.375 22.75,210.5313 Q23.4063,210.6875 23.9688,210.9844 L23.9688,213.7031 Q23.3438,213.125 22.75,212.8594 Q22.1563,212.5781 21.5313,212.5781 Q20.1875,212.5781 19.5,213.6563 Q18.8125,214.7188 18.8125,216.8125 Q18.8125,218.9063 19.5,219.9844 Q20.1875,221.0469 21.5313,221.0469 Q22.1563,221.0469 22.75,220.7813 Q23.3438,220.5 23.9688,219.9219 L23.9688,222.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="35" y="221.1543">Line</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="34" x="68" y="198"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="32" x="69" y="210.1387">Color</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="98" y1="233" y2="233"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="98" y1="241" y2="241"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" target="_top" title="Text" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" xlink:show="new" xlink:title="Text" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0001678874302644303776" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="575.5" y="201"/>
<ellipse cx="590.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M593.4688,222.6406 Q592.8906,222.9375 592.25,223.0781 Q591.6094,223.2344 590.9063,223.2344 Q588.4063,223.2344 587.0781,221.5938 Q585.7656,219.9375 585.7656,216.8125 Q585.7656,213.6875 587.0781,212.0313 Q588.4063,210.375 590.9063,210.375 Q591.6094,210.375 592.25,210.5313 Q592.9063,210.6875 593.4688,210.9844 L593.4688,213.7031 Q592.8438,213.125 592.25,212.8594 Q591.6563,212.5781 591.0313,212.5781 Q589.6875,212.5781 589,213.6563 Q588.3125,214.7188 588.3125,216.8125 Q588.3125,218.9063 589,219.9844 Q589.6875,221.0469 591.0313,221.0469 Q591.6563,221.0469 592.25,220.7813 Q592.8438,220.5 593.4688,219.9219 L593.4688,222.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="604.5" y="221.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="82" x="638.5" y="198"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="639.5" y="210.1387">Color,Weight</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="576.5" x2="716.5" y1="233" y2="233"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="576.5" x2="716.5" y1="241" y2="241"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" target="_top" title="Text" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L25" xlink:show="new" xlink:title="Text" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="48" id="C_0001887786688778664182" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="752.5" y="201"/>
<ellipse cx="767.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M770.4688,222.6406 Q769.8906,222.9375 769.25,223.0781 Q768.6094,223.2344 767.9063,223.2344 Q765.4063,223.2344 764.0781,221.5938 Q762.7656,219.9375 762.7656,216.8125 Q762.7656,213.6875 764.0781,212.0313 Q765.4063,210.375 767.9063,210.375 Q768.6094,210.375 769.25,210.5313 Q769.9063,210.6875 770.4688,210.9844 L770.4688,213.7031 Q769.8438,213.125 769.25,212.8594 Q768.6563,212.5781 768.0313,212.5781 Q766.6875,212.5781 766,213.6563 Q765.3125,214.7188 765.3125,216.8125 Q765.3125,218.9063 766,219.9844 Q766.6875,221.0469 768.0313,221.0469 Q768.6563,221.0469 769.25,220.7813 Q769.8438,220.5 770.4688,219.9219 L770.4688,222.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="781.5" y="221.1543">Text</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="34" x="815.5" y="198"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="32" x="816.5" y="210.1387">Color</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="753.5" x2="845.5" y1="233" y2="233"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="753.5" x2="845.5" y1="241" y2="241"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L48" target="_top" title="Window" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L48" xlink:show="new" xlink:title="Window" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f17rso2o4k6wlh)" height="99.2188" id="C_0001373544984027721472" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="366.5" y="8"/>
<ellipse cx="432.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M435.7188,29.6406 Q435.1406,29.9375 434.5,30.0781 Q433.8594,30.2344 433.1563,30.2344 Q430.6563,30.2344 429.3281,28.5938 Q428.0156,26.9375 428.0156,23.8125 Q428.0156,20.6875 429.3281,19.0313 Q430.6563,17.375 433.1563,17.375 Q433.8594,17.375 434.5,17.5313 Q435.1563,17.6875 435.7188,17.9844 L435.7188,20.7031 Q435.0938,20.125 434.5,19.8594 Q433.9063,19.5781 433.2813,19.5781 Q431.9375,19.5781 431.25,20.6563 Q430.5625,21.7188 430.5625,23.8125 Q430.5625,25.9063 431.25,26.9844 Q431.9375,28.0469 433.2813,28.0469 Q433.9063,28.0469 434.5,27.7813 Q435.0938,27.5 435.7188,26.9219 L435.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="453.25" y="28.1543">Window</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="367.5" x2="553.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="367.5" x2="553.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L49" target="_top" title="border" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L49" xlink:show="new" xlink:title="border" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372.5" y="54"/>
<ellipse cx="377.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L49" target="_top" title="border" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L49" xlink:show="new" xlink:title="border" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="162" x="386.5" y="62.2104">border : Line&lt;Color,Weight&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L52" target="_top" title="description" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L52" xlink:show="new" xlink:title="description" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372.5" y="66.8047"/>
<ellipse cx="377.5" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L52" target="_top" title="description" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L52" xlink:show="new" xlink:title="description" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="386.5" y="75.0151">description : Text&lt;Color&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L50" target="_top" title="divider" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L50" xlink:show="new" xlink:title="divider" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372.5" y="79.6094"/>
<ellipse cx="377.5" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L50" target="_top" title="divider" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L50" xlink:show="new" xlink:title="divider" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="386.5" y="87.8198">divider : Line&lt;Color&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L51" target="_top" title="title" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L51" xlink:show="new" xlink:title="title" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="372.5" y="92.4141"/>
<ellipse cx="377.5" cy="97.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L51" target="_top" title="title" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00027/t00027.cc#L51" xlink:show="new" xlink:title="title" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="386.5" y="100.6245">title : Text&lt;Color,Weight&gt;</text>
</a>
<path d="M340.09,276.44 C311.19,293.5 279.87,311.99 254.63,326.9 " fill="none" id="C_0001593092483959332221&lt;-C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="336.91,270.18,357.69,266.04,344.03,282.24,336.91,270.18" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M510.91,276.44 C539.81,293.5 571.13,311.99 596.37,326.9 " fill="none" id="C_0001593092483959332221&lt;-C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="506.97,282.24,493.31,266.04,514.09,270.18,506.97,282.24" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1127.63,106.48 C1115.27,134.89 1100,169.98 1089.38,194.39 " fill="none" id="C_0002049188825706164566&lt;-C_0001473536569433029444" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="1121.23,103.64,1135.63,88.09,1134.07,109.22,1121.23,103.64" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1169.37,106.48 C1181.73,134.89 1197,169.98 1207.62,194.39 " fill="none" id="C_0002049188825706164566&lt;-C_0002049455532387561338" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="none" points="1162.93,109.22,1161.37,88.09,1175.77,103.64,1162.93,109.22" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M204.5,249.03 C204.5,265.02 204.5,286.94 204.5,306.81 " fill="none" id="C_0002082936326417164202-&gt;C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="211.5,306.82,204.5,326.82,197.5,306.82,211.5,306.82" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M79.32,249.03 C100.12,266.88 129.52,292.12 154.6,313.66 " fill="none" id="C_0000675132943535054947-&gt;C_0000142374082478337852" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="159.32,308.48,169.93,326.82,150.2,319.1,159.32,308.48" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M646.5,249.03 C646.5,265.02 646.5,286.94 646.5,306.81 " fill="none" id="C_0001678874302644303776-&gt;C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="653.5,306.82,646.5,326.82,639.5,306.82,653.5,306.82" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M772.5,249.03 C751.57,266.88 721.98,292.12 696.73,313.66 " fill="none" id="C_0001887786688778664182-&gt;C_0001114634647721878603" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="701.06,319.17,681.3,326.82,691.97,308.52,701.06,319.17" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M374.27,114.25 C328.47,143.86 274.65,178.65 240.08,201 " fill="none" id="C_0001373544984027721472&lt;-C_0002082936326417164202" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="385.42,107.04,378.2097,106.9346,375.3392,113.5497,382.5495,113.6551,385.42,107.04" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="338.5" cy="146.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="42" x="345.5" y="150.0669">border</text>
<path d="M353.7,91.06 C284.55,113.69 193.4,146.45 116.5,184 C106.49,188.89 96.07,194.94 86.62,200.84 " fill="none" id="C_0001373544984027721472&lt;-C_0000675132943535054947" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="366.35,86.96,359.4084,85.0071,354.9358,90.6637,361.8775,92.6166,366.35,86.96" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="224.5" cy="146.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="42" x="231.5" y="150.0669">divider</text>
<path d="M525.06,115.94 C557.91,145.18 596.01,179.08 620.65,201 " fill="none" id="C_0001373544984027721472&lt;-C_0001678874302644303776" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="515.05,107.04,516.8738,114.0167,524.0153,115.0165,522.1915,108.0398,515.05,107.04" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="571.5" cy="146.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="578.5" y="150.0669">title</text>
<path d="M566.91,103.61 C618.27,126.3 680.35,155.07 734.5,184 C744.2,189.18 754.44,195.21 763.86,200.99 " fill="none" id="C_0001373544984027721472&lt;-C_0001887786688778664182" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="554.77,98.28,558.648,104.3596,565.7514,103.1182,561.8734,97.0386,554.77,98.28" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="674.5" cy="146.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="70" x="681.5" y="150.0669">description</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -13,6 +13,12 @@ diagrams:
include:
namespaces:
- clanguml::t00028
plantuml:
after:
- >
note left of {{ alias("R") }}::ccc
Reference to C.
end note
```
## Source code
@@ -25,25 +31,21 @@ namespace clanguml {
namespace t00028 {
/// \uml{note[top] A class note.}
class A {
};
class A { };
/// \uml{note[] B class note.}
class B {
};
class B { };
///
/// @uml{note:t00028_class[bottom] C class note.}
/// This is class C.
class C {
};
class C { };
/// \uml{note
/// D
/// class
/// note.}
class D {
};
class D { };
/// \uml{note E template class note.}
template <typename T> class E {
@@ -51,8 +53,7 @@ template <typename T> class E {
};
/// \uml{note:other_diagram[left] G class note.}
class G {
};
class G { };
/// @uml{note[ bottom ] F enum note.}
enum class F { one, two, three };
@@ -64,8 +65,10 @@ class R {
{
}
/// \uml{note[left] R contains an instance of A.}
A aaa;
/// \uml{note:other_diagram[right] R contains an pointer to B.}
B *bbb;
C &ccc;
@@ -83,3 +86,434 @@ class R {
```
## Generated UML diagrams
![t00028_class](./t00028_class.svg "PlantUML note decorator test case")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"comment": {
"formatted": "\\uml{note[top] A class note.}",
"raw": "/// \\uml{note[top] A class note.}"
},
"display_name": "clanguml::t00028::A",
"id": "1519850480962783588",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "A",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 8,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\\uml{note[] B class note.}",
"raw": "/// \\uml{note[] B class note.}"
},
"display_name": "clanguml::t00028::B",
"id": "1980597091567213070",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "B",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 11,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\n @uml{note:t00028_class[bottom] C class note.}\n This is class C.",
"raw": "///\n/// @uml{note:t00028_class[bottom] C class note.}\n/// This is class C."
},
"display_name": "clanguml::t00028::C",
"id": "984577258575112753",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "C",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 16,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\\uml{note\nD\nclass\nnote.}",
"raw": "/// \\uml{note\n/// D\n/// class\n/// note.}"
},
"display_name": "clanguml::t00028::D",
"id": "1263778658518784070",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "D",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 22,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\\uml{note E template class note.}",
"raw": "/// \\uml{note E template class note.}"
},
"display_name": "clanguml::t00028::E<T>",
"id": "1014136565447389473",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [
{
"access": "private",
"is_static": false,
"name": "param",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 26,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "T"
}
],
"methods": [],
"name": "E",
"namespace": "clanguml::t00028",
"source_location": {
"column": 29,
"file": "../../tests/t00028/t00028.cc",
"line": 25,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "template_type",
"name": "T",
"template_parameters": []
}
],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\\uml{note:other_diagram[left] G class note.}",
"raw": "/// \\uml{note:other_diagram[left] G class note.}"
},
"display_name": "clanguml::t00028::G",
"id": "764713728396057122",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "G",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 30,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
},
{
"comment": {
"formatted": "@uml{note[ bottom ] F enum note.}",
"raw": "/// @uml{note[ bottom ] F enum note.}"
},
"constants": [
"one",
"two",
"three"
],
"display_name": "clanguml::t00028::F",
"id": "589227897266388677",
"is_nested": false,
"name": "F",
"namespace": "clanguml::t00028",
"source_location": {
"column": 12,
"file": "../../tests/t00028/t00028.cc",
"line": 33,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "enum"
},
{
"bases": [],
"display_name": "clanguml::t00028::E<int>",
"id": "1949673179441298667",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [],
"methods": [],
"name": "E",
"namespace": "clanguml::t00028",
"source_location": {
"column": 29,
"file": "../../tests/t00028/t00028.cc",
"line": 25,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "argument",
"template_parameters": [],
"type": "int"
}
],
"type": "class"
},
{
"bases": [],
"comment": {
"formatted": "\\uml{note[right] R class note.}",
"raw": "/// \\uml{note[right] R class note.}"
},
"display_name": "clanguml::t00028::R",
"id": "1189142882239313116",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [
{
"access": "private",
"comment": {
"formatted": "\\uml{note[left] R contains an instance of A.}",
"raw": "/// \\uml{note[left] R contains an instance of A.}"
},
"is_static": false,
"name": "aaa",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 43,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "clanguml::t00028::A"
},
{
"access": "private",
"comment": {
"formatted": "\\uml{note:other_diagram[right] R contains an pointer to B.}",
"raw": "/// \\uml{note:other_diagram[right] R contains an pointer to B.}"
},
"is_static": false,
"name": "bbb",
"source_location": {
"column": 8,
"file": "../../tests/t00028/t00028.cc",
"line": 46,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "clanguml::t00028::B *"
},
{
"access": "private",
"is_static": false,
"name": "ccc",
"source_location": {
"column": 8,
"file": "../../tests/t00028/t00028.cc",
"line": 48,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "clanguml::t00028::C &"
},
{
"access": "private",
"is_static": false,
"name": "ddd",
"source_location": {
"column": 37,
"file": "../../tests/t00028/t00028.cc",
"line": 50,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "std::vector<std::shared_ptr<D>>"
},
{
"access": "private",
"is_static": false,
"name": "eee",
"source_location": {
"column": 12,
"file": "../../tests/t00028/t00028.cc",
"line": 52,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "E<int>"
},
{
"access": "private",
"is_static": false,
"name": "ggg",
"source_location": {
"column": 9,
"file": "../../tests/t00028/t00028.cc",
"line": 54,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "clanguml::t00028::G **"
}
],
"methods": [
{
"access": "private",
"is_const": false,
"is_consteval": false,
"is_constexpr": false,
"is_constructor": true,
"is_copy_assignment": 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": "R",
"parameters": [
{
"name": "c",
"type": "clanguml::t00028::C &"
}
],
"source_location": {
"column": 14,
"file": "../../tests/t00028/t00028.cc",
"line": 37,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"type": "void"
}
],
"name": "R",
"namespace": "clanguml::t00028",
"source_location": {
"column": 7,
"file": "../../tests/t00028/t00028.cc",
"line": 36,
"translation_unit": "../../tests/t00028/t00028.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00028_class",
"relationships": [
{
"access": "public",
"destination": "1014136565447389473",
"source": "1949673179441298667",
"type": "instantiation"
},
{
"access": "private",
"destination": "1519850480962783588",
"label": "aaa",
"source": "1189142882239313116",
"type": "aggregation"
},
{
"access": "private",
"destination": "1980597091567213070",
"label": "bbb",
"source": "1189142882239313116",
"type": "association"
},
{
"access": "private",
"destination": "984577258575112753",
"label": "ccc",
"source": "1189142882239313116",
"type": "association"
},
{
"access": "private",
"destination": "1263778658518784070",
"label": "ddd",
"source": "1189142882239313116",
"type": "aggregation"
},
{
"access": "private",
"destination": "1949673179441298667",
"label": "eee",
"source": "1189142882239313116",
"type": "aggregation"
},
{
"access": "private",
"destination": "764713728396057122",
"label": "ggg",
"source": "1189142882239313116",
"type": "association"
}
],
"using_namespace": "clanguml::t00028"
}
```

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="410px" preserveAspectRatio="none" style="width:877px;height:410px;" version="1.1" viewBox="0 0 877 410" width="877px" zoomAndPan="magnify">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="410px" preserveAspectRatio="none" style="width:1066px;height:410px;" version="1.1" viewBox="0 0 1066 410" width="1066px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fqeb85vsnhvkq" width="300%" x="-1" y="-1">
<filter height="300%" id="f1onb3zhh9lx1k" 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"/>
@@ -9,186 +9,195 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L8" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L8" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0001519850480962783588" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="95" y="226.5"/>
<ellipse cx="110" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M112.9688,248.1406 Q112.3906,248.4375 111.75,248.5781 Q111.1094,248.7344 110.4063,248.7344 Q107.9063,248.7344 106.5781,247.0938 Q105.2656,245.4375 105.2656,242.3125 Q105.2656,239.1875 106.5781,237.5313 Q107.9063,235.875 110.4063,235.875 Q111.1094,235.875 111.75,236.0313 Q112.4063,236.1875 112.9688,236.4844 L112.9688,239.2031 Q112.3438,238.625 111.75,238.3594 Q111.1563,238.0781 110.5313,238.0781 Q109.1875,238.0781 108.5,239.1563 Q107.8125,240.2188 107.8125,242.3125 Q107.8125,244.4063 108.5,245.4844 Q109.1875,246.5469 110.5313,246.5469 Q111.1563,246.5469 111.75,246.2813 Q112.3438,246 112.9688,245.4219 L112.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="124" y="246.6543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="96" x2="134" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="96" x2="134" y1="266.5" y2="266.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L8" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L8" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0001519850480962783588" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="63.5" y="226.5"/>
<ellipse cx="78.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M81.4688,248.1406 Q80.8906,248.4375 80.25,248.5781 Q79.6094,248.7344 78.9063,248.7344 Q76.4063,248.7344 75.0781,247.0938 Q73.7656,245.4375 73.7656,242.3125 Q73.7656,239.1875 75.0781,237.5313 Q76.4063,235.875 78.9063,235.875 Q79.6094,235.875 80.25,236.0313 Q80.9063,236.1875 81.4688,236.4844 L81.4688,239.2031 Q80.8438,238.625 80.25,238.3594 Q79.6563,238.0781 79.0313,238.0781 Q77.6875,238.0781 77,239.1563 Q76.3125,240.2188 76.3125,242.3125 Q76.3125,244.4063 77,245.4844 Q77.6875,246.5469 79.0313,246.5469 Q79.6563,246.5469 80.25,246.2813 Q80.8438,246 81.4688,245.4219 L81.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="92.5" y="246.6543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="64.5" x2="102.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="64.5" x2="102.5" y1="266.5" y2="266.5"/>
</a>
<path d="M12.5,64.5 L12.5,89.6328 L115.5,89.6328 L115.5,74.5 L105.5,64.5 L12.5,64.5 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M105.5,64.5 L105.5,74.5 L115.5,74.5 L105.5,64.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="18.5" y="81.5669">A class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L12" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L12" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0001980597091567213070" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="684" y="226.5"/>
<ellipse cx="699" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M701.9688,248.1406 Q701.3906,248.4375 700.75,248.5781 Q700.1094,248.7344 699.4063,248.7344 Q696.9063,248.7344 695.5781,247.0938 Q694.2656,245.4375 694.2656,242.3125 Q694.2656,239.1875 695.5781,237.5313 Q696.9063,235.875 699.4063,235.875 Q700.1094,235.875 700.75,236.0313 Q701.4063,236.1875 701.9688,236.4844 L701.9688,239.2031 Q701.3438,238.625 700.75,238.3594 Q700.1563,238.0781 699.5313,238.0781 Q698.1875,238.0781 697.5,239.1563 Q696.8125,240.2188 696.8125,242.3125 Q696.8125,244.4063 697.5,245.4844 Q698.1875,246.5469 699.5313,246.5469 Q700.1563,246.5469 700.75,246.2813 Q701.3438,246 701.9688,245.4219 L701.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="713" y="246.6543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="685" x2="723" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="685" x2="723" y1="266.5" y2="266.5"/>
<path d="M6,64.5 L6,89.6328 A0,0 0 0 0 6,89.6328 L55.25,89.6328 L80,226.42 L63.25,89.6328 L109,89.6328 A0,0 0 0 0 109,89.6328 L109,74.5 L99,64.5 L6,64.5 A0,0 0 0 0 6,64.5 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M99,64.5 L99,74.5 L109,74.5 L99,64.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="12" y="81.5669">A class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L11" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L11" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0001980597091567213070" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="707.5" y="226.5"/>
<ellipse cx="722.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M725.4688,248.1406 Q724.8906,248.4375 724.25,248.5781 Q723.6094,248.7344 722.9063,248.7344 Q720.4063,248.7344 719.0781,247.0938 Q717.7656,245.4375 717.7656,242.3125 Q717.7656,239.1875 719.0781,237.5313 Q720.4063,235.875 722.9063,235.875 Q723.6094,235.875 724.25,236.0313 Q724.9063,236.1875 725.4688,236.4844 L725.4688,239.2031 Q724.8438,238.625 724.25,238.3594 Q723.6563,238.0781 723.0313,238.0781 Q721.6875,238.0781 721,239.1563 Q720.3125,240.2188 720.3125,242.3125 Q720.3125,244.4063 721,245.4844 Q721.6875,246.5469 723.0313,246.5469 Q723.6563,246.5469 724.25,246.2813 Q724.8438,246 725.4688,245.4219 L725.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="736.5" y="246.6543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="708.5" x2="746.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="708.5" x2="746.5" y1="266.5" y2="266.5"/>
</a>
<path d="M545.5,238 L545.5,263.1328 A0,0 0 0 0 545.5,263.1328 L648.5,263.1328 A0,0 0 0 0 648.5,263.1328 L648.5,256 L683.74,250.5 L648.5,248 L648.5,248 L638.5,238 L545.5,238 A0,0 0 0 0 545.5,238 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M638.5,238 L638.5,248 L648.5,248 L638.5,238 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="551.5" y="255.0669">B class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L18" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L18" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0000984577258575112753" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="247" y="226.5"/>
<ellipse cx="262" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M264.9688,248.1406 Q264.3906,248.4375 263.75,248.5781 Q263.1094,248.7344 262.4063,248.7344 Q259.9063,248.7344 258.5781,247.0938 Q257.2656,245.4375 257.2656,242.3125 Q257.2656,239.1875 258.5781,237.5313 Q259.9063,235.875 262.4063,235.875 Q263.1094,235.875 263.75,236.0313 Q264.4063,236.1875 264.9688,236.4844 L264.9688,239.2031 Q264.3438,238.625 263.75,238.3594 Q263.1563,238.0781 262.5313,238.0781 Q261.1875,238.0781 260.5,239.1563 Q259.8125,240.2188 259.8125,242.3125 Q259.8125,244.4063 260.5,245.4844 Q261.1875,246.5469 262.5313,246.5469 Q263.1563,246.5469 263.75,246.2813 Q264.3438,246 264.9688,245.4219 L264.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="276" y="246.6543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="286" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="286" y1="266.5" y2="266.5"/>
<path d="M569,238 L569,263.1328 A0,0 0 0 0 569,263.1328 L672,263.1328 A0,0 0 0 0 672,263.1328 L672,256 L707.24,250.5 L672,248 L672,248 L662,238 L569,238 A0,0 0 0 0 569,238 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M662,238 L662,248 L672,248 L662,238 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="575" y="255.0669">B class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L16" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L16" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0000984577258575112753" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="269.5" y="226.5"/>
<ellipse cx="284.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M287.4688,248.1406 Q286.8906,248.4375 286.25,248.5781 Q285.6094,248.7344 284.9063,248.7344 Q282.4063,248.7344 281.0781,247.0938 Q279.7656,245.4375 279.7656,242.3125 Q279.7656,239.1875 281.0781,237.5313 Q282.4063,235.875 284.9063,235.875 Q285.6094,235.875 286.25,236.0313 Q286.9063,236.1875 287.4688,236.4844 L287.4688,239.2031 Q286.8438,238.625 286.25,238.3594 Q285.6563,238.0781 285.0313,238.0781 Q283.6875,238.0781 283,239.1563 Q282.3125,240.2188 282.3125,242.3125 Q282.3125,244.4063 283,245.4844 Q283.6875,246.5469 285.0313,246.5469 Q285.6563,246.5469 286.25,246.2813 Q286.8438,246 287.4688,245.4219 L287.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.5" y="246.6543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="270.5" x2="308.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="270.5" x2="308.5" y1="266.5" y2="266.5"/>
</a>
<path d="M158.5,357 L158.5,382.1328 A0,0 0 0 0 158.5,382.1328 L261.5,382.1328 A0,0 0 0 0 261.5,382.1328 L261.5,367 L251.5,357 L219.68,357 L255.74,274.62 L211.68,357 L158.5,357 A0,0 0 0 0 158.5,357 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M251.5,357 L251.5,367 L261.5,367 L251.5,357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="164.5" y="374.0669">C class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L25" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L25" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0001263778658518784070" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="170.5" y="226.5"/>
<ellipse cx="185.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M188.4688,248.1406 Q187.8906,248.4375 187.25,248.5781 Q186.6094,248.7344 185.9063,248.7344 Q183.4063,248.7344 182.0781,247.0938 Q180.7656,245.4375 180.7656,242.3125 Q180.7656,239.1875 182.0781,237.5313 Q183.4063,235.875 185.9063,235.875 Q186.6094,235.875 187.25,236.0313 Q187.9063,236.1875 188.4688,236.4844 L188.4688,239.2031 Q187.8438,238.625 187.25,238.3594 Q186.6563,238.0781 186.0313,238.0781 Q184.6875,238.0781 184,239.1563 Q183.3125,240.2188 183.3125,242.3125 Q183.3125,244.4063 184,245.4844 Q184.6875,246.5469 186.0313,246.5469 Q186.6563,246.5469 187.25,246.2813 Q187.8438,246 188.4688,245.4219 L188.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="199.5" y="246.6543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="171.5" x2="210.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="171.5" x2="210.5" y1="266.5" y2="266.5"/>
<path d="M182,357 L182,382.1328 A0,0 0 0 0 182,382.1328 L285,382.1328 A0,0 0 0 0 285,382.1328 L285,367 L275,357 L243.08,357 L278.44,274.62 L235.08,357 L182,357 A0,0 0 0 0 182,357 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M275,357 L275,367 L285,367 L275,357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="188" y="374.0669">C class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L22" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L22" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0001263778658518784070" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="872" y="226.5"/>
<ellipse cx="887" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M889.9688,248.1406 Q889.3906,248.4375 888.75,248.5781 Q888.1094,248.7344 887.4063,248.7344 Q884.9063,248.7344 883.5781,247.0938 Q882.2656,245.4375 882.2656,242.3125 Q882.2656,239.1875 883.5781,237.5313 Q884.9063,235.875 887.4063,235.875 Q888.1094,235.875 888.75,236.0313 Q889.4063,236.1875 889.9688,236.4844 L889.9688,239.2031 Q889.3438,238.625 888.75,238.3594 Q888.1563,238.0781 887.5313,238.0781 Q886.1875,238.0781 885.5,239.1563 Q884.8125,240.2188 884.8125,242.3125 Q884.8125,244.4063 885.5,245.4844 Q886.1875,246.5469 887.5313,246.5469 Q888.1563,246.5469 888.75,246.2813 Q889.3438,246 889.9688,245.4219 L889.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="901" y="246.6543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="873" x2="912" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="873" x2="912" y1="266.5" y2="266.5"/>
</a>
<path d="M6,223 L6,278.3984 L60,278.3984 L60,233 L50,223 L6,223 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M50,223 L50,233 L60,233 L50,223 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="10" x="12" y="240.0669">D</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="12" y="255.1997">class</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="12" y="270.3325">note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L29" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L29" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="60.8047" id="C_0001014136565447389473" style="stroke: #A80036; stroke-width: 1.5;" width="82" x="496" y="339"/>
<ellipse cx="524.95" cy="355" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M527.9188,360.6406 Q527.3406,360.9375 526.7,361.0781 Q526.0594,361.2344 525.3563,361.2344 Q522.8563,361.2344 521.5281,359.5938 Q520.2156,357.9375 520.2156,354.8125 Q520.2156,351.6875 521.5281,350.0313 Q522.8563,348.375 525.3563,348.375 Q526.0594,348.375 526.7,348.5313 Q527.3563,348.6875 527.9188,348.9844 L527.9188,351.7031 Q527.2938,351.125 526.7,350.8594 Q526.1063,350.5781 525.4813,350.5781 Q524.1375,350.5781 523.45,351.6563 Q522.7625,352.7188 522.7625,354.8125 Q522.7625,356.9063 523.45,357.9844 Q524.1375,359.0469 525.4813,359.0469 Q526.1063,359.0469 526.7,358.7813 Q527.2938,358.5 527.9188,357.9219 L527.9188,360.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="542.05" y="359.1543">E</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="572" y="336"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="573" y="348.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="497" x2="577" y1="371" y2="371"/>
<path d="M782.5,223 L782.5,278.3984 A0,0 0 0 0 782.5,278.3984 L836.5,278.3984 A0,0 0 0 0 836.5,278.3984 L836.5,254.5 L871.59,250.5 L836.5,246.5 L836.5,233 L826.5,223 L782.5,223 A0,0 0 0 0 782.5,223 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M826.5,223 L826.5,233 L836.5,233 L826.5,223 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="10" x="788.5" y="240.0669">D</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="788.5" y="255.1997">class</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="788.5" y="270.3325">note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L25" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L25" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="60.8047" id="C_0001014136565447389473" style="stroke: #A80036; stroke-width: 1.5;" width="82" x="519.5" y="339"/>
<ellipse cx="548.45" cy="355" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M551.4188,360.6406 Q550.8406,360.9375 550.2,361.0781 Q549.5594,361.2344 548.8563,361.2344 Q546.3563,361.2344 545.0281,359.5938 Q543.7156,357.9375 543.7156,354.8125 Q543.7156,351.6875 545.0281,350.0313 Q546.3563,348.375 548.8563,348.375 Q549.5594,348.375 550.2,348.5313 Q550.8563,348.6875 551.4188,348.9844 L551.4188,351.7031 Q550.7938,351.125 550.2,350.8594 Q549.6063,350.5781 548.9813,350.5781 Q547.6375,350.5781 546.95,351.6563 Q546.2625,352.7188 546.2625,354.8125 Q546.2625,356.9063 546.95,357.9844 Q547.6375,359.0469 548.9813,359.0469 Q549.6063,359.0469 550.2,358.7813 Q550.7938,358.5 551.4188,357.9219 L551.4188,360.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="565.55" y="359.1543">E</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="595.5" y="336"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="596.5" y="348.1387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="520.5" x2="600.5" y1="371" y2="371"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="520.5" x2="600.5" y1="379" y2="379"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L30" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L30" xlink:show="new" xlink:title="param" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="502" y="377"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="504" y="379"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L26" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L26" xlink:show="new" xlink:title="param" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="525.5" y="385"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="527.5" y="387"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L30" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L30" xlink:show="new" xlink:title="param" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="516" y="385.2104">param : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L26" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L26" xlink:show="new" xlink:title="param" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="539.5" y="393.2104">param : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="497" x2="577" y1="391.8047" y2="391.8047"/>
<path d="M297,357 L297,382.1328 A0,0 0 0 0 297,382.1328 L461,382.1328 A0,0 0 0 0 461,382.1328 L461,375 L495.78,369.5 L461,367 L461,367 L451,357 L297,357 A0,0 0 0 0 297,357 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M451,357 L451,367 L461,367 L451,357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="143" x="303" y="374.0669">E template class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L34" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L34" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0000764713728396057122" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="373.5" y="226.5"/>
<ellipse cx="388.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M391.4688,248.1406 Q390.8906,248.4375 390.25,248.5781 Q389.6094,248.7344 388.9063,248.7344 Q386.4063,248.7344 385.0781,247.0938 Q383.7656,245.4375 383.7656,242.3125 Q383.7656,239.1875 385.0781,237.5313 Q386.4063,235.875 388.9063,235.875 Q389.6094,235.875 390.25,236.0313 Q390.9063,236.1875 391.4688,236.4844 L391.4688,239.2031 Q390.8438,238.625 390.25,238.3594 Q389.6563,238.0781 389.0313,238.0781 Q387.6875,238.0781 387,239.1563 Q386.3125,240.2188 386.3125,242.3125 Q386.3125,244.4063 387,245.4844 Q387.6875,246.5469 389.0313,246.5469 Q389.6563,246.5469 390.25,246.2813 Q390.8438,246 391.4688,245.4219 L391.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="402.5" y="246.6543">G</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="374.5" x2="413.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="374.5" x2="413.5" y1="266.5" y2="266.5"/>
<path d="M320.5,357 L320.5,382.1328 A0,0 0 0 0 320.5,382.1328 L484.5,382.1328 A0,0 0 0 0 484.5,382.1328 L484.5,375 L519.28,369.5 L484.5,367 L484.5,367 L474.5,357 L320.5,357 A0,0 0 0 0 320.5,357 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M474.5,357 L474.5,367 L484.5,367 L474.5,357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="143" x="326.5" y="374.0669">E template class note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L30" target="_top" title="G" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L30" xlink:show="new" xlink:title="G" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0000764713728396057122" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="397" y="226.5"/>
<ellipse cx="412" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M414.9688,248.1406 Q414.3906,248.4375 413.75,248.5781 Q413.1094,248.7344 412.4063,248.7344 Q409.9063,248.7344 408.5781,247.0938 Q407.2656,245.4375 407.2656,242.3125 Q407.2656,239.1875 408.5781,237.5313 Q409.9063,235.875 412.4063,235.875 Q413.1094,235.875 413.75,236.0313 Q414.4063,236.1875 414.9688,236.4844 L414.9688,239.2031 Q414.3438,238.625 413.75,238.3594 Q413.1563,238.0781 412.5313,238.0781 Q411.1875,238.0781 410.5,239.1563 Q409.8125,240.2188 409.8125,242.3125 Q409.8125,244.4063 410.5,245.4844 Q411.1875,246.5469 412.5313,246.5469 Q413.1563,246.5469 413.75,246.2813 Q414.3438,246 414.9688,245.4219 L414.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="426" y="246.6543">G</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="398" x2="437" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="398" x2="437" y1="266.5" y2="266.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L38" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L38" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="86.4141" id="C_0000589227897266388677" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="791" y="34"/>
<ellipse cx="807.35" cy="50" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M811.4594,56 L803.7406,56 L803.7406,43.6094 L811.4594,43.6094 L811.4594,45.7656 L806.1938,45.7656 L806.1938,48.4375 L810.9594,48.4375 L810.9594,50.5938 L806.1938,50.5938 L806.1938,53.8438 L811.4594,53.8438 L811.4594,56 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="821.65" y="54.1543">F</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="832" y1="66" y2="66"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="797" y="80.2104">one</text>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="797" y="93.0151">two</text>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="30" x="797" y="105.8198">three</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="832" y1="112.4141" y2="112.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L33" target="_top" title="F" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L33" xlink:show="new" xlink:title="F" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="86.4141" id="C_0000589227897266388677" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="980.5" y="34"/>
<ellipse cx="996.85" cy="50" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1000.9594,56 L993.2406,56 L993.2406,43.6094 L1000.9594,43.6094 L1000.9594,45.7656 L995.6938,45.7656 L995.6938,48.4375 L1000.4594,48.4375 L1000.4594,50.5938 L995.6938,50.5938 L995.6938,53.8438 L1000.9594,53.8438 L1000.9594,56 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="7" x="1011.15" y="54.1543">F</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="981.5" x2="1021.5" y1="66" y2="66"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="986.5" y="80.2104">one</text>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="986.5" y="93.0151">two</text>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="30" x="986.5" y="105.8198">three</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="981.5" x2="1021.5" y1="112.4141" y2="112.4141"/>
</a>
<path d="M759,238 L759,263.1328 A0,0 0 0 0 759,263.1328 L865,263.1328 A0,0 0 0 0 865,263.1328 L865,248 L855,238 L816,238 L812,120.39 L808,238 L759,238 A0,0 0 0 0 759,238 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M855,238 L855,248 L865,248 L855,238 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="765" y="255.0669">F enum note.</text>
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="48" id="C_0001949673179441298667" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="450" y="226.5"/>
<ellipse cx="465" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M467.9688,248.1406 Q467.3906,248.4375 466.75,248.5781 Q466.1094,248.7344 465.4063,248.7344 Q462.9063,248.7344 461.5781,247.0938 Q460.2656,245.4375 460.2656,242.3125 Q460.2656,239.1875 461.5781,237.5313 Q462.9063,235.875 465.4063,235.875 Q466.1094,235.875 466.75,236.0313 Q467.4063,236.1875 467.9688,236.4844 L467.9688,239.2031 Q467.3438,238.625 466.75,238.3594 Q466.1563,238.0781 465.5313,238.0781 Q464.1875,238.0781 463.5,239.1563 Q462.8125,240.2188 462.8125,242.3125 Q462.8125,244.4063 463.5,245.4844 Q464.1875,246.5469 465.5313,246.5469 Q466.1563,246.5469 466.75,246.2813 Q467.3438,246 467.9688,245.4219 L467.9688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="479" y="246.6543">E</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="18" x="495" y="223.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="496" y="235.6387">int</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="451" x2="509" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="451" x2="509" y1="266.5" y2="266.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L41" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L41" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fqeb85vsnhvkq)" height="137.6328" id="C_0001189142882239313116" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="193" y="8"/>
<ellipse cx="310.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M313.7188,29.6406 Q313.1406,29.9375 312.5,30.0781 Q311.8594,30.2344 311.1563,30.2344 Q308.6563,30.2344 307.3281,28.5938 Q306.0156,26.9375 306.0156,23.8125 Q306.0156,20.6875 307.3281,19.0313 Q308.6563,17.375 311.1563,17.375 Q311.8594,17.375 312.5,17.5313 Q313.1563,17.6875 313.7188,17.9844 L313.7188,20.7031 Q313.0938,20.125 312.5,19.8594 Q311.9063,19.5781 311.2813,19.5781 Q309.9375,19.5781 309.25,20.6563 Q308.5625,21.7188 308.5625,23.8125 Q308.5625,25.9063 309.25,26.9844 Q309.9375,28.0469 311.2813,28.0469 Q311.9063,28.0469 312.5,27.7813 Q313.0938,27.5 313.7188,26.9219 L313.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="331.25" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="194" x2="444" y1="40" y2="40"/>
<path d="M948.5,238 L948.5,263.1328 A0,0 0 0 0 948.5,263.1328 L1054.5,263.1328 A0,0 0 0 0 1054.5,263.1328 L1054.5,248 L1044.5,238 L1005.5,238 L1001.5,120.39 L997.5,238 L948.5,238 A0,0 0 0 0 948.5,238 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M1044.5,238 L1044.5,248 L1054.5,248 L1044.5,238 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="954.5" y="255.0669">F enum note.</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L25" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L25" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="48" id="C_0001949673179441298667" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="473.5" y="226.5"/>
<ellipse cx="488.5" cy="242.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M491.4688,248.1406 Q490.8906,248.4375 490.25,248.5781 Q489.6094,248.7344 488.9063,248.7344 Q486.4063,248.7344 485.0781,247.0938 Q483.7656,245.4375 483.7656,242.3125 Q483.7656,239.1875 485.0781,237.5313 Q486.4063,235.875 488.9063,235.875 Q489.6094,235.875 490.25,236.0313 Q490.9063,236.1875 491.4688,236.4844 L491.4688,239.2031 Q490.8438,238.625 490.25,238.3594 Q489.6563,238.0781 489.0313,238.0781 Q487.6875,238.0781 487,239.1563 Q486.3125,240.2188 486.3125,242.3125 Q486.3125,244.4063 487,245.4844 Q487.6875,246.5469 489.0313,246.5469 Q489.6563,246.5469 490.25,246.2813 Q490.8438,246 491.4688,245.4219 L491.4688,248.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="502.5" y="246.6543">E</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="18" x="518.5" y="223.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="16" x="519.5" y="235.6387">int</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="474.5" x2="532.5" y1="258.5" y2="258.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="474.5" x2="532.5" y1="266.5" y2="266.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L47" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L47" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="46"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="48"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L36" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L36" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1onb3zhh9lx1k)" height="137.6328" id="C_0001189142882239313116" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="377.5" y="8"/>
<ellipse cx="495.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M498.2188,29.6406 Q497.6406,29.9375 497,30.0781 Q496.3594,30.2344 495.6563,30.2344 Q493.1563,30.2344 491.8281,28.5938 Q490.5156,26.9375 490.5156,23.8125 Q490.5156,20.6875 491.8281,19.0313 Q493.1563,17.375 495.6563,17.375 Q496.3594,17.375 497,17.5313 Q497.6563,17.6875 498.2188,17.9844 L498.2188,20.7031 Q497.5938,20.125 497,19.8594 Q496.4063,19.5781 495.7813,19.5781 Q494.4375,19.5781 493.75,20.6563 Q493.0625,21.7188 493.0625,23.8125 Q493.0625,25.9063 493.75,26.9844 Q494.4375,28.0469 495.7813,28.0469 Q496.4063,28.0469 497,27.7813 Q497.5938,27.5 498.2188,26.9219 L498.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="515.75" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="378.5" x2="628.5" y1="40" y2="40"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L47" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L47" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="213" y="54.2104">aaa : A</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L37" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L37" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="46"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L49" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L49" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="58.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L37" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L37" xlink:show="new" xlink:title="R" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="397.5" y="54.2104">R(C &amp; c) : void</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L49" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L49" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="51" x="213" y="67.0151">bbb : B *</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="378.5" x2="628.5" y1="60.8047" y2="60.8047"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L43" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L43" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="66.8047"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="68.8047"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L51" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L51" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="71.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="73.6094"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L43" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L43" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="397.5" y="75.0151">aaa : A</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L51" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L51" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="213" y="79.8198">ccc : C &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L46" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L46" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="79.6094"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="81.6094"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L53" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L53" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="84.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="86.4141"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L46" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L46" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="51" x="397.5" y="87.8198">bbb : B *</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L53" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L53" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="226" x="213" y="92.6245">ddd : std::vector&lt;std::shared_ptr&lt;D&gt;&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L48" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L48" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="92.4141"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="94.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L55" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L55" xlink:show="new" xlink:title="eee" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="97.2188"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="99.2188"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L48" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L48" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="397.5" y="100.6245">ccc : C &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L55" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L55" xlink:show="new" xlink:title="eee" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="213" y="105.4292">eee : E&lt;int&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L50" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L50" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="105.2188"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="107.2188"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L57" target="_top" title="ggg" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L57" xlink:show="new" xlink:title="ggg" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="199" y="110.0234"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="112.0234"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L50" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L50" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="226" x="397.5" y="113.4292">ddd : std::vector&lt;std::shared_ptr&lt;D&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L57" target="_top" title="ggg" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00028/t00028.cc#L57" xlink:show="new" xlink:title="ggg" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="213" y="118.2339">ggg : G **</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L52" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L52" xlink:show="new" xlink:title="eee" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="118.0234"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="120.0234"/>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="194" x2="444" y1="124.8281" y2="124.8281"/>
<rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="201" y="132.8281"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="213" y="139.0386">R(C &amp; c) : void</text>
<path d="M480,64.5 L480,73 L445.29,77 L480,81 L480,89.6328 A0,0 0 0 0 480,89.6328 L582,89.6328 A0,0 0 0 0 582,89.6328 L582,74.5 L572,64.5 L480,64.5 A0,0 0 0 0 480,64.5 " fill="#FBFB77" filter="url(#fqeb85vsnhvkq)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M572,64.5 L572,74.5 L582,74.5 L572,64.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="486" y="81.5669">R class note.</text>
<path d="M65.13,89.71 C67.4,110.82 73.43,156.48 86,193 C89.91,204.36 95.75,216.29 101.17,226.25 " fill="none" id="GMN444-C_0001519850480962783588" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<path d="M50.47,222.82 C61.22,208.48 76.4,192.37 94.5,184.5 C110.8,177.41 118.35,177.07 134.5,184.5 C153.13,193.08 167.92,211.17 177.68,226.24 " fill="none" id="GMN456-C_0001263778658518784070" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<path d="M491.26,274.62 C497.66,287.75 505.92,304.71 513.66,320.59 " fill="none" id="C_0001949673179441298667-&gt;C_0001014136565447389473" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="520.05,317.72,522.51,338.76,507.46,323.85,520.05,317.72" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M292.61,146.14 C289.15,156.08 285.84,166.25 283,176 C278.68,190.85 274.93,207.7 272.15,221.51 " fill="none" id="C_0001189142882239313116-&gt;C_0000984577258575112753" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="#A80036" points="271.17,226.45,276.8438,218.3997,272.1423,221.5455,268.9966,216.844,271.17,226.45" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M298.3,146.27 C290.36,172.45 281.74,200.9 275.55,221.29 " fill="none" id="C_0001189142882239313116-&gt;C_0000984577258575112753-1" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="274.04,226.29,280.488,218.8453,275.4964,221.5068,272.8349,216.5151,274.04,226.29" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="292" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="21" x="302" y="189.0669">ccc</text>
<path d="M203.1,154.06 C194.03,161.19 185.22,168.54 177,176 C160.19,191.26 143.74,211.05 132.02,226.25 " fill="none" id="C_0001189142882239313116&lt;-C_0001519850480962783588" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="213.42,146.13,206.2253,146.6154,203.9061,153.4433,211.1008,152.958,213.42,146.13" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="180" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="190" y="189.0669">aaa</text>
<path d="M445.06,138.64 C450.77,141.17 456.44,143.63 462,146 C551.17,183.95 580.26,177.82 666,223 C670.48,225.36 675.06,228.17 679.42,231.05 " fill="none" id="C_0001189142882239313116-&gt;C_0001980597091567213070" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="683.68,233.95,678.483,225.584,679.544,231.1404,673.9876,232.2015,683.68,233.95" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="601" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="611" y="189.0669">bbb</text>
<path d="M247.86,156.34 C242.68,162.87 237.66,169.47 233,176 C221.56,192.03 210.59,211.42 202.73,226.26 " fill="none" id="C_0001189142882239313116&lt;-C_0001263778658518784070" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="256.13,146.17,249.2413,148.3021,248.5599,155.4809,255.4486,153.3488,256.13,146.17" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="236" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="246" y="189.0669">ddd</text>
<path d="M395.17,156.04 C401.57,162.76 407.92,169.48 414,176 C429.56,192.68 446.77,211.86 459.71,226.45 " fill="none" id="C_0001189142882239313116&lt;-C_0001949673179441298667" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="385.78,146.22,387.0346,153.3211,394.072,154.8943,392.8174,147.7931,385.78,146.22" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="432" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="442" y="189.0669">eee</text>
<path d="M348.86,146.27 C360.35,172.56 372.85,201.14 381.78,221.55 " fill="none" id="C_0001189142882239313116-&gt;C_0000764713728396057122" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="383.85,226.29,383.9185,216.4414,381.8512,221.7069,376.5856,219.6395,383.85,226.29" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="371" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="381" y="189.0669">ggg</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L52" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L52" xlink:show="new" xlink:title="eee" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="397.5" y="126.2339">eee : E&lt;int&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L54" target="_top" title="ggg" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L54" xlink:show="new" xlink:title="ggg" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="383.5" y="130.8281"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="385.5" y="132.8281"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L54" target="_top" title="ggg" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00028/t00028.cc#L54" xlink:show="new" xlink:title="ggg" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="397.5" y="139.0386">ggg : G **</text>
</a>
<path d="M664.5,64.5 L664.5,73 L629.79,77 L664.5,81 L664.5,89.6328 A0,0 0 0 0 664.5,89.6328 L766.5,89.6328 A0,0 0 0 0 766.5,89.6328 L766.5,74.5 L756.5,64.5 L664.5,64.5 A0,0 0 0 0 664.5,64.5 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M756.5,64.5 L756.5,74.5 L766.5,74.5 L756.5,64.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="670.5" y="81.5669">R class note.</text>
<path d="M144.5,42 L144.5,67.1328 A0,0 0 0 0 144.5,67.1328 L342.5,67.1328 A0,0 0 0 0 342.5,67.1328 L342.5,60 L381.5,71.207 L342.5,52 L342.5,52 L332.5,42 L144.5,42 A0,0 0 0 0 144.5,42 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M332.5,42 L332.5,52 L342.5,52 L332.5,42 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="177" x="150.5" y="59.0669">R contains an instance of A.</text>
<path d="M144.5,77.1328 L144.5,102.2656 A0,0 0 0 0 144.5,102.2656 L263.5,102.2656 A0,0 0 0 0 263.5,102.2656 L263.5,95.1328 L381.5,96.8164 L263.5,87.1328 L263.5,87.1328 L253.5,77.1328 L144.5,77.1328 A0,0 0 0 0 144.5,77.1328 " fill="#FBFB77" filter="url(#f1onb3zhh9lx1k)" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M253.5,77.1328 L253.5,87.1328 L263.5,87.1328 L253.5,77.1328 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="150.5" y="94.1997">Reference to C.</text>
<path d="M514.76,274.62 C521.16,287.75 529.42,304.71 537.16,320.59 " fill="none" id="C_0001949673179441298667-&gt;C_0001014136565447389473" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/>
<polygon fill="none" points="543.55,317.72,546.01,338.76,530.96,323.85,543.55,317.72" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M365.3,143.53 C363.36,144.36 361.42,145.19 359.5,146 C265.23,185.85 149.8,226.61 103.81,242.53 " fill="none" id="C_0001189142882239313116&lt;-C_0001519850480962783588" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="377.33,138.3,370.2322,137.0269,366.327,143.0891,373.4249,144.3622,377.33,138.3" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="287.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="297.5" y="189.0669">aaa</text>
<path d="M592.35,146.03 C632.47,176.74 676.73,210.63 703.31,230.98 " fill="none" id="C_0001189142882239313116-&gt;C_0001980597091567213070" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="707.42,234.13,702.689,225.4918,703.4442,231.0981,697.8379,231.8532,707.42,234.13" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="652.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="662.5" y="189.0669">bbb</text>
<path d="M418.61,146.03 C380.73,176.39 338.98,209.85 313.5,230.27 " fill="none" id="C_0001189142882239313116-&gt;C_0000984577258575112753" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="309.55,233.43,319.0732,230.9185,313.4502,230.3013,314.0673,224.6782,309.55,233.43" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="380.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="21" x="390.5" y="189.0669">ccc</text>
<path d="M641.51,143.88 C643.18,144.59 644.85,145.3 646.5,146 C736.91,184.22 766.27,177.98 853.5,223 C859.61,226.15 865.91,230.09 871.62,233.96 " fill="none" id="C_0001189142882239313116&lt;-C_0001263778658518784070" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="629.55,138.68,633.4551,144.7422,640.553,143.4691,636.6478,137.4069,629.55,138.68" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="787.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="797.5" y="189.0669">ddd</text>
<path d="M503.5,159.39 C503.5,183.89 503.5,208.87 503.5,226.29 " fill="none" id="C_0001189142882239313116&lt;-C_0001949673179441298667" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="503.5,146.27,499.5,152.27,503.5,158.27,507.5,152.27,503.5,146.27" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="506.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="516.5" y="189.0669">eee</text>
<path d="M469.26,146.27 C456.02,172.67 441.63,201.38 431.39,221.81 " fill="none" id="C_0001189142882239313116-&gt;C_0000764713728396057122" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="429.14,226.29,436.7506,220.0387,431.3818,221.8207,429.5998,216.4519,429.14,226.29" style="stroke: #A80036; stroke-width: 1.0;"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="456.5" y="182.0664"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="466.5" y="189.0669">ggg</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -24,12 +24,10 @@ File t00029.cc
namespace clanguml {
namespace t00029 {
class A {
};
class A { };
/// \uml{skip}
class B {
};
class B { };
template <typename T> class C {
T param;
@@ -45,17 +43,13 @@ enum class E { one, two, three };
/// \uml{skip}
enum class F { red, green, blue };
class G1 {
};
class G1 { };
class G2 {
};
class G2 { };
class G3 {
};
class G3 { };
class G4 {
};
class G4 { };
struct R {
G1 g1;
@@ -75,3 +69,268 @@ struct R {
```
## Generated UML diagrams
![t00029_class](./t00029_class.svg "PlantUML skip decorator test case")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00029::A",
"id": "1970994826766369014",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "A",
"namespace": "clanguml::t00029",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 7,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00029::C<T>",
"id": "543766389270348470",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": true,
"is_union": false,
"members": [
{
"access": "private",
"is_static": false,
"name": "param",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 13,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"type": "T"
}
],
"methods": [],
"name": "C",
"namespace": "clanguml::t00029",
"source_location": {
"column": 29,
"file": "../../tests/t00029/t00029.cc",
"line": 12,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [
{
"is_variadic": false,
"kind": "template_type",
"name": "T",
"template_parameters": []
}
],
"type": "class"
},
{
"constants": [
"one",
"two",
"three"
],
"display_name": "clanguml::t00029::E",
"id": "1936873082456592219",
"is_nested": false,
"name": "E",
"namespace": "clanguml::t00029",
"source_location": {
"column": 12,
"file": "../../tests/t00029/t00029.cc",
"line": 21,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"type": "enum"
},
{
"bases": [],
"display_name": "clanguml::t00029::G1",
"id": "1980718063838190763",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "G1",
"namespace": "clanguml::t00029",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 26,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00029::G2",
"id": "2204627213593766591",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "G2",
"namespace": "clanguml::t00029",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 28,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00029::G3",
"id": "767180516665070631",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "G3",
"namespace": "clanguml::t00029",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 30,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00029::G4",
"id": "715074622924270214",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "G4",
"namespace": "clanguml::t00029",
"source_location": {
"column": 7,
"file": "../../tests/t00029/t00029.cc",
"line": 32,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00029::R",
"id": "348749731659902910",
"is_abstract": false,
"is_nested": false,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "g1",
"source_location": {
"column": 8,
"file": "../../tests/t00029/t00029.cc",
"line": 35,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"type": "clanguml::t00029::G1"
},
{
"access": "public",
"comment": {
"formatted": "\\uml{skiprelationship}",
"raw": "/// \\uml{skiprelationship}"
},
"is_static": false,
"name": "g3",
"source_location": {
"column": 9,
"file": "../../tests/t00029/t00029.cc",
"line": 41,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"type": "clanguml::t00029::G3 &"
},
{
"access": "public",
"is_static": false,
"name": "g4",
"source_location": {
"column": 25,
"file": "../../tests/t00029/t00029.cc",
"line": 43,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"type": "std::shared_ptr<G4>"
}
],
"methods": [],
"name": "R",
"namespace": "clanguml::t00029",
"source_location": {
"column": 8,
"file": "../../tests/t00029/t00029.cc",
"line": 34,
"translation_unit": "../../tests/t00029/t00029.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00029_class",
"relationships": [
{
"access": "public",
"destination": "1980718063838190763",
"label": "g1",
"source": "348749731659902910",
"type": "aggregation"
},
{
"access": "public",
"destination": "715074622924270214",
"label": "g4",
"source": "348749731659902910",
"type": "association"
}
],
"using_namespace": "clanguml::t00029"
}
```

View File

@@ -1,6 +1,6 @@
<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:464px;height:230px;" version="1.1" viewBox="0 0 464 230" width="464px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="fsr75ik54rwih" width="300%" x="-1" y="-1">
<filter height="300%" id="f1e5scz8y590fs" 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"/>
@@ -9,33 +9,33 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="48" id="C_0001970994826766369014" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="10.5" y="27"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="48" id="C_0001970994826766369014" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="10.5" y="27"/>
<ellipse cx="25.5" cy="43" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M28.4688,48.6406 Q27.8906,48.9375 27.25,49.0781 Q26.6094,49.2344 25.9063,49.2344 Q23.4063,49.2344 22.0781,47.5938 Q20.7656,45.9375 20.7656,42.8125 Q20.7656,39.6875 22.0781,38.0313 Q23.4063,36.375 25.9063,36.375 Q26.6094,36.375 27.25,36.5313 Q27.9063,36.6875 28.4688,36.9844 L28.4688,39.7031 Q27.8438,39.125 27.25,38.8594 Q26.6563,38.5781 26.0313,38.5781 Q24.6875,38.5781 24,39.6563 Q23.3125,40.7188 23.3125,42.8125 Q23.3125,44.9063 24,45.9844 Q24.6875,47.0469 26.0313,47.0469 Q26.6563,47.0469 27.25,46.7813 Q27.8438,46.5 28.4688,45.9219 L28.4688,48.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="39.5" y="47.1543">A</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="11.5" x2="49.5" y1="59" y2="59"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="11.5" x2="49.5" y1="67" y2="67"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L14" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L14" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="60.8047" id="C_0000543766389270348470" style="stroke: #A80036; stroke-width: 1.5;" width="82" x="85.5" y="20.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L12" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L12" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="60.8047" id="C_0000543766389270348470" style="stroke: #A80036; stroke-width: 1.5;" width="82" x="85.5" y="20.5"/>
<ellipse cx="114.45" cy="36.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M117.4188,42.1406 Q116.8406,42.4375 116.2,42.5781 Q115.5594,42.7344 114.8563,42.7344 Q112.3563,42.7344 111.0281,41.0938 Q109.7156,39.4375 109.7156,36.3125 Q109.7156,33.1875 111.0281,31.5313 Q112.3563,29.875 114.8563,29.875 Q115.5594,29.875 116.2,30.0313 Q116.8563,30.1875 117.4188,30.4844 L117.4188,33.2031 Q116.7938,32.625 116.2,32.3594 Q115.6063,32.0781 114.9813,32.0781 Q113.6375,32.0781 112.95,33.1563 Q112.2625,34.2188 112.2625,36.3125 Q112.2625,38.4063 112.95,39.4844 Q113.6375,40.5469 114.9813,40.5469 Q115.6063,40.5469 116.2,40.2813 Q116.7938,40 117.4188,39.4219 L117.4188,42.1406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="131.55" y="40.6543">C</text>
<rect fill="#FFFFFF" height="15.9688" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" width="9" x="161.5" y="17.5"/>
<text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="7" x="162.5" y="29.6387">T</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="86.5" x2="166.5" y1="52.5" y2="52.5"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="86.5" x2="166.5" y1="60.5" y2="60.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L15" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L15" xlink:show="new" xlink:title="param" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="91.5" y="58.5"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="93.5" y="60.5"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L13" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L13" xlink:show="new" xlink:title="param" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="91.5" y="66.5"/>
<rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="93.5" y="68.5"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L15" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L15" xlink:show="new" xlink:title="param" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="105.5" y="66.7104">param : T</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L13" target="_top" title="param" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L13" xlink:show="new" xlink:title="param" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="105.5" y="74.7104">param : T</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="86.5" x2="166.5" y1="73.3047" y2="73.3047"/>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L23" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L23" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="86.4141" id="C_0001936873082456592219" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="202.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L21" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L21" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="86.4141" id="C_0001936873082456592219" style="stroke: #A80036; stroke-width: 1.5;" width="42" x="202.5" y="8"/>
<ellipse cx="218.4" cy="24" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M222.5094,30 L214.7906,30 L214.7906,17.6094 L222.5094,17.6094 L222.5094,19.7656 L217.2438,19.7656 L217.2438,22.4375 L222.0094,22.4375 L222.0094,24.5938 L217.2438,24.5938 L217.2438,27.8438 L222.5094,27.8438 L222.5094,30 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="232.6" y="28.1543">E</text>
@@ -45,67 +45,67 @@
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="30" x="208.5" y="79.8198">three</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="203.5" x2="243.5" y1="86.4141" y2="86.4141"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L28" target="_top" title="G1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L28" xlink:show="new" xlink:title="G1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="48" id="C_0001980718063838190763" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="300" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L26" target="_top" title="G1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L26" xlink:show="new" xlink:title="G1" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="48" id="C_0001980718063838190763" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="300" y="171"/>
<ellipse cx="315" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M317.9688,192.6406 Q317.3906,192.9375 316.75,193.0781 Q316.1094,193.2344 315.4063,193.2344 Q312.9063,193.2344 311.5781,191.5938 Q310.2656,189.9375 310.2656,186.8125 Q310.2656,183.6875 311.5781,182.0313 Q312.9063,180.375 315.4063,180.375 Q316.1094,180.375 316.75,180.5313 Q317.4063,180.6875 317.9688,180.9844 L317.9688,183.7031 Q317.3438,183.125 316.75,182.8594 Q316.1563,182.5781 315.5313,182.5781 Q314.1875,182.5781 313.5,183.6563 Q312.8125,184.7188 312.8125,186.8125 Q312.8125,188.9063 313.5,189.9844 Q314.1875,191.0469 315.5313,191.0469 Q316.1563,191.0469 316.75,190.7813 Q317.3438,190.5 317.9688,189.9219 L317.9688,192.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="17" x="329" y="191.1543">G1</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="348" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="348" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L31" target="_top" title="G2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L31" xlink:show="new" xlink:title="G2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="48" id="C_0002204627213593766591" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="6" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L28" target="_top" title="G2" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L28" xlink:show="new" xlink:title="G2" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="48" id="C_0002204627213593766591" style="stroke: #A80036; stroke-width: 1.5;" width="49" 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="17" x="35" y="191.1543">G2</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="54" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="54" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L34" target="_top" title="G3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L34" xlink:show="new" xlink:title="G3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="48" id="C_0000767180516665070631" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="90" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L30" target="_top" title="G3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L30" xlink:show="new" xlink:title="G3" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="48" id="C_0000767180516665070631" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="90" y="171"/>
<ellipse cx="105" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M107.9688,192.6406 Q107.3906,192.9375 106.75,193.0781 Q106.1094,193.2344 105.4063,193.2344 Q102.9063,193.2344 101.5781,191.5938 Q100.2656,189.9375 100.2656,186.8125 Q100.2656,183.6875 101.5781,182.0313 Q102.9063,180.375 105.4063,180.375 Q106.1094,180.375 106.75,180.5313 Q107.4063,180.6875 107.9688,180.9844 L107.9688,183.7031 Q107.3438,183.125 106.75,182.8594 Q106.1563,182.5781 105.5313,182.5781 Q104.1875,182.5781 103.5,183.6563 Q102.8125,184.7188 102.8125,186.8125 Q102.8125,188.9063 103.5,189.9844 Q104.1875,191.0469 105.5313,191.0469 Q106.1563,191.0469 106.75,190.7813 Q107.3438,190.5 107.9688,189.9219 L107.9688,192.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="17" x="119" y="191.1543">G3</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="91" x2="138" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="91" x2="138" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L37" target="_top" title="G4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L37" xlink:show="new" xlink:title="G4" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="48" id="C_0000715074622924270214" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="384" y="171"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L32" target="_top" title="G4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L32" xlink:show="new" xlink:title="G4" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="48" id="C_0000715074622924270214" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="384" y="171"/>
<ellipse cx="399" cy="187" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M401.9688,192.6406 Q401.3906,192.9375 400.75,193.0781 Q400.1094,193.2344 399.4063,193.2344 Q396.9063,193.2344 395.5781,191.5938 Q394.2656,189.9375 394.2656,186.8125 Q394.2656,183.6875 395.5781,182.0313 Q396.9063,180.375 399.4063,180.375 Q400.1094,180.375 400.75,180.5313 Q401.4063,180.6875 401.9688,180.9844 L401.9688,183.7031 Q401.3438,183.125 400.75,182.8594 Q400.1563,182.5781 399.5313,182.5781 Q398.1875,182.5781 397.5,183.6563 Q396.8125,184.7188 396.8125,186.8125 Q396.8125,188.9063 397.5,189.9844 Q398.1875,191.0469 399.5313,191.0469 Q400.1563,191.0469 400.75,190.7813 Q401.3438,190.5 401.9688,189.9219 L401.9688,192.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="17" x="413" y="191.1543">G4</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="432" y1="203" y2="203"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="432" y1="211" y2="211"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L40" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L40" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fsr75ik54rwih)" height="86.4141" id="C_0000348749731659902910" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="279.5" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L34" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L34" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f1e5scz8y590fs)" height="86.4141" id="C_0000348749731659902910" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="279.5" y="8"/>
<ellipse cx="358.25" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M361.2188,29.6406 Q360.6406,29.9375 360,30.0781 Q359.3594,30.2344 358.6563,30.2344 Q356.1563,30.2344 354.8281,28.5938 Q353.5156,26.9375 353.5156,23.8125 Q353.5156,20.6875 354.8281,19.0313 Q356.1563,17.375 358.6563,17.375 Q359.3594,17.375 360,17.5313 Q360.6563,17.6875 361.2188,17.9844 L361.2188,20.7031 Q360.5938,20.125 360,19.8594 Q359.4063,19.5781 358.7813,19.5781 Q357.4375,19.5781 356.75,20.6563 Q356.0625,21.7188 356.0625,23.8125 Q356.0625,25.9063 356.75,26.9844 Q357.4375,28.0469 358.7813,28.0469 Q359.4063,28.0469 360,27.7813 Q360.5938,27.5 361.2188,26.9219 L361.2188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="378.75" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="280.5" x2="452.5" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="280.5" x2="452.5" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L41" target="_top" title="g1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L41" xlink:show="new" xlink:title="g1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="46"/>
<ellipse cx="290.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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L35" target="_top" title="g1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L35" xlink:show="new" xlink:title="g1" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="54"/>
<ellipse cx="290.5" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L41" target="_top" title="g1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L41" xlink:show="new" xlink:title="g1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="299.5" y="54.2104">g1 : G1</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L35" target="_top" title="g1" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L35" xlink:show="new" xlink:title="g1" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="299.5" y="62.2104">g1 : G1</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L47" target="_top" title="g3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L47" xlink:show="new" xlink:title="g3" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="58.8047"/>
<ellipse cx="290.5" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L41" target="_top" title="g3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L41" xlink:show="new" xlink:title="g3" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="66.8047"/>
<ellipse cx="290.5" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L47" target="_top" title="g3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L47" xlink:show="new" xlink:title="g3" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="299.5" y="67.0151">g3 : G3 &amp;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L41" target="_top" title="g3" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L41" xlink:show="new" xlink:title="g3" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="299.5" y="75.0151">g3 : G3 &amp;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L49" target="_top" title="g4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L49" xlink:show="new" xlink:title="g4" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="71.6094"/>
<ellipse cx="290.5" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L43" target="_top" title="g4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L43" xlink:show="new" xlink:title="g4" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="285.5" y="79.6094"/>
<ellipse cx="290.5" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L49" target="_top" title="g4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00029/t00029.cc#L49" xlink:show="new" xlink:title="g4" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="299.5" y="79.8198">g4 : std::shared_ptr&lt;G4&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L43" target="_top" title="g4" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00029/t00029.cc#L43" xlink:show="new" xlink:title="g4" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="299.5" y="87.8198">g4 : std::shared_ptr&lt;G4&gt;</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="280.5" x2="452.5" y1="86.4141" y2="86.4141"/>
<path d="M341.26,106.77 C339.11,112.52 337.14,118.33 335.5,124 C331.06,139.36 328.29,157.18 326.65,170.99 " fill="none" id="C_0000348749731659902910&lt;-C_0001980718063838190763" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#FFFFFF" points="346.17,94.38,340.2378,98.4798,341.7406,105.5326,347.6728,101.4328,346.17,94.38" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="341.5" cy="133.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -24,20 +24,15 @@ File t00030.cc
namespace clanguml {
namespace t00030 {
class A {
};
class A { };
class B {
};
class B { };
class C {
};
class C { };
class D {
};
class D { };
class E {
};
class E { };
struct R {
/// @uml{association[]}
@@ -62,3 +57,274 @@ struct R {
```
## Generated UML diagrams
![t00030_class](./t00030_class.svg "PlantUML relationship decorators test case")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00030::A",
"id": "64769484767514424",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "A",
"namespace": "clanguml::t00030",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 7,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00030::B",
"id": "156923198106222307",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "B",
"namespace": "clanguml::t00030",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 9,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00030::C",
"id": "1651557398557662399",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "C",
"namespace": "clanguml::t00030",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 11,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00030::D",
"id": "1089781072752262158",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "D",
"namespace": "clanguml::t00030",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 13,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00030::E",
"id": "425964641881054607",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "E",
"namespace": "clanguml::t00030",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 15,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00030::R",
"id": "263468735940481091",
"is_abstract": false,
"is_nested": false,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"comment": {
"formatted": "@uml{association[]}",
"raw": "/// @uml{association[]}"
},
"is_static": false,
"name": "aaa",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 19,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"type": "clanguml::t00030::A"
},
{
"access": "public",
"comment": {
"formatted": "@uml{composition[0..1:1..*]}",
"raw": "/// @uml{composition[0..1:1..*]}"
},
"is_static": false,
"name": "bbb",
"source_location": {
"column": 20,
"file": "../../tests/t00030/t00030.cc",
"line": 22,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"type": "std::vector<B>"
},
{
"access": "public",
"comment": {
"formatted": "@uml{aggregation[0..1:1..5]}",
"raw": "/// @uml{aggregation[0..1:1..5]}"
},
"is_static": false,
"name": "ccc",
"source_location": {
"column": 20,
"file": "../../tests/t00030/t00030.cc",
"line": 25,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"type": "std::vector<C>"
},
{
"access": "public",
"comment": {
"formatted": "@uml{association[:1]}",
"raw": "/// @uml{association[:1]}"
},
"is_static": false,
"name": "ddd",
"source_location": {
"column": 7,
"file": "../../tests/t00030/t00030.cc",
"line": 28,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"type": "clanguml::t00030::D"
},
{
"access": "public",
"comment": {
"formatted": "@uml{aggregation[:1]}",
"raw": "/// @uml{aggregation[:1]}"
},
"is_static": false,
"name": "eee",
"source_location": {
"column": 8,
"file": "../../tests/t00030/t00030.cc",
"line": 31,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"type": "clanguml::t00030::E *"
}
],
"methods": [],
"name": "R",
"namespace": "clanguml::t00030",
"source_location": {
"column": 8,
"file": "../../tests/t00030/t00030.cc",
"line": 17,
"translation_unit": "../../tests/t00030/t00030.cc"
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.8-13-g2e1013c",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t00030_class",
"relationships": [
{
"access": "public",
"destination": "64769484767514424",
"label": "aaa",
"source": "263468735940481091",
"type": "association"
},
{
"access": "public",
"destination": "156923198106222307",
"label": "bbb",
"multiplicity_destination": "1..*",
"multiplicity_source": "0..1",
"source": "263468735940481091",
"type": "composition"
},
{
"access": "public",
"destination": "1651557398557662399",
"label": "ccc",
"multiplicity_destination": "1..5",
"multiplicity_source": "0..1",
"source": "263468735940481091",
"type": "aggregation"
},
{
"access": "public",
"destination": "1089781072752262158",
"label": "ddd",
"multiplicity_destination": "1",
"source": "263468735940481091",
"type": "association"
},
{
"access": "public",
"destination": "425964641881054607",
"label": "eee",
"multiplicity_destination": "1",
"source": "263468735940481091",
"type": "aggregation"
}
],
"using_namespace": "clanguml::t00030"
}
```

View File

@@ -1,6 +1,6 @@
<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:366px;height:256px;" version="1.1" viewBox="0 0 366 256" width="366px" zoomAndPan="magnify">
<defs>
<filter height="300%" id="f18a17anpf62xd" width="300%" x="-1" y="-1">
<filter height="300%" id="fmduk1me9cuh8" 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"/>
@@ -9,89 +9,89 @@
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="48" id="C_0000064769484767514424" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="6" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L7" target="_top" title="A" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L7" xlink:show="new" xlink:title="A" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="48" id="C_0000064769484767514424" 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>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L10" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L10" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="48" id="C_0000156923198106222307" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="84" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L9" target="_top" title="B" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L9" xlink:show="new" xlink:title="B" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="48" id="C_0000156923198106222307" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="84" y="197"/>
<ellipse cx="99" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M101.9688,218.6406 Q101.3906,218.9375 100.75,219.0781 Q100.1094,219.2344 99.4063,219.2344 Q96.9063,219.2344 95.5781,217.5938 Q94.2656,215.9375 94.2656,212.8125 Q94.2656,209.6875 95.5781,208.0313 Q96.9063,206.375 99.4063,206.375 Q100.1094,206.375 100.75,206.5313 Q101.4063,206.6875 101.9688,206.9844 L101.9688,209.7031 Q101.3438,209.125 100.75,208.8594 Q100.1563,208.5781 99.5313,208.5781 Q98.1875,208.5781 97.5,209.6563 Q96.8125,210.7188 96.8125,212.8125 Q96.8125,214.9063 97.5,215.9844 Q98.1875,217.0469 99.5313,217.0469 Q100.1563,217.0469 100.75,216.7813 Q101.3438,216.5 101.9688,215.9219 L101.9688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="113" y="217.1543">B</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="85" x2="123" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="85" x2="123" y1="237" y2="237"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L13" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L13" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="48" id="C_0001651557398557662399" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="161" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L11" target="_top" title="C" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L11" xlink:show="new" xlink:title="C" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="48" id="C_0001651557398557662399" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="161" y="197"/>
<ellipse cx="176" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M178.9688,218.6406 Q178.3906,218.9375 177.75,219.0781 Q177.1094,219.2344 176.4063,219.2344 Q173.9063,219.2344 172.5781,217.5938 Q171.2656,215.9375 171.2656,212.8125 Q171.2656,209.6875 172.5781,208.0313 Q173.9063,206.375 176.4063,206.375 Q177.1094,206.375 177.75,206.5313 Q178.4063,206.6875 178.9688,206.9844 L178.9688,209.7031 Q178.3438,209.125 177.75,208.8594 Q177.1563,208.5781 176.5313,208.5781 Q175.1875,208.5781 174.5,209.6563 Q173.8125,210.7188 173.8125,212.8125 Q173.8125,214.9063 174.5,215.9844 Q175.1875,217.0469 176.5313,217.0469 Q177.1563,217.0469 177.75,216.7813 Q178.3438,216.5 178.9688,215.9219 L178.9688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="190" y="217.1543">C</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="162" x2="200" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="162" x2="200" y1="237" y2="237"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L16" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L16" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="48" id="C_0001089781072752262158" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="236.5" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L13" target="_top" title="D" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L13" xlink:show="new" xlink:title="D" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="48" id="C_0001089781072752262158" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="236.5" y="197"/>
<ellipse cx="251.5" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M254.4688,218.6406 Q253.8906,218.9375 253.25,219.0781 Q252.6094,219.2344 251.9063,219.2344 Q249.4063,219.2344 248.0781,217.5938 Q246.7656,215.9375 246.7656,212.8125 Q246.7656,209.6875 248.0781,208.0313 Q249.4063,206.375 251.9063,206.375 Q252.6094,206.375 253.25,206.5313 Q253.9063,206.6875 254.4688,206.9844 L254.4688,209.7031 Q253.8438,209.125 253.25,208.8594 Q252.6563,208.5781 252.0313,208.5781 Q250.6875,208.5781 250,209.6563 Q249.3125,210.7188 249.3125,212.8125 Q249.3125,214.9063 250,215.9844 Q250.6875,217.0469 252.0313,217.0469 Q252.6563,217.0469 253.25,216.7813 Q253.8438,216.5 254.4688,215.9219 L254.4688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="265.5" y="217.1543">D</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="237.5" x2="276.5" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="237.5" x2="276.5" y1="237" y2="237"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L19" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L19" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="48" id="C_0000425964641881054607" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="315" y="197"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L15" target="_top" title="E" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L15" xlink:show="new" xlink:title="E" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="48" id="C_0000425964641881054607" style="stroke: #A80036; stroke-width: 1.5;" width="40" x="315" y="197"/>
<ellipse cx="330" cy="213" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M332.9688,218.6406 Q332.3906,218.9375 331.75,219.0781 Q331.1094,219.2344 330.4063,219.2344 Q327.9063,219.2344 326.5781,217.5938 Q325.2656,215.9375 325.2656,212.8125 Q325.2656,209.6875 326.5781,208.0313 Q327.9063,206.375 330.4063,206.375 Q331.1094,206.375 331.75,206.5313 Q332.4063,206.6875 332.9688,206.9844 L332.9688,209.7031 Q332.3438,209.125 331.75,208.8594 Q331.1563,208.5781 330.5313,208.5781 Q329.1875,208.5781 328.5,209.6563 Q327.8125,210.7188 327.8125,212.8125 Q327.8125,214.9063 328.5,215.9844 Q329.1875,217.0469 330.5313,217.0469 Q331.1563,217.0469 331.75,216.7813 Q332.3438,216.5 332.9688,215.9219 L332.9688,218.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="344" y="217.1543">E</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="316" x2="354" y1="229" y2="229"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="316" x2="354" y1="237" y2="237"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L22" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L22" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#f18a17anpf62xd)" height="112.0234" id="C_0000263468735940481091" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="109" y="8"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L17" target="_top" title="R" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L17" xlink:show="new" xlink:title="R" xlink:type="simple">
<rect fill="#FEFECE" filter="url(#fmduk1me9cuh8)" height="112.0234" id="C_0000263468735940481091" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="109" y="8"/>
<ellipse cx="173.75" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
<path d="M176.7188,29.6406 Q176.1406,29.9375 175.5,30.0781 Q174.8594,30.2344 174.1563,30.2344 Q171.6563,30.2344 170.3281,28.5938 Q169.0156,26.9375 169.0156,23.8125 Q169.0156,20.6875 170.3281,19.0313 Q171.6563,17.375 174.1563,17.375 Q174.8594,17.375 175.5,17.5313 Q176.1563,17.6875 176.7188,17.9844 L176.7188,20.7031 Q176.0938,20.125 175.5,19.8594 Q174.9063,19.5781 174.2813,19.5781 Q172.9375,19.5781 172.25,20.6563 Q171.5625,21.7188 171.5625,23.8125 Q171.5625,25.9063 172.25,26.9844 Q172.9375,28.0469 174.2813,28.0469 Q174.9063,28.0469 175.5,27.7813 Q176.0938,27.5 176.7188,26.9219 L176.7188,29.6406 Z "/>
<text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="194.25" y="28.1543">R</text>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="110" x2="254" y1="40" y2="40"/>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="110" x2="254" y1="48" y2="48"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L24" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L24" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="46"/>
<ellipse cx="120" cy="51" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L19" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L19" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="54"/>
<ellipse cx="120" cy="59" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L24" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L24" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="129" y="54.2104">aaa : A</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L19" target="_top" title="aaa" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L19" xlink:show="new" xlink:title="aaa" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="129" y="62.2104">aaa : A</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L27" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L27" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="58.8047"/>
<ellipse cx="120" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L22" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L22" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="66.8047"/>
<ellipse cx="120" cy="71.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L27" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L27" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="129" y="67.0151">bbb : std::vector&lt;B&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L22" target="_top" title="bbb" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L22" xlink:show="new" xlink:title="bbb" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="129" y="75.0151">bbb : std::vector&lt;B&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L30" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L30" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="71.6094"/>
<ellipse cx="120" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L25" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L25" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="79.6094"/>
<ellipse cx="120" cy="84.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L30" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L30" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="129" y="79.8198">ccc : std::vector&lt;C&gt;</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L25" target="_top" title="ccc" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L25" xlink:show="new" xlink:title="ccc" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="129" y="87.8198">ccc : std::vector&lt;C&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L33" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L33" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="84.4141"/>
<ellipse cx="120" 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/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L28" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L28" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="92.4141"/>
<ellipse cx="120" cy="97.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L33" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L33" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="129" y="92.6245">ddd : D</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L28" target="_top" title="ddd" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L28" xlink:show="new" xlink:title="ddd" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="129" y="100.6245">ddd : D</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L36" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L36" xlink:show="new" xlink:title="eee" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="97.2188"/>
<ellipse cx="120" cy="102.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L31" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L31" xlink:show="new" xlink:title="eee" xlink:type="simple">
<rect fill="#FEFECE" height="10" style="stroke: none; stroke-width: 1.0;" width="20" x="115" y="105.2188"/>
<ellipse cx="120" cy="110.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L36" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/a88ae790e8cedb3b1dd16bac5790bfb85bf951b6/tests/t00030/t00030.cc#L36" xlink:show="new" xlink:title="eee" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="50" x="129" y="105.4292">eee : E *</text>
<a href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L31" target="_top" title="eee" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/2e1013c12f63aa3eed82a117212bf7794cc475f9/tests/t00030/t00030.cc#L31" xlink:show="new" xlink:title="eee" xlink:type="simple">
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="50" x="129" y="113.4292">eee : E *</text>
</a>
<line style="stroke: #A80036; stroke-width: 1.5;" x1="110" x2="254" y1="112.0234" y2="112.0234"/>
<path d="M111.59,120.19 C100.65,129.74 89.75,139.87 80,150 C67.26,163.23 54.64,179.38 44.8,192.83 " fill="none" id="C_0000263468735940481091-&gt;C_0000064769484767514424" style="stroke: #A80036; stroke-width: 1.0;"/>
<polygon fill="#A80036" points="41.84,196.91,50.3591,191.9679,44.7732,192.8608,43.8804,187.2748,41.84,196.91" style="stroke: #A80036; stroke-width: 1.0;"/>
<ellipse cx="86" cy="159.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/>

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More