From a42009e45983320045c7d7600d9ec1fea2a4e45d Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Wed, 3 May 2023 21:53:49 +0200 Subject: [PATCH] Updated test cases documentation --- docs/test_cases.md | 1 + docs/test_cases/t00002.md | 2 +- docs/test_cases/t00002_class.svg | 36 +- docs/test_cases/t00003.md | 2 +- docs/test_cases/t00003_class.svg | 46 +- docs/test_cases/t00004.md | 2 +- docs/test_cases/t00004_class.svg | 76 +- docs/test_cases/t00005.md | 2 +- docs/test_cases/t00005_class.svg | 110 +-- docs/test_cases/t00006.md | 2 +- docs/test_cases/t00006_class.svg | 132 ++-- docs/test_cases/t00007.md | 2 +- docs/test_cases/t00007_class.svg | 30 +- docs/test_cases/t00008.md | 2 +- docs/test_cases/t00008_class.svg | 68 +- docs/test_cases/t00009.md | 2 +- docs/test_cases/t00009_class.svg | 32 +- docs/test_cases/t00010.md | 8 +- docs/test_cases/t00010_class.svg | 34 +- docs/test_cases/t00011.md | 2 +- docs/test_cases/t00011_class.svg | 22 +- docs/test_cases/t00012.md | 2 +- docs/test_cases/t00012_class.svg | 66 +- docs/test_cases/t00013.md | 2 +- docs/test_cases/t00013_class.svg | 82 +- docs/test_cases/t00014.md | 50 +- docs/test_cases/t00014_class.svg | 654 ++++++++-------- docs/test_cases/t00015.md | 2 +- docs/test_cases/t00015_class.svg | 22 +- docs/test_cases/t00016.md | 2 +- docs/test_cases/t00016_class.svg | 26 +- docs/test_cases/t00017.md | 2 +- docs/test_cases/t00017_class.svg | 66 +- docs/test_cases/t00018.md | 2 +- docs/test_cases/t00018_class.svg | 18 +- docs/test_cases/t00019.md | 2 +- docs/test_cases/t00019_class.svg | 40 +- docs/test_cases/t00020.md | 2 +- docs/test_cases/t00020_class.svg | 38 +- docs/test_cases/t00021.md | 2 +- docs/test_cases/t00021_class.svg | 30 +- docs/test_cases/t00022.md | 2 +- docs/test_cases/t00022_class.svg | 14 +- docs/test_cases/t00023.md | 2 +- docs/test_cases/t00023_class.svg | 26 +- docs/test_cases/t00024.md | 2 +- docs/test_cases/t00024_class.svg | 22 +- docs/test_cases/t00025.md | 2 +- docs/test_cases/t00025_class.svg | 34 +- docs/test_cases/t00026.md | 2 +- docs/test_cases/t00026_class.svg | 42 +- docs/test_cases/t00027.md | 14 +- docs/test_cases/t00027_class.svg | 330 ++++---- docs/test_cases/t00028.md | 2 +- docs/test_cases/t00028_class.svg | 82 +- docs/test_cases/t00029.md | 2 +- docs/test_cases/t00029_class.svg | 50 +- docs/test_cases/t00030.md | 2 +- docs/test_cases/t00030_class.svg | 46 +- docs/test_cases/t00031.md | 2 +- docs/test_cases/t00031_class.svg | 50 +- docs/test_cases/t00032.md | 2 +- docs/test_cases/t00032_class.svg | 40 +- docs/test_cases/t00033.md | 2 +- docs/test_cases/t00033_class.svg | 48 +- docs/test_cases/t00034.md | 8 +- docs/test_cases/t00034_class.svg | 172 ++-- docs/test_cases/t00035.md | 2 +- docs/test_cases/t00035_class.svg | 22 +- docs/test_cases/t00036.md | 2 +- docs/test_cases/t00036_class.svg | 38 +- docs/test_cases/t00037.md | 2 +- docs/test_cases/t00037_class.svg | 54 +- docs/test_cases/t00038.md | 2 +- docs/test_cases/t00038_class.svg | 54 +- docs/test_cases/t00039.md | 2 +- docs/test_cases/t00039_class.svg | 78 +- docs/test_cases/t00040.md | 2 +- docs/test_cases/t00040_class.svg | 26 +- docs/test_cases/t00041.md | 2 +- docs/test_cases/t00041_class.svg | 54 +- docs/test_cases/t00042.md | 2 +- docs/test_cases/t00042_class.svg | 32 +- docs/test_cases/t00043.md | 2 +- docs/test_cases/t00043_class.svg | 50 +- docs/test_cases/t00044.md | 144 ++-- docs/test_cases/t00044_class.svg | 68 +- docs/test_cases/t00045.md | 2 +- docs/test_cases/t00045_class.svg | 70 +- docs/test_cases/t00046.md | 2 +- docs/test_cases/t00046_class.svg | 64 +- docs/test_cases/t00047.md | 2 +- docs/test_cases/t00047_class.svg | 18 +- docs/test_cases/t00048.md | 2 +- docs/test_cases/t00048_class.svg | 50 +- docs/test_cases/t00049.md | 2 +- docs/test_cases/t00049_class.svg | 32 +- docs/test_cases/t00050.md | 2 +- docs/test_cases/t00050_class.svg | 70 +- docs/test_cases/t00051.md | 2 +- docs/test_cases/t00051_class.svg | 30 +- docs/test_cases/t00052.md | 2 +- docs/test_cases/t00052_class.svg | 34 +- docs/test_cases/t00053.md | 2 +- docs/test_cases/t00053_class.svg | 70 +- docs/test_cases/t00054.md | 2 +- docs/test_cases/t00054_class.svg | 78 +- docs/test_cases/t00055.md | 2 +- docs/test_cases/t00055_class.svg | 42 +- docs/test_cases/t00056.md | 2 +- docs/test_cases/t00056_class.svg | 94 +-- docs/test_cases/t00057.md | 2 +- docs/test_cases/t00057_class.svg | 114 +-- docs/test_cases/t00058.md | 2 +- docs/test_cases/t00058_class.svg | 48 +- docs/test_cases/t00059.md | 2 +- docs/test_cases/t00059_class.svg | 50 +- docs/test_cases/t00060.md | 2 +- docs/test_cases/t00060_class.svg | 38 +- docs/test_cases/t00061.md | 2 +- docs/test_cases/t00061_class.svg | 6 +- docs/test_cases/t00062.md | 1120 +++++++++++++++++++++++++++ docs/test_cases/t00062_class.svg | 275 +++++++ docs/test_cases/t20001.md | 2 +- docs/test_cases/t20001_sequence.svg | 62 +- docs/test_cases/t20002.md | 2 +- docs/test_cases/t20002_sequence.svg | 48 +- docs/test_cases/t20003.md | 2 +- docs/test_cases/t20003_sequence.svg | 48 +- docs/test_cases/t20004.md | 2 +- docs/test_cases/t20004_sequence.svg | 120 +-- docs/test_cases/t20005.md | 2 +- docs/test_cases/t20005_sequence.svg | 36 +- docs/test_cases/t20006.md | 2 +- docs/test_cases/t20006_sequence.svg | 150 ++-- docs/test_cases/t20007.md | 2 +- docs/test_cases/t20007_sequence.svg | 48 +- docs/test_cases/t20008.md | 2 +- docs/test_cases/t20008_sequence.svg | 84 +- docs/test_cases/t20009.md | 2 +- docs/test_cases/t20009_sequence.svg | 84 +- docs/test_cases/t20010.md | 2 +- docs/test_cases/t20010_sequence.svg | 72 +- docs/test_cases/t20011.md | 2 +- docs/test_cases/t20011_sequence.svg | 72 +- docs/test_cases/t20012.md | 2 +- docs/test_cases/t20012_sequence.svg | 204 ++--- docs/test_cases/t20013.md | 2 +- docs/test_cases/t20013_sequence.svg | 60 +- docs/test_cases/t20014.md | 2 +- docs/test_cases/t20014_sequence.svg | 72 +- docs/test_cases/t20015.md | 2 +- docs/test_cases/t20015_sequence.svg | 24 +- docs/test_cases/t20016.md | 2 +- docs/test_cases/t20016_sequence.svg | 48 +- docs/test_cases/t20017.md | 2 +- docs/test_cases/t20017_sequence.svg | 48 +- docs/test_cases/t20018.md | 2 +- docs/test_cases/t20018_sequence.svg | 96 +-- docs/test_cases/t20019.md | 2 +- docs/test_cases/t20019_sequence.svg | 84 +- docs/test_cases/t20020.md | 2 +- docs/test_cases/t20020_sequence.svg | 118 +-- docs/test_cases/t20021.md | 2 +- docs/test_cases/t20021_sequence.svg | 106 +-- docs/test_cases/t20022.md | 2 +- docs/test_cases/t20022_sequence.svg | 36 +- docs/test_cases/t20023.md | 2 +- docs/test_cases/t20023_sequence.svg | 50 +- docs/test_cases/t20024.md | 2 +- docs/test_cases/t20024_sequence.svg | 88 +-- docs/test_cases/t20025.md | 2 +- docs/test_cases/t20025_sequence.svg | 42 +- docs/test_cases/t20026.md | 2 +- docs/test_cases/t20026_sequence.svg | 24 +- docs/test_cases/t20027.md | 2 +- docs/test_cases/t20027_sequence.svg | 24 +- docs/test_cases/t20028.md | 2 +- docs/test_cases/t20028_sequence.svg | 44 +- docs/test_cases/t20029.md | 2 +- docs/test_cases/t20029_sequence.svg | 80 +- docs/test_cases/t30001.md | 2 +- docs/test_cases/t30001_package.svg | 54 +- docs/test_cases/t30002.md | 2 +- docs/test_cases/t30002_package.svg | 90 +-- docs/test_cases/t30003.md | 2 +- docs/test_cases/t30003_package.svg | 26 +- docs/test_cases/t30004.md | 2 +- docs/test_cases/t30004_package.svg | 38 +- docs/test_cases/t30005.md | 2 +- docs/test_cases/t30005_package.svg | 38 +- docs/test_cases/t30006.md | 2 +- docs/test_cases/t30006_package.svg | 18 +- docs/test_cases/t30007.md | 2 +- docs/test_cases/t30007_package.svg | 22 +- docs/test_cases/t30008.md | 2 +- docs/test_cases/t30008_package.svg | 34 +- docs/test_cases/t30009.md | 2 +- docs/test_cases/t30009_package.svg | 42 +- docs/test_cases/t40001.md | 2 +- docs/test_cases/t40001_include.svg | 34 +- docs/test_cases/t40002.md | 2 +- docs/test_cases/t40002_include.svg | 34 +- docs/test_cases/t40003.md | 2 +- docs/test_cases/t40003_include.svg | 50 +- tests/t00062/.clang-uml | 5 +- tests/test_cases.yaml | 3 + 207 files changed, 4866 insertions(+), 3474 deletions(-) create mode 100644 docs/test_cases/t00062.md create mode 100644 docs/test_cases/t00062_class.svg diff --git a/docs/test_cases.md b/docs/test_cases.md index 8b86abbb..3dbd278d 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -60,6 +60,7 @@ * [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 ## Sequence diagrams * [t20001](./test_cases/t20001.md) - Basic sequence diagram test case * [t20002](./test_cases/t20002.md) - Free function sequence diagram test case diff --git a/docs/test_cases/t00002.md b/docs/test_cases/t00002.md index 77997b79..6c13fda7 100644 --- a/docs/test_cases/t00002.md +++ b/docs/test_cases/t00002.md @@ -500,7 +500,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00002_class.svg b/docs/test_cases/t00002_class.svg index 43b21a34..ef6e0760 100644 --- a/docs/test_cases/t00002_class.svg +++ b/docs/test_cases/t00002_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -21,8 +21,8 @@ foo_c() = 0 : void - - + + B @@ -31,8 +31,8 @@ foo_a() : void - - + + C @@ -41,18 +41,18 @@ foo_c() : void - - + + D - + - + as : std::vector<A *> @@ -60,18 +60,18 @@ foo_a() : void foo_c() : void - - + + E - + - + as : std::vector<A *> @@ -79,13 +79,13 @@ foo_a() : void foo_c() : void - + This is class A - + This is class B - + This is class D diff --git a/docs/test_cases/t00003.md b/docs/test_cases/t00003.md index a194a17a..8ccaa377 100644 --- a/docs/test_cases/t00003.md +++ b/docs/test_cases/t00003.md @@ -450,7 +450,7 @@ int A::static_int = 1; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00003_class.svg b/docs/test_cases/t00003_class.svg index 991a1292..03d33ba7 100644 --- a/docs/test_cases/t00003_class.svg +++ b/docs/test_cases/t00003_class.svg @@ -1,6 +1,6 @@ - + @@ -9,74 +9,74 @@ - - + + A - + - + public_member : int - + - + protected_member : int - + - + private_member : int - + - + a_ : int - + - + b_ : int - + - + c_ : int - + - + static_int : int - + - + static_const_int : const int - + - + auto_member : const unsigned long @@ -112,11 +112,11 @@ protected_method() : void private_method() : void - + - + compare : std::function<bool (const int)> diff --git a/docs/test_cases/t00004.md b/docs/test_cases/t00004.md index 7ccd7374..72b221db 100644 --- a/docs/test_cases/t00004.md +++ b/docs/test_cases/t00004.md @@ -460,7 +460,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00004_class.svg b/docs/test_cases/t00004_class.svg index 239398f3..2d89e8cb 100644 --- a/docs/test_cases/t00004_class.svg +++ b/docs/test_cases/t00004_class.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,16 @@ - - + + B - - + + B::AA @@ -28,8 +28,8 @@ AA_3 - - + + A @@ -40,16 +40,16 @@ foo2() const : void - - + + A::AA - - + + A::AA::Lights @@ -59,15 +59,15 @@ Red - - + + A::AA::AAA - + C::B @@ -75,8 +75,8 @@ int - - + + C @@ -84,39 +84,39 @@ T - + - + t : T - + - + b_int : B<int> - - + + C::AA - - + + C::AA::AAA - - + + C::AA::CCC @@ -125,8 +125,8 @@ CCC_2 - - + + C::B @@ -134,16 +134,16 @@ V - + - + b : V - - + + C::CC @@ -152,16 +152,16 @@ CC_2 - - + + detail::D - - + + detail::D::AA @@ -171,8 +171,8 @@ AA_3 - - + + detail::D::DD diff --git a/docs/test_cases/t00005.md b/docs/test_cases/t00005.md index aaa8867c..1a5525ac 100644 --- a/docs/test_cases/t00005.md +++ b/docs/test_cases/t00005.md @@ -464,7 +464,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00005_class.svg b/docs/test_cases/t00005_class.svg index 26bf2f3d..3a07d84b 100644 --- a/docs/test_cases/t00005_class.svg +++ b/docs/test_cases/t00005_class.svg @@ -1,6 +1,6 @@ - + @@ -9,204 +9,204 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int * - + - + some_int_pointer_pointer : int ** - + - + some_int_reference : int & - + - + a : A - + - + b : B * - + - + c : C & - + - + d : const D * - + - + e : const E & - + - + f : F && - + - + g : G ** - + - + h : H *** - + - + i : I *& - + - + j : volatile J * - + - + k : K * diff --git a/docs/test_cases/t00006.md b/docs/test_cases/t00006.md index e65013bd..9ede724d 100644 --- a/docs/test_cases/t00006.md +++ b/docs/test_cases/t00006.md @@ -629,7 +629,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00006_class.svg b/docs/test_cases/t00006_class.svg index 7b7eac37..8b168a36 100644 --- a/docs/test_cases/t00006_class.svg +++ b/docs/test_cases/t00006_class.svg @@ -1,6 +1,6 @@ - + @@ -9,136 +9,136 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + L - - + + M - - + + N - - + + NN - - + + NNN - - + + custom_container @@ -146,15 +146,15 @@ T - + - + data : std::vector<T> - + custom_container @@ -162,102 +162,102 @@ E - - + + R - + - + a : std::vector<A> - + - + b : std::vector<B *> - + - + c : std::map<int,C> - + - + d : std::map<int,D *> - + - + e : custom_container<E> - + - + f : std::vector<std::vector<F>> - + - + g : std::map<int,std::vector<G *>> - + - + h : std::array<H,10> - + - + i : std::array<I *,5> - + - + j : J[10] - + - + k : K *[20] - + - + lm : std::vector<std::pair<L,M>> - + - + ns : std::tuple<N,NN,NNN> diff --git a/docs/test_cases/t00007.md b/docs/test_cases/t00007.md index 4099deb4..3a78feea 100644 --- a/docs/test_cases/t00007.md +++ b/docs/test_cases/t00007.md @@ -158,7 +158,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00007_class.svg b/docs/test_cases/t00007_class.svg index dacb594d..526bd259 100644 --- a/docs/test_cases/t00007_class.svg +++ b/docs/test_cases/t00007_class.svg @@ -1,6 +1,6 @@ - + @@ -9,56 +9,56 @@ - - + + A - - + + B - - + + C - - + + R - + - + a : std::unique_ptr<A> - + - + b : std::shared_ptr<B> - + - + c : std::weak_ptr<C> diff --git a/docs/test_cases/t00008.md b/docs/test_cases/t00008.md index 93def964..efafeed3 100644 --- a/docs/test_cases/t00008.md +++ b/docs/test_cases/t00008.md @@ -459,7 +459,7 @@ template <> struct E::nested_template { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00008_class.svg b/docs/test_cases/t00008_class.svg index e9479f74..627c0e59 100644 --- a/docs/test_cases/t00008_class.svg +++ b/docs/test_cases/t00008_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,51 +18,51 @@ T,P=T,CMP=nullptr,int N=3 - + - + value : T - + - + pointer : T * - + - + reference : T & - + - + values : std::vector<P> - + - + ints : std::array<int,N> - + - + comparator : CMP - - + + Vector @@ -70,16 +70,16 @@ T - + - + values : std::vector<T> - - + + B @@ -87,15 +87,15 @@ T,C<> - + - + template_template : C<T> - + B @@ -103,18 +103,18 @@ int,Vector - - + + D - + - + ints : B<int,Vector> @@ -122,16 +122,16 @@ add(int i) : void D<Items...>(std::tuple<Items...> * ) : void - - + + E - - + + E::nested_template @@ -142,8 +142,8 @@ get(ET * d) : E::nested_template::DT * - - + + E::nested_template diff --git a/docs/test_cases/t00009.md b/docs/test_cases/t00009.md index 1a8e737a..f4d0c5aa 100644 --- a/docs/test_cases/t00009.md +++ b/docs/test_cases/t00009.md @@ -213,7 +213,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00009_class.svg b/docs/test_cases/t00009_class.svg index cb6437c0..1fafbd40 100644 --- a/docs/test_cases/t00009_class.svg +++ b/docs/test_cases/t00009_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,15 +18,15 @@ T - + - + value : T - + A @@ -34,7 +34,7 @@ int - + A @@ -42,7 +42,7 @@ std::string - + A @@ -50,32 +50,32 @@ std::vector<std::string> - - + + B - + - + aint : A<int> - + - + astring : A<std::string> * - + - + avector : A<std::vector<std::string>> & diff --git a/docs/test_cases/t00010.md b/docs/test_cases/t00010.md index a6da9a2f..02a40782 100644 --- a/docs/test_cases/t00010.md +++ b/docs/test_cases/t00010.md @@ -120,9 +120,9 @@ public: "template_parameters": [ { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "T" + "kind": "template_type", + "name": "T", + "template_parameters": [] }, { "is_variadic": false, @@ -227,7 +227,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00010_class.svg b/docs/test_cases/t00010_class.svg index 2c8ce41d..7c052ccd 100644 --- a/docs/test_cases/t00010_class.svg +++ b/docs/test_cases/t00010_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,22 +18,22 @@ T,P - + - + first : T - + - + second : P - + A @@ -41,8 +41,8 @@ T,std::string - - + + B @@ -50,15 +50,15 @@ T - + - + astring : A<T,std::string> - + B @@ -66,18 +66,18 @@ int - - + + C - + - + aintstring : B<int> diff --git a/docs/test_cases/t00011.md b/docs/test_cases/t00011.md index 2b454e3a..587af27e 100644 --- a/docs/test_cases/t00011.md +++ b/docs/test_cases/t00011.md @@ -176,7 +176,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00011_class.svg b/docs/test_cases/t00011_class.svg index 64a0e0b7..7590643b 100644 --- a/docs/test_cases/t00011_class.svg +++ b/docs/test_cases/t00011_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + D @@ -18,16 +18,16 @@ T - + - + value : T - - + + A @@ -36,18 +36,18 @@ foo() : void - - + + B - + - + m_a : A * diff --git a/docs/test_cases/t00012.md b/docs/test_cases/t00012.md index b1eebce9..3c108784 100644 --- a/docs/test_cases/t00012.md +++ b/docs/test_cases/t00012.md @@ -498,7 +498,7 @@ class R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00012_class.svg b/docs/test_cases/t00012_class.svg index 26dd0cc6..d4ede834 100644 --- a/docs/test_cases/t00012_class.svg +++ b/docs/test_cases/t00012_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,23 +18,23 @@ T,Ts... - + - + value : T - + - + values : std::variant<Ts...> - - + + B @@ -43,15 +43,15 @@ - + - + ints : std::array<int,sizeof...(Is)> - - + + C @@ -60,14 +60,14 @@ - + - + ints : std::array<T,sizeof...(Is)> - + A @@ -75,7 +75,7 @@ int,std::string,float - + A @@ -83,7 +83,7 @@ int,std::string,bool - + B @@ -91,7 +91,7 @@ 3,2,1 - + B @@ -99,7 +99,7 @@ 1,1,1,1 - + C @@ -107,50 +107,50 @@ std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3 - - + + R - + - + a1 : A<int,std::string,float> - + - + a2 : A<int,std::string,bool> - + - + b1 : B<3,2,1> - + - + b2 : B<1,1,1,1> - + - + c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3> - + Long template annotation diff --git a/docs/test_cases/t00013.md b/docs/test_cases/t00013.md index 951bdf99..c4328421 100644 --- a/docs/test_cases/t00013.md +++ b/docs/test_cases/t00013.md @@ -701,7 +701,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00013_class.svg b/docs/test_cases/t00013_class.svg index c2d02637..d5138bba 100644 --- a/docs/test_cases/t00013_class.svg +++ b/docs/test_cases/t00013_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + ABCD::F @@ -18,15 +18,15 @@ T - + - + f : T - + ABCD::F @@ -34,70 +34,70 @@ int - - + + A - + - + a : int - - + + B - + - + b : int - - + + C - + - + c : int - - + + D - + - + d : int print(R * r) : void - - + + E @@ -105,16 +105,16 @@ T - + - + e : T - - + + G @@ -122,22 +122,22 @@ T,Args... - + - + g : T - + - + args : std::tuple<Args...> - + E @@ -145,7 +145,7 @@ int - + G @@ -153,7 +153,7 @@ int,float,std::string - + E @@ -161,25 +161,25 @@ std::string - - + + R - + - + gintstring : G<int,float,std::string> - + - + estring : E<std::string> diff --git a/docs/test_cases/t00014.md b/docs/test_cases/t00014.md index 5f10ba63..e8f5322b 100644 --- a/docs/test_cases/t00014.md +++ b/docs/test_cases/t00014.md @@ -210,9 +210,9 @@ public: "template_parameters": [ { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "T" + "kind": "template_type", + "name": "T", + "template_parameters": [] }, { "is_variadic": false, @@ -239,9 +239,9 @@ public: "template_parameters": [ { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "T" + "kind": "template_type", + "name": "T", + "template_parameters": [] }, { "is_variadic": false, @@ -281,9 +281,9 @@ public: }, { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "T" + "kind": "template_type", + "name": "T", + "template_parameters": [] } ], "type": "class" @@ -310,9 +310,9 @@ public: }, { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "T" + "kind": "template_type", + "name": "T", + "template_parameters": [] } ], "type": "class" @@ -339,9 +339,9 @@ public: }, { "is_variadic": false, - "kind": "argument", - "template_parameters": [], - "type": "U" + "kind": "template_type", + "name": "U", + "template_parameters": [] } ], "type": "class" @@ -588,10 +588,10 @@ public: { "bases": [], "display_name": "clanguml::t00014::A", - "id": "640294848489463071", + "id": "340562099063642390", "is_abstract": false, "is_nested": false, - "is_struct": false, + "is_struct": true, "is_template": false, "is_union": false, "members": [], @@ -617,10 +617,10 @@ public: { "bases": [], "display_name": "clanguml::t00014::A", - "id": "139599686499155694", + "id": "1388877149159894665", "is_abstract": false, "is_nested": false, - "is_struct": false, + "is_struct": true, "is_template": false, "is_union": false, "members": [], @@ -816,7 +816,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, @@ -848,7 +848,7 @@ public: }, { "access": "public", - "destination": "765890579167335652", + "destination": "1700006390494465667", "source": "906557320263235873", "type": "instantiation" }, @@ -903,13 +903,13 @@ public: { "access": "public", "destination": "2186387853087008570", - "source": "640294848489463071", + "source": "340562099063642390", "type": "instantiation" }, { "access": "public", "destination": "2186387853087008570", - "source": "139599686499155694", + "source": "1388877149159894665", "type": "instantiation" }, { @@ -1029,13 +1029,13 @@ public: }, { "access": "public", - "destination": "640294848489463071", + "destination": "340562099063642390", "source": "1192822659863756768", "type": "dependency" }, { "access": "public", - "destination": "139599686499155694", + "destination": "1388877149159894665", "source": "1192822659863756768", "type": "dependency" }, diff --git a/docs/test_cases/t00014_class.svg b/docs/test_cases/t00014_class.svg index 3b0db12a..7e51df09 100644 --- a/docs/test_cases/t00014_class.svg +++ b/docs/test_cases/t00014_class.svg @@ -1,6 +1,6 @@ - + - + @@ -9,375 +9,375 @@ - - - - - A - - T,P - + + + + + A + + T,P + - - - + + + - - t : T + + t : T - - - + + + - - p : P + + p : P - - - - - - B - + + + + + + B + - - - + + + - - value : std::string + + value : std::string - - - - - A - - T,std::string - - - - - - A - - T,std::unique_ptr<std::string> - - - - - - A - - long,T - - - - - - A - - double,T - - - - - - A - - long,U - - - - - - A - - long,bool - - - - - - A - - double,bool - - - - - - A - - long,float - - - - - - A - - double,float - - - - - - A - - bool,std::string - - - - - - A - - float,std::unique_ptr<std::string> - - - - - - A - - int,std::string - - - - - - A - - std::string,std::string - - - - - - A - - char,std::string - - - - - - A - - wchar_t,std::string - - - - - - - R - + + + + + A + + T,std::string + + + + + + A + + T,std::unique_ptr<std::string> + + + + + + A + + long,T + + + + + + A + + double,T + + + + + + A + + long,U + + + + + + A + + long,bool + + + + + + A + + double,bool + + + + + + A + + long,float + + + + + + A + + double,float + + + + + + A + + bool,std::string + + + + + + A + + float,std::unique_ptr<std::string> + + + + + + A + + int,std::string + + + + + + A + + std::string,std::string + + + + + + A + + char,std::string + + + + + + A + + wchar_t,std::string + + + + + + + R + - - - + + + - - bapair : PairPairBA<bool> + + bapair : PairPairBA<bool> - - - + + + - - abool : APtr<bool> + + abool : APtr<bool> - - - + + + - - aboolfloat : AAPtr<bool,float> + + aboolfloat : AAPtr<bool,float> - - - + + + - - afloat : ASharedPtr<float> + + afloat : ASharedPtr<float> - - - + + + - - boolstring : A<bool,std::string> + + boolstring : A<bool,std::string> - - - + + + - - floatstring : AStringPtr<float> + + floatstring : AStringPtr<float> - - - + + + - - intstring : AIntString + + intstring : AIntString - - - + + + - - stringstring : AStringString + + stringstring : AStringString - - - + + + - - bstringstring : BStringString + + bstringstring : BStringString - - - + + + - - bs : BVector + + bs : BVector - - - + + + - - bs2 : BVector2 + + bs2 : BVector2 - - - + + + - - cb : SimpleCallback<ACharString> + + cb : SimpleCallback<ACharString> - - - + + + - - gcb : GenericCallback<R::AWCharString> + + gcb : GenericCallback<R::AWCharString> - - - + + + - - vcb : VoidCallback + + vcb : VoidCallback - - - + + + - - vps : VectorPtr<B> + + vps : VectorPtr<B> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bapair - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bapair + + bapair - - - - bs - - + + + + bs + + bs2 - - - - vps - - - - + + + + vps + + + + abool - - - - aboolfloat - - - - - - aboolfloat - - - - - - afloat - - - - boolstring - - - - floatstring - - - - intstring - - - - stringstring - - - - bstringstring - - - - + + + + aboolfloat + + + + + + aboolfloat + + + + + + afloat + + + + boolstring + + + + floatstring + + + + intstring + + + + stringstring + + + + bstringstring + + + + diff --git a/docs/test_cases/t00015.md b/docs/test_cases/t00015.md index 781a4d0e..b7f7aab3 100644 --- a/docs/test_cases/t00015.md +++ b/docs/test_cases/t00015.md @@ -177,7 +177,7 @@ class B : public ns1::ns2::Anon { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00015_class.svg b/docs/test_cases/t00015_class.svg index e5a28e09..f7ad9e8b 100644 --- a/docs/test_cases/t00015_class.svg +++ b/docs/test_cases/t00015_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + ns1::A - - + + ns1::ns2_v0_9_0::A - - + + ns1::Anon - - + + ns3::ns1::ns2::Anon - - + + ns3::B diff --git a/docs/test_cases/t00016.md b/docs/test_cases/t00016.md index 144ee715..69fea780 100644 --- a/docs/test_cases/t00016.md +++ b/docs/test_cases/t00016.md @@ -225,7 +225,7 @@ template <> struct is_numeric { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00016_class.svg b/docs/test_cases/t00016_class.svg index 9ddeeb98..905f1874 100644 --- a/docs/test_cases/t00016_class.svg +++ b/docs/test_cases/t00016_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + is_numeric<> @@ -19,8 +19,8 @@ value : enum - - + + is_numeric @@ -29,8 +29,8 @@ - - + + is_numeric @@ -39,8 +39,8 @@ - - + + is_numeric @@ -49,8 +49,8 @@ - - + + is_numeric @@ -59,8 +59,8 @@ - - + + is_numeric diff --git a/docs/test_cases/t00017.md b/docs/test_cases/t00017.md index 00535384..8d0dad4e 100644 --- a/docs/test_cases/t00017.md +++ b/docs/test_cases/t00017.md @@ -510,7 +510,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00017_class.svg b/docs/test_cases/t00017_class.svg index 7d42777d..dceb5386 100644 --- a/docs/test_cases/t00017_class.svg +++ b/docs/test_cases/t00017_class.svg @@ -1,6 +1,6 @@ - + @@ -9,127 +9,127 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int * - + - + some_int_pointer_pointer : int ** - + - + some_int_reference : int & diff --git a/docs/test_cases/t00018.md b/docs/test_cases/t00018.md index a87d3a15..25b15948 100644 --- a/docs/test_cases/t00018.md +++ b/docs/test_cases/t00018.md @@ -390,7 +390,7 @@ void widget::draw(const clanguml::t00018::widget &w) } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00018_class.svg b/docs/test_cases/t00018_class.svg index b6054143..a9c2d2f0 100644 --- a/docs/test_cases/t00018_class.svg +++ b/docs/test_cases/t00018_class.svg @@ -1,6 +1,6 @@ - + @@ -9,18 +9,18 @@ - - + + impl::widget - + - + n : int @@ -30,18 +30,18 @@ draw(const widget & w) : void widget(int n) : void - - + + widget - + - + pImpl : std::unique_ptr<impl::widget> diff --git a/docs/test_cases/t00019.md b/docs/test_cases/t00019.md index 07056d8d..e452a4dd 100644 --- a/docs/test_cases/t00019.md +++ b/docs/test_cases/t00019.md @@ -559,7 +559,7 @@ class Base { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00019_class.svg b/docs/test_cases/t00019_class.svg index 4e6dd0ee..5c650c94 100644 --- a/docs/test_cases/t00019_class.svg +++ b/docs/test_cases/t00019_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Base @@ -25,8 +25,8 @@ m2() : std::string - - + + Layer1 @@ -39,8 +39,8 @@ m2() : std::string - - + + Layer2 @@ -51,8 +51,8 @@ all_calls_count() const : int - - + + Layer3 @@ -60,18 +60,18 @@ LowerLayer - + - + m_m1_calls : int - + - + m_m2_calls : int @@ -83,7 +83,7 @@ m1_calls() const : int m2_calls() const : int - + Layer3 @@ -91,7 +91,7 @@ Base - + Layer2 @@ -99,7 +99,7 @@ Layer3<Base> - + Layer1 @@ -107,18 +107,18 @@ Layer2<Layer3<Base>> - - + + A - + - + layers : std::unique_ptr<Layer1<Layer2<Layer3<Base>>>> diff --git a/docs/test_cases/t00020.md b/docs/test_cases/t00020.md index a1b74f0a..781e2bcf 100644 --- a/docs/test_cases/t00020.md +++ b/docs/test_cases/t00020.md @@ -534,7 +534,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00020_class.svg b/docs/test_cases/t00020_class.svg index 6ff6b8df..c5680ca5 100644 --- a/docs/test_cases/t00020_class.svg +++ b/docs/test_cases/t00020_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + ProductA @@ -21,8 +21,8 @@ sell(int price) const = 0 : bool - - + + ProductA1 @@ -31,8 +31,8 @@ sell(int price) const : bool - - + + ProductA2 @@ -41,8 +41,8 @@ sell(int price) const : bool - - + + ProductB @@ -53,8 +53,8 @@ buy(int price) const = 0 : bool - - + + ProductB1 @@ -63,8 +63,8 @@ buy(int price) const : bool - - + + ProductB2 @@ -73,8 +73,8 @@ buy(int price) const : bool - - + + AbstractFactory @@ -85,8 +85,8 @@ make_b() const = 0 : std::unique_ptr<ProductB> - - + + Factory1 @@ -97,8 +97,8 @@ make_b() const : std::unique_ptr<ProductB> - - + + Factory2 diff --git a/docs/test_cases/t00021.md b/docs/test_cases/t00021.md index 2c3906ba..808ddbba 100644 --- a/docs/test_cases/t00021.md +++ b/docs/test_cases/t00021.md @@ -472,7 +472,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00021_class.svg b/docs/test_cases/t00021_class.svg index f5fecba8..1ac0f2af 100644 --- a/docs/test_cases/t00021_class.svg +++ b/docs/test_cases/t00021_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Visitor @@ -23,8 +23,8 @@ visit_B(const B & item) const = 0 : void - - + + Visitor1 @@ -35,8 +35,8 @@ visit_B(const B & item) const : void - - + + Visitor2 @@ -47,8 +47,8 @@ visit_B(const B & item) const : void - - + + Visitor3 @@ -59,8 +59,8 @@ visit_B(const B & item) const : void - - + + Item @@ -71,8 +71,8 @@ accept(const Visitor & visitor) const = 0 : void - - + + A @@ -81,8 +81,8 @@ accept(const Visitor & visitor) const : void - - + + B diff --git a/docs/test_cases/t00022.md b/docs/test_cases/t00022.md index 467dc6de..6fa60647 100644 --- a/docs/test_cases/t00022.md +++ b/docs/test_cases/t00022.md @@ -221,7 +221,7 @@ protected: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00022_class.svg b/docs/test_cases/t00022_class.svg index 7577db75..f5d45547 100644 --- a/docs/test_cases/t00022_class.svg +++ b/docs/test_cases/t00022_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -23,8 +23,8 @@ method2() = 0 : void - - + + A1 @@ -35,8 +35,8 @@ method2() : void - - + + A2 diff --git a/docs/test_cases/t00023.md b/docs/test_cases/t00023.md index 46bb0785..dc49ab9f 100644 --- a/docs/test_cases/t00023.md +++ b/docs/test_cases/t00023.md @@ -295,7 +295,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00023_class.svg b/docs/test_cases/t00023_class.svg index 00770406..46119c89 100644 --- a/docs/test_cases/t00023_class.svg +++ b/docs/test_cases/t00023_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Strategy @@ -21,8 +21,8 @@ algorithm() = 0 : void - - + + StrategyA @@ -31,8 +31,8 @@ algorithm() : void - - + + StrategyB @@ -41,8 +41,8 @@ algorithm() : void - - + + StrategyC @@ -51,18 +51,18 @@ algorithm() : void - - + + Context - + - + m_strategy : std::unique_ptr<Strategy> diff --git a/docs/test_cases/t00024.md b/docs/test_cases/t00024.md index fac778e8..91037e04 100644 --- a/docs/test_cases/t00024.md +++ b/docs/test_cases/t00024.md @@ -309,7 +309,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00024_class.svg b/docs/test_cases/t00024_class.svg index 0be195c3..4b92e759 100644 --- a/docs/test_cases/t00024_class.svg +++ b/docs/test_cases/t00024_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Target @@ -23,8 +23,8 @@ m2() = 0 : void - - + + Target1 @@ -35,8 +35,8 @@ m2() : void - - + + Target2 @@ -47,18 +47,18 @@ m2() : void - - + + Proxy - + - + m_target : std::shared_ptr<Target> diff --git a/docs/test_cases/t00025.md b/docs/test_cases/t00025.md index d9b87c54..ce81854c 100644 --- a/docs/test_cases/t00025.md +++ b/docs/test_cases/t00025.md @@ -323,7 +323,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00025_class.svg b/docs/test_cases/t00025_class.svg index 417a67dc..05b31fb9 100644 --- a/docs/test_cases/t00025_class.svg +++ b/docs/test_cases/t00025_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Target1 @@ -21,8 +21,8 @@ m2() : void - - + + Target2 @@ -33,8 +33,8 @@ m2() : void - - + + Proxy @@ -42,11 +42,11 @@ T - + - + m_target : std::shared_ptr<T> @@ -56,7 +56,7 @@ m1() : void m2() : void - + Proxy @@ -64,7 +64,7 @@ Target1 - + Proxy @@ -72,25 +72,25 @@ Target2 - - + + ProxyHolder - + - + proxy1 : Proxy<Target1> - + - + proxy2 : Proxy<Target2> diff --git a/docs/test_cases/t00026.md b/docs/test_cases/t00026.md index e1618cf1..5d4868e7 100644 --- a/docs/test_cases/t00026.md +++ b/docs/test_cases/t00026.md @@ -433,7 +433,7 @@ struct StringMemento { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00026_class.svg b/docs/test_cases/t00026_class.svg index 42c22d59..bda6fef5 100644 --- a/docs/test_cases/t00026_class.svg +++ b/docs/test_cases/t00026_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Memento @@ -18,11 +18,11 @@ T - + - + m_value : T @@ -30,8 +30,8 @@ Memento<T>(T && v) : void value() const : T - - + + Originator @@ -39,11 +39,11 @@ T - + - + m_value : T @@ -57,8 +57,8 @@ print() const : void set(T && v) : void - - + + Caretaker @@ -66,11 +66,11 @@ T - + - + m_mementos : std::unordered_map<std::string,Memento<T>> @@ -78,7 +78,7 @@ state(const std::string & n) : Memento<T> & set_state(const std::string & s, Memento<T> && m) : void - + Caretaker @@ -86,7 +86,7 @@ std::string - + Originator @@ -94,25 +94,25 @@ std::string - - + + StringMemento - + - + caretaker : Caretaker<std::string> - + - + originator : Originator<std::string> diff --git a/docs/test_cases/t00027.md b/docs/test_cases/t00027.md index 77228e25..f187ea62 100644 --- a/docs/test_cases/t00027.md +++ b/docs/test_cases/t00027.md @@ -559,18 +559,12 @@ struct Window { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t00027_class", "relationships": [ - { - "access": "public", - "destination": "142374082478337852", - "source": "1568932879061562228", - "type": "instantiation" - }, { "access": "public", "destination": "1593092483959332221", @@ -583,12 +577,6 @@ struct Window { "source": "142374082478337852", "type": "extension" }, - { - "access": "public", - "destination": "1114634647721878603", - "source": "1833467466291294724", - "type": "instantiation" - }, { "access": "public", "destination": "1593092483959332221", diff --git a/docs/test_cases/t00027_class.svg b/docs/test_cases/t00027_class.svg index 8a88f4fa..56d4e488 100644 --- a/docs/test_cases/t00027_class.svg +++ b/docs/test_cases/t00027_class.svg @@ -1,6 +1,6 @@ - + - + @@ -9,97 +9,97 @@ - - - - - Shape - - - - display() = 0 : void - - ~Shape() = default : void + + + + + Shape + + + + display() = 0 : void + + ~Shape() = default : void - + + + + Line + + + + + + + Line + + T<>... + + + + display() : void + + + + + Text + + + + + + + Text + + T<>... + + + + display() : void + + + + + + ShapeDecorator + + + + display() = 0 : void + + + + + + Color + + T + + + + display() : void + + + + + + Weight + + T + + + + display() : void + + Line - - - - - - - Line - - T<>... - - - - display() : void - - - - - Text - - - - - - - Text - - T<>... - - - - display() : void - - - - - - ShapeDecorator - - - - display() = 0 : void - - - - - - Color - - T - - - - display() : void - - - - - - Weight - - T - - - - display() : void - - - - - Line - - Color,Weight - - - + + Color,Weight + + + Line @@ -107,93 +107,89 @@ Color - - - - Text - - Color,Weight - - - - - - Text - - Color - - - - - - - Window - + + + + Text + + Color,Weight + + + + + + Text + + Color + + + + + + + Window + - - - + + + - - border : Line<Color,Weight> + + border : Line<Color,Weight> - - - + + + - - divider : Line<Color> + + divider : Line<Color> - - - + + + - - title : Text<Color,Weight> + + title : Text<Color,Weight> - - - + + + - - description : Text<Color> + + description : Text<Color> - - - - - - - - - - - - - - - - - - - - - - - - - border - - - - divider - - + + + + + + + + + + + + + + + + + + + + + border + + + + divider + + + + title + + - title - - - - description + description diff --git a/docs/test_cases/t00028.md b/docs/test_cases/t00028.md index e03d15ec..af462263 100644 --- a/docs/test_cases/t00028.md +++ b/docs/test_cases/t00028.md @@ -410,7 +410,7 @@ class R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00028_class.svg b/docs/test_cases/t00028_class.svg index 71034e00..c62e1348 100644 --- a/docs/test_cases/t00028_class.svg +++ b/docs/test_cases/t00028_class.svg @@ -1,6 +1,6 @@ - + @@ -9,54 +9,54 @@ - - + + A - + A class note. - - + + B - + B class note. - - + + C - + C class note. - - + + D - + D class note. - - + + E @@ -64,27 +64,27 @@ T - + - + param : T - + E template class note. - - + + G - - + + F @@ -94,10 +94,10 @@ three - + F enum note. - + E @@ -105,65 +105,65 @@ int - - + + R - + - + aaa : A - + - + bbb : B * - + - + ccc : C & - + - + ddd : std::vector<std::shared_ptr<D>> - + - + eee : E<int> - + - + ggg : G ** R(C & c) : void - + R class note. - + R contains an instance of A. - + Reference to C. diff --git a/docs/test_cases/t00029.md b/docs/test_cases/t00029.md index 755f5234..b3f584fc 100644 --- a/docs/test_cases/t00029.md +++ b/docs/test_cases/t00029.md @@ -286,7 +286,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00029_class.svg b/docs/test_cases/t00029_class.svg index 61444205..a8038c1f 100644 --- a/docs/test_cases/t00029_class.svg +++ b/docs/test_cases/t00029_class.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,16 @@ - - + + A - - + + C @@ -26,16 +26,16 @@ T - + - + param : T - - + + E @@ -45,64 +45,64 @@ three - - + + G1 - - + + G2 - - + + G3 - - + + G4 - - + + R - + - + g1 : G1 - + - + g3 : G3 & - + - + g4 : std::shared_ptr<G4> diff --git a/docs/test_cases/t00030.md b/docs/test_cases/t00030.md index e6d47b5b..e1373540 100644 --- a/docs/test_cases/t00030.md +++ b/docs/test_cases/t00030.md @@ -255,7 +255,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00030_class.svg b/docs/test_cases/t00030_class.svg index ced78968..8dc74bfe 100644 --- a/docs/test_cases/t00030_class.svg +++ b/docs/test_cases/t00030_class.svg @@ -1,6 +1,6 @@ - + @@ -9,86 +9,86 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + R - + - + aaa : A - + - + bbb : std::vector<B> - + - + ccc : std::vector<C> - + - + ddd : D - + - + eee : E * diff --git a/docs/test_cases/t00031.md b/docs/test_cases/t00031.md index 4e640a3d..ae3c1b85 100644 --- a/docs/test_cases/t00031.md +++ b/docs/test_cases/t00031.md @@ -272,7 +272,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00031_class.svg b/docs/test_cases/t00031_class.svg index f0cd6c4b..fe8ade05 100644 --- a/docs/test_cases/t00031_class.svg +++ b/docs/test_cases/t00031_class.svg @@ -1,33 +1,33 @@ - + - + - + - - - + + + A - - + + B @@ -37,8 +37,8 @@ three - - + + @@ -47,23 +47,23 @@ T - + - + ttt : T - - + + D - + C @@ -71,39 +71,39 @@ int - - + + R - + - + aaa : A * - + - + bbb : std::vector<B> - + - + ccc : C<int> - + - + ddd : D * diff --git a/docs/test_cases/t00032.md b/docs/test_cases/t00032.md index 646c1384..6ecdfab0 100644 --- a/docs/test_cases/t00032.md +++ b/docs/test_cases/t00032.md @@ -364,7 +364,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00032_class.svg b/docs/test_cases/t00032_class.svg index 42e10732..e2e2db67 100644 --- a/docs/test_cases/t00032_class.svg +++ b/docs/test_cases/t00032_class.svg @@ -1,6 +1,6 @@ - + @@ -9,24 +9,24 @@ - - + + Base - - + + TBase - - + + A @@ -35,8 +35,8 @@ operator()() : void - - + + B @@ -45,8 +45,8 @@ operator()() : void - - + + C @@ -55,8 +55,8 @@ operator()() : void - - + + Overload @@ -64,15 +64,15 @@ T,L,Ts... - + - + counter : L - + Overload @@ -80,18 +80,18 @@ TBase,int,A,B,C - - + + R - + - + overload : Overload<TBase,int,A,B,C> diff --git a/docs/test_cases/t00033.md b/docs/test_cases/t00033.md index f31a7a00..524264e1 100644 --- a/docs/test_cases/t00033.md +++ b/docs/test_cases/t00033.md @@ -337,7 +337,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00033_class.svg b/docs/test_cases/t00033_class.svg index 6be4853d..7a5a694f 100644 --- a/docs/test_cases/t00033_class.svg +++ b/docs/test_cases/t00033_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,16 +18,16 @@ T - + - + aaa : T - - + + B @@ -35,16 +35,16 @@ T - + - + bbb : T - - + + C @@ -52,30 +52,30 @@ T - + - + ccc : T - - + + D - + - + ddd : int - + C @@ -83,7 +83,7 @@ D - + B @@ -91,7 +91,7 @@ std::unique_ptr<C<D>> - + A @@ -99,18 +99,18 @@ B<std::unique_ptr<C<D>>> - - + + R - + - + abc : A<B<std::unique_ptr<C<D>>>> diff --git a/docs/test_cases/t00034.md b/docs/test_cases/t00034.md index 74a8f7cf..2bad11be 100644 --- a/docs/test_cases/t00034.md +++ b/docs/test_cases/t00034.md @@ -307,7 +307,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, @@ -319,6 +319,12 @@ struct R { "source": "126450862226197239", "type": "instantiation" }, + { + "access": "public", + "destination": "1704456490210873213", + "source": "1849836134504075115", + "type": "dependency" + }, { "access": "public", "destination": "1578745816100337706", diff --git a/docs/test_cases/t00034_class.svg b/docs/test_cases/t00034_class.svg index 23a67bc1..1edeae53 100644 --- a/docs/test_cases/t00034_class.svg +++ b/docs/test_cases/t00034_class.svg @@ -1,6 +1,6 @@ - + - + @@ -9,99 +9,101 @@ - - - - - Void - - - - operator==(const Void & ) const : bool - - operator!=(const Void & ) const : bool + + + + + Void + + + + operator==(const Void & ) const : bool + + operator!=(const Void & ) const : bool - - - - - lift_void - - T - - + + + + + lift_void + + T + + - - - - - lift_void - - void - - + + + + + lift_void + + void + + - - - - - drop_void - - T - - + + + + + drop_void + + T + + - - - - - drop_void - - Void - - + + + + + drop_void + + Void + + - - - - - A - - + + + + + A + + - - - - - R - + + + + + R + - - - + + + - - la : lift_void_t<A> * + + la : lift_void_t<A> * - - - + + + - - lv : lift_void_t<void> * + + lv : lift_void_t<void> * - - - - - - - - - la - - - - la + + + + + + + + + + + la + + + + la diff --git a/docs/test_cases/t00035.md b/docs/test_cases/t00035.md index e026dced..b069d5e5 100644 --- a/docs/test_cases/t00035.md +++ b/docs/test_cases/t00035.md @@ -150,7 +150,7 @@ struct Right { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00035_class.svg b/docs/test_cases/t00035_class.svg index 18f6e446..c4be6631 100644 --- a/docs/test_cases/t00035_class.svg +++ b/docs/test_cases/t00035_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + Top - - + + Left - - + + Center - - + + Bottom - - + + Right diff --git a/docs/test_cases/t00036.md b/docs/test_cases/t00036.md index f7d56ff9..278d0782 100644 --- a/docs/test_cases/t00036.md +++ b/docs/test_cases/t00036.md @@ -226,7 +226,7 @@ struct C { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00036_class.svg b/docs/test_cases/t00036_class.svg index 08e16904..e2450a57 100644 --- a/docs/test_cases/t00036_class.svg +++ b/docs/test_cases/t00036_class.svg @@ -1,6 +1,6 @@ - + @@ -9,23 +9,23 @@ - + ns1 - + ns11 - + ns111 - + ns2 - + ns22 - - + + E @@ -34,8 +34,8 @@ yellow - - + + A @@ -43,15 +43,15 @@ T - + - + a : T - + A @@ -59,23 +59,23 @@ int - - + + B - + - + a_int : A<int> - - + + C diff --git a/docs/test_cases/t00037.md b/docs/test_cases/t00037.md index a2a30730..e99d045a 100644 --- a/docs/test_cases/t00037.md +++ b/docs/test_cases/t00037.md @@ -249,7 +249,7 @@ struct A { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00037_class.svg b/docs/test_cases/t00037_class.svg index 428369a6..6d626f89 100644 --- a/docs/test_cases/t00037_class.svg +++ b/docs/test_cases/t00037_class.svg @@ -1,6 +1,6 @@ - + @@ -9,98 +9,98 @@ - - + + ST - + - + dimensions : ST::(anonymous_662) - + - + units : ST::(anonymous_792) - - + + ST::(dimensions) - + - + t : double - + - + x : double - + - + y : double - + - + z : double - - + + ST::(units) - + - + c : double - + - + h : double - - + + A - + - + st : ST diff --git a/docs/test_cases/t00038.md b/docs/test_cases/t00038.md index 47410b33..9a9883ad 100644 --- a/docs/test_cases/t00038.md +++ b/docs/test_cases/t00038.md @@ -468,7 +468,7 @@ struct map - + @@ -9,8 +9,8 @@ - - + + thirdparty::ns1::color_t @@ -20,16 +20,16 @@ blue - - + + thirdparty::ns1::E - - + + property_t @@ -39,47 +39,47 @@ property_c - - + + A - - + + B - - + + C - - + + key_t - + - + key : std::string - - + + map @@ -88,8 +88,8 @@ - - + + map @@ -98,8 +98,8 @@ - - + + map @@ -108,8 +108,8 @@ - - + + map @@ -118,8 +118,8 @@ - - + + map diff --git a/docs/test_cases/t00039.md b/docs/test_cases/t00039.md index 64dc9f99..236e8bf8 100644 --- a/docs/test_cases/t00039.md +++ b/docs/test_cases/t00039.md @@ -570,7 +570,7 @@ template struct FFF : public FF { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00039_class.svg b/docs/test_cases/t00039_class.svg index 98a50780..2d2c4f31 100644 --- a/docs/test_cases/t00039_class.svg +++ b/docs/test_cases/t00039_class.svg @@ -1,6 +1,6 @@ - + @@ -9,95 +9,95 @@ - - + + C - - + + D - - + + E - - + + CD - - + + DE - - + + CDE - - + + A - - + + AA - - + + AAA - + - + b : B * - - + + ns2::AAAA - - + + ns3::F @@ -105,16 +105,16 @@ T - + - + t : T * - - + + ns3::FF @@ -122,16 +122,16 @@ T,M - + - + m : M * - - + + ns3::FE @@ -139,16 +139,16 @@ T,M - + - + m : M * - - + + ns3::FFF @@ -156,11 +156,11 @@ T,M,N - + - + n : N * diff --git a/docs/test_cases/t00040.md b/docs/test_cases/t00040.md index 2c954e06..b18b766f 100644 --- a/docs/test_cases/t00040.md +++ b/docs/test_cases/t00040.md @@ -264,7 +264,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00040_class.svg b/docs/test_cases/t00040_class.svg index 480b4dd5..011fcb78 100644 --- a/docs/test_cases/t00040_class.svg +++ b/docs/test_cases/t00040_class.svg @@ -1,6 +1,6 @@ - + @@ -9,50 +9,50 @@ - - + + A - + - + ii_ : int get_a() : int - - + + AA - - + + AAA - + - + b : B * get_aaa() : int - - + + R diff --git a/docs/test_cases/t00041.md b/docs/test_cases/t00041.md index 65eb9cb0..dca512a3 100644 --- a/docs/test_cases/t00041.md +++ b/docs/test_cases/t00041.md @@ -351,7 +351,7 @@ struct NM : public N { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00041_class.svg b/docs/test_cases/t00041_class.svg index bf48cda5..cc8814ec 100644 --- a/docs/test_cases/t00041_class.svg +++ b/docs/test_cases/t00041_class.svg @@ -1,6 +1,6 @@ - + @@ -9,102 +9,102 @@ - - + + R - - + + D - + - + rr : RR * - - + + E - - + + F - - + + RR - + - + e : E * - + - + f : F * - + - + g : detail::G * foo(H * h) : void - - + + RRR - - + + ns1::N - - + + ns1::NN - - + + ns1::NM diff --git a/docs/test_cases/t00042.md b/docs/test_cases/t00042.md index 30a65c2e..47614b0d 100644 --- a/docs/test_cases/t00042.md +++ b/docs/test_cases/t00042.md @@ -262,7 +262,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00042_class.svg b/docs/test_cases/t00042_class.svg index 360d6912..859ea048 100644 --- a/docs/test_cases/t00042_class.svg +++ b/docs/test_cases/t00042_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,16 +18,16 @@ T - + - + a : T - - + + A @@ -36,8 +36,8 @@ - - + + B @@ -45,22 +45,22 @@ T,K - + - + b : T - + - + bb : K - + A @@ -68,7 +68,7 @@ double - + A @@ -76,7 +76,7 @@ std::string - + B diff --git a/docs/test_cases/t00043.md b/docs/test_cases/t00043.md index 3d123346..d22fc035 100644 --- a/docs/test_cases/t00043.md +++ b/docs/test_cases/t00043.md @@ -499,7 +499,7 @@ struct J { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00043_class.svg b/docs/test_cases/t00043_class.svg index 846e4094..df969108 100644 --- a/docs/test_cases/t00043_class.svg +++ b/docs/test_cases/t00043_class.svg @@ -1,6 +1,6 @@ - + @@ -9,22 +9,22 @@ - + dependants - + dependencies - - + + A - - + + B @@ -33,8 +33,8 @@ b(dependants::A * a) : void - - + + BB @@ -43,8 +43,8 @@ bb(dependants::A * a) : void - - + + C @@ -53,8 +53,8 @@ c(dependants::B * b) : void - - + + D @@ -65,8 +65,8 @@ dd(dependants::BB * bb) : void - - + + E @@ -75,24 +75,24 @@ e(dependants::D * d) : void - - + + G - - + + GG - - + + H @@ -103,8 +103,8 @@ hh(dependencies::GG * gg) : void - - + + I @@ -113,8 +113,8 @@ i(dependencies::H * h) : void - - + + J diff --git a/docs/test_cases/t00044.md b/docs/test_cases/t00044.md index 32e4f572..aa59a2b5 100644 --- a/docs/test_cases/t00044.md +++ b/docs/test_cases/t00044.md @@ -19,7 +19,6 @@ diagrams: File t00044.cc ```cpp // Inspired by skypjack/entt signal handlers -// This test case checks that at least clang-uml does not crash on this code namespace clanguml::t00044 { template class sink; @@ -63,59 +62,6 @@ struct R { { "diagram_type": "class", "elements": [ - { - "bases": [], - "display_name": "clanguml::t00044::sink>", - "id": "559574389062594251", - "is_abstract": false, - "is_nested": false, - "is_struct": false, - "is_template": true, - "is_union": false, - "members": [], - "methods": [], - "name": "sink", - "namespace": "clanguml::t00044", - "source_location": { - "file": "../../tests/t00044/t00044.cc", - "line": 10 - }, - "template_parameters": [ - { - "is_variadic": false, - "kind": "argument", - "template_parameters": [ - { - "is_variadic": false, - "kind": "argument", - "template_parameters": [ - { - "is_variadic": false, - "kind": "template_type", - "name": "Ret", - "template_parameters": [] - }, - { - "is_variadic": true, - "kind": "template_type", - "name": "Args...", - "template_parameters": [] - } - ], - "type": "" - }, - { - "is_variadic": false, - "kind": "template_type", - "name": "A", - "template_parameters": [] - } - ], - "type": "clanguml::t00044::signal_handler" - } - ], - "type": "class" - }, { "bases": [], "display_name": "clanguml::t00044::signal_handler", @@ -129,10 +75,6 @@ struct R { "methods": [], "name": "signal_handler", "namespace": "clanguml::t00044", - "source_location": { - "file": "../../tests/t00044/t00044.cc", - "line": 24 - }, "template_parameters": [ { "is_variadic": false, @@ -161,6 +103,58 @@ struct R { ], "type": "class" }, + { + "bases": [], + "display_name": "clanguml::t00044::sink>", + "id": "559574389062594251", + "is_abstract": false, + "is_nested": false, + "is_struct": false, + "is_template": true, + "is_union": false, + "members": [], + "methods": [], + "name": "sink", + "namespace": "clanguml::t00044", + "source_location": { + "file": "../../tests/t00044/t00044.cc", + "line": 9 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "argument", + "template_parameters": [ + { + "is_variadic": false, + "kind": "template_type", + "template_parameters": [ + { + "is_variadic": false, + "kind": "template_type", + "name": "Ret", + "template_parameters": [] + }, + { + "is_variadic": true, + "kind": "template_type", + "name": "Args...", + "template_parameters": [] + } + ] + }, + { + "is_variadic": false, + "kind": "template_type", + "name": "A", + "template_parameters": [] + } + ], + "type": "clanguml::t00044::signal_handler" + } + ], + "type": "class" + }, { "bases": [], "display_name": "clanguml::t00044::signal_handler", @@ -177,7 +171,7 @@ struct R { "template_parameters": [ { "is_variadic": false, - "kind": "argument", + "kind": "template_type", "template_parameters": [ { "is_variadic": false, @@ -191,8 +185,7 @@ struct R { "template_parameters": [], "type": "int" } - ], - "type": "" + ] }, { "is_variadic": false, @@ -223,7 +216,7 @@ struct R { "template_parameters": [ { "is_variadic": false, - "kind": "argument", + "kind": "template_type", "template_parameters": [ { "is_variadic": false, @@ -237,8 +230,7 @@ struct R { "template_parameters": [], "type": "int" } - ], - "type": "" + ] }, { "is_variadic": false, @@ -268,7 +260,7 @@ struct R { "name": "sink1", "source_location": { "file": "../../tests/t00044/t00044.cc", - "line": 33 + "line": 32 }, "type": "sink>" } @@ -278,7 +270,7 @@ struct R { "namespace": "clanguml::t00044", "source_location": { "file": "../../tests/t00044/t00044.cc", - "line": 32 + "line": 31 }, "template_parameters": [], "type": "class" @@ -298,7 +290,7 @@ struct R { "namespace": "clanguml::t00044", "source_location": { "file": "../../tests/t00044/t00044.cc", - "line": 7 + "line": 6 }, "template_parameters": [ { @@ -331,7 +323,7 @@ struct R { "namespace": "clanguml::t00044", "source_location": { "file": "../../tests/t00044/t00044.cc", - "line": 5 + "line": 4 }, "template_parameters": [ { @@ -345,7 +337,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, @@ -353,14 +345,20 @@ struct R { "relationships": [ { "access": "public", - "destination": "1759724482769288325", - "source": "559574389062594251", + "destination": "276594465967577895", + "source": "1591729735727316875", "type": "instantiation" }, { "access": "public", - "destination": "276594465967577895", - "source": "1591729735727316875", + "destination": "1591729735727316875", + "source": "559574389062594251", + "type": "dependency" + }, + { + "access": "public", + "destination": "1759724482769288325", + "source": "559574389062594251", "type": "instantiation" }, { diff --git a/docs/test_cases/t00044_class.svg b/docs/test_cases/t00044_class.svg index 540622c5..7b266b31 100644 --- a/docs/test_cases/t00044_class.svg +++ b/docs/test_cases/t00044_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,16 @@ - - + + + + signal_handler + + Ret(Args...),A + + + + sink @@ -19,17 +27,7 @@ - - - - - signal_handler - - Ret(Args...),A - - - - + signal_handler @@ -37,7 +35,7 @@ void(int),bool - + sink @@ -45,33 +43,33 @@ signal_handler<void(int),bool> - - + + R - + - + sink1 : sink<signal_handler<void (int),bool>> - - - - - signal_handler - - T,A - - + + + + + signal_handler + + T,A + + - - + + sink @@ -80,12 +78,14 @@ + + + + - - - - + + diff --git a/docs/test_cases/t00045.md b/docs/test_cases/t00045.md index 34ffe8a0..423345d9 100644 --- a/docs/test_cases/t00045.md +++ b/docs/test_cases/t00045.md @@ -414,7 +414,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00045_class.svg b/docs/test_cases/t00045_class.svg index 887f47af..5f7adb2b 100644 --- a/docs/test_cases/t00045_class.svg +++ b/docs/test_cases/t00045_class.svg @@ -1,6 +1,6 @@ - + @@ -9,32 +9,32 @@ - - + + A - - + + AA - - + + AAA - - + + AAAA @@ -42,103 +42,103 @@ T - + - + t : T - - + + ns1::A - - + + ns1::ns2::A - - + + ns1::ns2::B - - + + ns1::ns2::C - - + + ns1::ns2::D - - + + ns1::ns2::E - - + + ns1::ns2::AAA - - + + ns1::ns2::R - + - + a : ns1::ns2::A * - + - + ns1_a : ns1::A * - + - + ns1_ns2_a : ns1::ns2::A * - + - + root_a : ::A * diff --git a/docs/test_cases/t00046.md b/docs/test_cases/t00046.md index f81432ac..62f82c4c 100644 --- a/docs/test_cases/t00046.md +++ b/docs/test_cases/t00046.md @@ -358,7 +358,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00046_class.svg b/docs/test_cases/t00046_class.svg index 3340565f..ed87deb3 100644 --- a/docs/test_cases/t00046_class.svg +++ b/docs/test_cases/t00046_class.svg @@ -1,6 +1,6 @@ - + @@ -9,118 +9,118 @@ - + ns1 - + ns2 - + __gnu_cxx - - + + A - - + + A - - + + B - - + + C - - + + D - - + + E - - + + R - + - + a : ns1::ns2::A * - + - + ns1_a : ns1::A * - + - + ns1_ns2_a : ns1::ns2::A * - + - + root_a : ::A * - + - + i : std::vector<std::uint8_t> foo(AA & aa) : void - - + + A - - + + AA diff --git a/docs/test_cases/t00047.md b/docs/test_cases/t00047.md index 2ca2eac8..2516c318 100644 --- a/docs/test_cases/t00047.md +++ b/docs/test_cases/t00047.md @@ -184,7 +184,7 @@ using conditional = typename conditional_t::type; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00047_class.svg b/docs/test_cases/t00047_class.svg index a97b7c5a..33217d7f 100644 --- a/docs/test_cases/t00047_class.svg +++ b/docs/test_cases/t00047_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + conditional_t @@ -19,8 +19,8 @@ - - + + conditional_t @@ -29,8 +29,8 @@ - - + + conditional_t @@ -39,8 +39,8 @@ - - + + conditional_t diff --git a/docs/test_cases/t00048.md b/docs/test_cases/t00048.md index b0633421..180d19a5 100644 --- a/docs/test_cases/t00048.md +++ b/docs/test_cases/t00048.md @@ -442,7 +442,7 @@ template struct BaseTemplate { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00048_class.svg b/docs/test_cases/t00048_class.svg index f3b12950..a7bca985 100644 --- a/docs/test_cases/t00048_class.svg +++ b/docs/test_cases/t00048_class.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + Base - + - + base : int foo() = 0 : void - - + + BaseTemplate @@ -35,35 +35,35 @@ T - + - + base : T foo() = 0 : void - - + + B - + - + b : int foo() : void - - + + BTemplate @@ -71,35 +71,35 @@ T - + - + b : T foo() : void - - + + A - + - + a : int foo() : void - - + + ATemplate @@ -107,11 +107,11 @@ T - + - + a : T diff --git a/docs/test_cases/t00049.md b/docs/test_cases/t00049.md index 504413e9..8da981b4 100644 --- a/docs/test_cases/t00049.md +++ b/docs/test_cases/t00049.md @@ -256,7 +256,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00049_class.svg b/docs/test_cases/t00049_class.svg index e8907bc5..31056383 100644 --- a/docs/test_cases/t00049_class.svg +++ b/docs/test_cases/t00049_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,17 +18,17 @@ T - + - + a : T get_a() : T & - + A @@ -36,7 +36,7 @@ intmap - + A @@ -44,7 +44,7 @@ thestring - + A @@ -52,32 +52,32 @@ string_vector - - + + R - + - + a_string : A<thestring> - + - + a_vector_string : A<string_vector> - + - + a_int_map : A<intmap> diff --git a/docs/test_cases/t00050.md b/docs/test_cases/t00050.md index 493306e7..674debc4 100644 --- a/docs/test_cases/t00050.md +++ b/docs/test_cases/t00050.md @@ -484,7 +484,7 @@ class NoComment { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00050_class.svg b/docs/test_cases/t00050_class.svg index 51aecb3e..9312043b 100644 --- a/docs/test_cases/t00050_class.svg +++ b/docs/test_cases/t00050_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + A - - + + B - - + + C - - + + utils::D - - + + E @@ -52,8 +52,8 @@ E3 - - + + F @@ -61,44 +61,44 @@ T,V,int N - + - + t : T[N] - + - + v : V - - + + G - - + + NoComment - + Lorem ipsum dolor sit - + Lorem ipsum dolor sit - + Lorem ipsum dolor sit amet consectetur adipiscing elit, urna consequat felis vehicula class ultricies mollis dictumst, aenean non a in donec nulla. @@ -125,50 +125,50 @@ imperdiet praesent magnis ridiculus congue gravida curabitur dictum sagittis, enim et magna sit inceptos sodales parturient pharetra mollis, aenean vel nostra tellus commodo pretium sapien sociosqu. - + This is a short description of class G. - + This is an intermediate description of class G. - + This is a long description of class G. - + Lorem ipsum - + TODO 1. Write meaningful comment - + TODO 2. Write tests - + TODO 3. Implement - + Long comment example - + TODO Implement... - + Simple array wrapper. - + Template parameters diff --git a/docs/test_cases/t00051.md b/docs/test_cases/t00051.md index 89d3f38d..cc8d79df 100644 --- a/docs/test_cases/t00051.md +++ b/docs/test_cases/t00051.md @@ -402,7 +402,7 @@ A::custom_thread2 A::start_thread2() } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00051_class.svg b/docs/test_cases/t00051_class.svg index 28600c9e..170f535a 100644 --- a/docs/test_cases/t00051_class.svg +++ b/docs/test_cases/t00051_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + B @@ -18,18 +18,18 @@ F,FF=F - + - + f_ : F - + - + ff_ : FF @@ -39,16 +39,16 @@ f() : void ff() : void - - + + B<(lambda at ../../tests/t00051/t00051.cc:43:18),(lambda at ../../tests/t00051/t00051.cc:43:27)> - - + + A @@ -63,8 +63,8 @@ get_function() : (lambda at ../../tests/t00051/t00051.cc:48:16) - - + + A::custom_thread1 @@ -73,8 +73,8 @@ custom_thread1<Function,Args...>(Function && f, Args &&... args) : void - - + + A::custom_thread2 diff --git a/docs/test_cases/t00052.md b/docs/test_cases/t00052.md index 2c4a1cfa..deb1b105 100644 --- a/docs/test_cases/t00052.md +++ b/docs/test_cases/t00052.md @@ -329,7 +329,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00052_class.svg b/docs/test_cases/t00052_class.svg index 54fc93c3..9de9892f 100644 --- a/docs/test_cases/t00052_class.svg +++ b/docs/test_cases/t00052_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -21,8 +21,8 @@ aa<F,Q>(F && f, Q q) : void - - + + B @@ -35,8 +35,8 @@ bb<F>(F && f, T t) : T - - + + C @@ -47,7 +47,7 @@ c<P>(P p) : T - + B @@ -55,7 +55,7 @@ int - + C @@ -63,32 +63,32 @@ int - - + + R - + - + a : A - + - + b : B<int> - + - + c : C<int> diff --git a/docs/test_cases/t00053.md b/docs/test_cases/t00053.md index 6edfaed9..078ceb50 100644 --- a/docs/test_cases/t00053.md +++ b/docs/test_cases/t00053.md @@ -384,7 +384,7 @@ enum class j { jjj }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00053_class.svg b/docs/test_cases/t00053_class.svg index 2debaec3..c18e62a6 100644 --- a/docs/test_cases/t00053_class.svg +++ b/docs/test_cases/t00053_class.svg @@ -1,6 +1,6 @@ - + @@ -9,72 +9,72 @@ - - + + A - - + + C - - + + E - - + + F - - + + a - - + + c - - + + e - - + + f - - + + h @@ -82,8 +82,8 @@ hhh - - + + j @@ -91,56 +91,56 @@ jjj - - + + b - - + + d - - + + g - - + + B - - + + D - - + + G - - + + i diff --git a/docs/test_cases/t00054.md b/docs/test_cases/t00054.md index 9eeec542..047780ea 100644 --- a/docs/test_cases/t00054.md +++ b/docs/test_cases/t00054.md @@ -426,7 +426,7 @@ enum class j { jjj }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00054_class.svg b/docs/test_cases/t00054_class.svg index d9ddb6cd..bb40aff4 100644 --- a/docs/test_cases/t00054_class.svg +++ b/docs/test_cases/t00054_class.svg @@ -1,6 +1,6 @@ - + @@ -9,116 +9,116 @@ - + detail - + detail2 - + detail3 - + detail4 - - + + d - - + + a - - + + c - - + + e - - + + C - - + + F - - + + D - - + + E - - + + A - - + + B - - + + f - - + + G - - + + h @@ -127,8 +127,8 @@ hhh - - + + i @@ -137,8 +137,8 @@ iii - - + + j @@ -147,16 +147,16 @@ jjj - - + + b - - + + g diff --git a/docs/test_cases/t00055.md b/docs/test_cases/t00055.md index 6f6c3257..1cda6cd4 100644 --- a/docs/test_cases/t00055.md +++ b/docs/test_cases/t00055.md @@ -246,7 +246,7 @@ struct J { }; } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00055_class.svg b/docs/test_cases/t00055_class.svg index 8fbe7c42..8fa573b6 100644 --- a/docs/test_cases/t00055_class.svg +++ b/docs/test_cases/t00055_class.svg @@ -1,6 +1,6 @@ - + @@ -9,80 +9,80 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J diff --git a/docs/test_cases/t00056.md b/docs/test_cases/t00056.md index abf060e4..d05c7e61 100644 --- a/docs/test_cases/t00056.md +++ b/docs/test_cases/t00056.md @@ -559,7 +559,7 @@ struct F { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00056_class.svg b/docs/test_cases/t00056_class.svg index abadfc46..86c189b2 100644 --- a/docs/test_cases/t00056_class.svg +++ b/docs/test_cases/t00056_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + «concept» @@ -20,8 +20,8 @@ - - + + «concept» @@ -33,8 +33,8 @@ sizeof (l) > sizeof (r) - - + + «concept» @@ -44,8 +44,8 @@ - - + + «concept» @@ -58,8 +58,8 @@ container.begin() container.end() - - + + «concept» @@ -71,8 +71,8 @@ typename T::value_type - - + + «concept» @@ -86,8 +86,8 @@ {std::to_string(s)} noexcept {std::to_string(s)} -> std::same_as<std::string> - - + + «concept» @@ -97,8 +97,8 @@ - - + + «concept» @@ -108,8 +108,8 @@ - - + + A @@ -117,16 +117,16 @@ max_four_bytes T - + - + a : T - - + + B @@ -134,16 +134,16 @@ T - + - + b : T - - + + C @@ -151,16 +151,16 @@ convertible_to_string T - + - + c : T - - + + D @@ -169,8 +169,8 @@ - - + + E @@ -178,30 +178,30 @@ T1,T2,T3 - + - + e1 : T1 - + - + e2 : T2 - + - + e3 : T3 - - + + F @@ -209,25 +209,25 @@ T1,T2,T3 - + - + f1 : T1 - + - + f2 : T2 - + - + f3 : T3 diff --git a/docs/test_cases/t00057.md b/docs/test_cases/t00057.md index 7b03ce6d..61b9ef0e 100644 --- a/docs/test_cases/t00057.md +++ b/docs/test_cases/t00057.md @@ -442,7 +442,7 @@ struct t00057_R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00057_class.svg b/docs/test_cases/t00057_class.svg index bb025b3d..50c22732 100644 --- a/docs/test_cases/t00057_class.svg +++ b/docs/test_cases/t00057_class.svg @@ -1,6 +1,6 @@ - + @@ -9,210 +9,210 @@ - - + + t00057_A - + - + a1 : int - - + + t00057_B - + - + b1 : int - - + + t00057_C - + - + c1 : int - - + + «union» t00057_D - + - + d1 : int - + - + d2 : float - - + + t00057_E - + - + e : int - + - + coordinates : t00057_E::(anonymous_739) - + - + height : t00057_E::(anonymous_807) - - + + t00057_E::(coordinates) - + - + x : int - + - + y : int - - + + «union» t00057_E::(height) - + - + z : int - + - + t : double - - + + t00057_R - + - + a : struct t00057_A - + - + b : t00057_B - + - + c : struct t00057_C * - + - + d : union t00057_D - + - + e : struct t00057_E * - + - + f : struct t00057_F * - - + + t00057_F - + - + f1 : int diff --git a/docs/test_cases/t00058.md b/docs/test_cases/t00058.md index 3e06c5ac..ef3b5af3 100644 --- a/docs/test_cases/t00058.md +++ b/docs/test_cases/t00058.md @@ -395,7 +395,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00058_class.svg b/docs/test_cases/t00058_class.svg index f0ab92ce..0ac1db46 100644 --- a/docs/test_cases/t00058_class.svg +++ b/docs/test_cases/t00058_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + first_type @@ -19,8 +19,8 @@ - - + + «concept» @@ -30,8 +30,8 @@ - - + + A @@ -39,16 +39,16 @@ T,Args... - + - + a : std::vector<T> - - + + B @@ -56,22 +56,22 @@ T,P,Args... - + - + b : std::vector<T> - + - + bb : P - + A @@ -79,7 +79,7 @@ int,int,double,std::string - + A @@ -87,7 +87,7 @@ int,int - + B @@ -95,25 +95,25 @@ int,std::string,int,double,A<int,int> - - + + R - + - + aa : A<int,int,double,std::string> - + - + bb : B<int,std::string,int,double,A<int,int>> diff --git a/docs/test_cases/t00059.md b/docs/test_cases/t00059.md index b97ed6de..f347ce6a 100644 --- a/docs/test_cases/t00059.md +++ b/docs/test_cases/t00059.md @@ -481,7 +481,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00059_class.svg b/docs/test_cases/t00059_class.svg index aa611b87..2a1c7632 100644 --- a/docs/test_cases/t00059_class.svg +++ b/docs/test_cases/t00059_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + «concept» @@ -23,8 +23,8 @@ T{} t.get_name() - - + + «concept» @@ -36,8 +36,8 @@ t.get_sweetness() - - + + «concept» @@ -49,8 +49,8 @@ t.get_bitterness() - - + + gala_apple @@ -61,8 +61,8 @@ get_sweetness() const : float - - + + empire_apple @@ -73,8 +73,8 @@ get_sweetness() const : float - - + + lima_orange @@ -85,8 +85,8 @@ get_bitterness() const : float - - + + valencia_orange @@ -97,8 +97,8 @@ get_bitterness() const : float - - + + fruit_factory @@ -111,7 +111,7 @@ create_orange() const : TO - + fruit_factory @@ -119,7 +119,7 @@ gala_apple,valencia_orange - + fruit_factory @@ -127,25 +127,25 @@ empire_apple,lima_orange - - + + R - + - + factory_1 : fruit_factory_1 - + - + factory_2 : fruit_factory_2 diff --git a/docs/test_cases/t00060.md b/docs/test_cases/t00060.md index 448fccfc..175bc077 100644 --- a/docs/test_cases/t00060.md +++ b/docs/test_cases/t00060.md @@ -256,7 +256,7 @@ template struct H : public G { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00060_class.svg b/docs/test_cases/t00060_class.svg index ac476cb5..8460b7db 100644 --- a/docs/test_cases/t00060_class.svg +++ b/docs/test_cases/t00060_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + A - - + + B - - + + C - - + + D - - + + G @@ -50,16 +50,16 @@ T - + - + g : T - - + + H @@ -67,18 +67,18 @@ T,P - + - + h : G<T> - + - + hh : P diff --git a/docs/test_cases/t00061.md b/docs/test_cases/t00061.md index 00572535..9627cb4b 100644 --- a/docs/test_cases/t00061.md +++ b/docs/test_cases/t00061.md @@ -61,7 +61,7 @@ struct C { } ], "metadata": { - "clang_uml_version": "0.3.3-24-ge2a6b81", + "clang_uml_version": "0.3.4-21-g665c784", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00061_class.svg b/docs/test_cases/t00061_class.svg index 43b377c6..345d916f 100644 --- a/docs/test_cases/t00061_class.svg +++ b/docs/test_cases/t00061_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A diff --git a/docs/test_cases/t00062.md b/docs/test_cases/t00062.md new file mode 100644 index 00000000..8d7cdd27 --- /dev/null +++ b/docs/test_cases/t00062.md @@ -0,0 +1,1120 @@ +# t00062 - Template specialization matching based on deduced context +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t00062_class: + type: class + glob: + - ../../tests/t00062/t00062.cc + include: + namespaces: + - clanguml::t00062 + using_namespace: + - clanguml::t00062 + plantuml: + before: + - left to right direction +``` +## Source code +File t00062.cc +```cpp +#include +#include +#include + +namespace clanguml { +namespace t00062 { +template struct A; + +template struct A { + U &u; +}; + +template struct A &> { + U &u; +}; + +template <> +struct A> &> { }; + +template struct A { + U **u; +}; + +template struct A { + U ***u; +}; + +template struct A { + U ***u; +}; + +template struct A { + U &&u; +}; + +template struct A { + U const &u; +}; + +template struct A { + C &c; + M C::*m; +}; + +template struct A { + C &&c; + M C::*m; +}; + +template struct A { + C &c; + M C::*m; +}; + +template struct A { + C &c; +}; + +template struct A { + C &&c; + M C::*m; +}; + +template struct A { + C &&c; + float C::*mf; +}; + +template +struct A { + C &c; + M C::*m; +}; + +template struct A { + char n[N]; +}; + +template <> struct A { + std::vector n; +}; + +template struct A { char klm[K][L][M]; }; + +template struct A { + bool u; +}; + +template