diff --git a/docs/test_cases/t00002_class.png b/docs/test_cases/t00002_class.png index a2d1b5fe..c7cabb63 100644 Binary files a/docs/test_cases/t00002_class.png and b/docs/test_cases/t00002_class.png differ diff --git a/docs/test_cases/t00003_class.png b/docs/test_cases/t00003_class.png index 38013897..b6c50039 100644 Binary files a/docs/test_cases/t00003_class.png and b/docs/test_cases/t00003_class.png differ diff --git a/docs/test_cases/t00004_class.png b/docs/test_cases/t00004_class.png index b3959579..5d31b5c1 100644 Binary files a/docs/test_cases/t00004_class.png and b/docs/test_cases/t00004_class.png differ diff --git a/docs/test_cases/t00005_class.png b/docs/test_cases/t00005_class.png index a3e20bd9..86b95ac4 100644 Binary files a/docs/test_cases/t00005_class.png and b/docs/test_cases/t00005_class.png differ diff --git a/docs/test_cases/t00006_class.png b/docs/test_cases/t00006_class.png index 2da7c717..23133f84 100644 Binary files a/docs/test_cases/t00006_class.png and b/docs/test_cases/t00006_class.png differ diff --git a/docs/test_cases/t00007_class.png b/docs/test_cases/t00007_class.png index 28ccdff4..a7081e0f 100644 Binary files a/docs/test_cases/t00007_class.png and b/docs/test_cases/t00007_class.png differ diff --git a/docs/test_cases/t00008_class.png b/docs/test_cases/t00008_class.png index 0cd44f40..c77d374e 100644 Binary files a/docs/test_cases/t00008_class.png and b/docs/test_cases/t00008_class.png differ diff --git a/docs/test_cases/t00009_class.png b/docs/test_cases/t00009_class.png index 0dab4be7..3024da07 100644 Binary files a/docs/test_cases/t00009_class.png and b/docs/test_cases/t00009_class.png differ diff --git a/docs/test_cases/t00010_class.png b/docs/test_cases/t00010_class.png index d6f78220..920fd9a5 100644 Binary files a/docs/test_cases/t00010_class.png and b/docs/test_cases/t00010_class.png differ diff --git a/docs/test_cases/t00011_class.png b/docs/test_cases/t00011_class.png index 62e35eff..0e648478 100644 Binary files a/docs/test_cases/t00011_class.png and b/docs/test_cases/t00011_class.png differ diff --git a/docs/test_cases/t00012_class.png b/docs/test_cases/t00012_class.png index 63bc6179..ad78b4ba 100644 Binary files a/docs/test_cases/t00012_class.png and b/docs/test_cases/t00012_class.png differ diff --git a/docs/test_cases/t00013_class.png b/docs/test_cases/t00013_class.png index fb39642f..6e24d861 100644 Binary files a/docs/test_cases/t00013_class.png and b/docs/test_cases/t00013_class.png differ diff --git a/docs/test_cases/t00014_class.png b/docs/test_cases/t00014_class.png index 0954ed16..fcf58d9e 100644 Binary files a/docs/test_cases/t00014_class.png and b/docs/test_cases/t00014_class.png differ diff --git a/docs/test_cases/t00015_class.png b/docs/test_cases/t00015_class.png index 1689be22..254b39c9 100644 Binary files a/docs/test_cases/t00015_class.png and b/docs/test_cases/t00015_class.png differ diff --git a/docs/test_cases/t00016_class.png b/docs/test_cases/t00016_class.png index 0259e361..4b443082 100644 Binary files a/docs/test_cases/t00016_class.png and b/docs/test_cases/t00016_class.png differ diff --git a/docs/test_cases/t00017_class.png b/docs/test_cases/t00017_class.png index 32d0fa72..521b89a4 100644 Binary files a/docs/test_cases/t00017_class.png and b/docs/test_cases/t00017_class.png differ diff --git a/docs/test_cases/t00018.md b/docs/test_cases/t00018.md index 1b72af09..760615a8 100644 --- a/docs/test_cases/t00018.md +++ b/docs/test_cases/t00018.md @@ -17,36 +17,6 @@ diagrams: ``` ## Source code -File t00018_impl.cc -```cpp -#include "t00018_impl.h" -#include "t00018.h" - -namespace clanguml { -namespace t00018 { -namespace impl { - -widget::widget(int n) - : n(n) -{ -} - -void widget::draw(const clanguml::t00018::widget &w) const -{ - if (w.shown()) - std::cout << "drawing a const widget " << n << '\n'; -} - -void widget::draw(const clanguml::t00018::widget &w) -{ - if (w.shown()) - std::cout << "drawing a non-const widget " << n << '\n'; -} -} -} -} - -``` File t00018_impl.h ```cpp #pragma once @@ -131,6 +101,36 @@ widget &widget::operator=(widget &&) = default; } } +``` +File t00018_impl.cc +```cpp +#include "t00018_impl.h" +#include "t00018.h" + +namespace clanguml { +namespace t00018 { +namespace impl { + +widget::widget(int n) + : n(n) +{ +} + +void widget::draw(const clanguml::t00018::widget &w) const +{ + if (w.shown()) + std::cout << "drawing a const widget " << n << '\n'; +} + +void widget::draw(const clanguml::t00018::widget &w) +{ + if (w.shown()) + std::cout << "drawing a non-const widget " << n << '\n'; +} +} +} +} + ``` ## Generated UML diagrams ![t00018_class](./t00018_class.png "Pimpl pattern") diff --git a/docs/test_cases/t00018_class.png b/docs/test_cases/t00018_class.png index c3e3fa3b..1962786d 100644 Binary files a/docs/test_cases/t00018_class.png and b/docs/test_cases/t00018_class.png differ diff --git a/docs/test_cases/t00019.md b/docs/test_cases/t00019.md index 70d96ba5..9bd7c2b1 100644 --- a/docs/test_cases/t00019.md +++ b/docs/test_cases/t00019.md @@ -17,21 +17,25 @@ diagrams: ``` ## Source code -File t00019.cc +File t00019_layer2.h ```cpp -#include "t00019_base.h" -#include "t00019_layer1.h" -#include "t00019_layer2.h" -#include "t00019_layer3.h" - -#include +#pragma once namespace clanguml { namespace t00019 { -class A { -public: - std::unique_ptr>>> layers; +template class Layer2 : public LowerLayer { + + using LowerLayer::LowerLayer; + + using LowerLayer::m1; + + using LowerLayer::m2; + + int all_calls_count() const + { + return LowerLayer::m1_calls() + LowerLayer::m2_calls(); + } }; } } @@ -89,6 +93,26 @@ template class Layer1 : public LowerLayer { } } +``` +File t00019.cc +```cpp +#include "t00019_base.h" +#include "t00019_layer1.h" +#include "t00019_layer2.h" +#include "t00019_layer3.h" + +#include + +namespace clanguml { +namespace t00019 { + +class A { +public: + std::unique_ptr>>> layers; +}; +} +} + ``` File t00019_layer3.h ```cpp @@ -126,30 +150,6 @@ private: } } -``` -File t00019_layer2.h -```cpp -#pragma once - -namespace clanguml { -namespace t00019 { - -template class Layer2 : public LowerLayer { - - using LowerLayer::LowerLayer; - - using LowerLayer::m1; - - using LowerLayer::m2; - - int all_calls_count() const - { - return LowerLayer::m1_calls() + LowerLayer::m2_calls(); - } -}; -} -} - ``` ## Generated UML diagrams ![t00019_class](./t00019_class.png "Layercake pattern") diff --git a/docs/test_cases/t00019_class.png b/docs/test_cases/t00019_class.png index 9afcc255..04cdc046 100644 Binary files a/docs/test_cases/t00019_class.png and b/docs/test_cases/t00019_class.png differ diff --git a/docs/test_cases/t00020_class.png b/docs/test_cases/t00020_class.png index c7df1d23..acc44a80 100644 Binary files a/docs/test_cases/t00020_class.png and b/docs/test_cases/t00020_class.png differ diff --git a/docs/test_cases/t00021_class.png b/docs/test_cases/t00021_class.png index aacdaa00..8beb9d59 100644 Binary files a/docs/test_cases/t00021_class.png and b/docs/test_cases/t00021_class.png differ diff --git a/docs/test_cases/t00022_class.png b/docs/test_cases/t00022_class.png index 6fc33aea..101b46c9 100644 Binary files a/docs/test_cases/t00022_class.png and b/docs/test_cases/t00022_class.png differ diff --git a/docs/test_cases/t00023_class.png b/docs/test_cases/t00023_class.png index a94059a5..3e7c4112 100644 Binary files a/docs/test_cases/t00023_class.png and b/docs/test_cases/t00023_class.png differ diff --git a/docs/test_cases/t00024_class.png b/docs/test_cases/t00024_class.png index d21b6826..f66f0bb9 100644 Binary files a/docs/test_cases/t00024_class.png and b/docs/test_cases/t00024_class.png differ diff --git a/docs/test_cases/t00025_class.png b/docs/test_cases/t00025_class.png index e04810f0..e14192c1 100644 Binary files a/docs/test_cases/t00025_class.png and b/docs/test_cases/t00025_class.png differ diff --git a/docs/test_cases/t00026_class.png b/docs/test_cases/t00026_class.png index 76da28b8..34205bc5 100644 Binary files a/docs/test_cases/t00026_class.png and b/docs/test_cases/t00026_class.png differ diff --git a/docs/test_cases/t00027_class.png b/docs/test_cases/t00027_class.png index 8b18184c..0a68d68e 100644 Binary files a/docs/test_cases/t00027_class.png and b/docs/test_cases/t00027_class.png differ diff --git a/docs/test_cases/t00028_class.png b/docs/test_cases/t00028_class.png index 36b290d1..88458f63 100644 Binary files a/docs/test_cases/t00028_class.png and b/docs/test_cases/t00028_class.png differ diff --git a/docs/test_cases/t00029_class.png b/docs/test_cases/t00029_class.png index ec015724..46c0fd08 100644 Binary files a/docs/test_cases/t00029_class.png and b/docs/test_cases/t00029_class.png differ diff --git a/docs/test_cases/t00030_class.png b/docs/test_cases/t00030_class.png index f76932e7..c3eab966 100644 Binary files a/docs/test_cases/t00030_class.png and b/docs/test_cases/t00030_class.png differ diff --git a/docs/test_cases/t00031_class.png b/docs/test_cases/t00031_class.png index bc5ca0fb..2ad5ff2d 100644 Binary files a/docs/test_cases/t00031_class.png and b/docs/test_cases/t00031_class.png differ diff --git a/docs/test_cases/t00032_class.png b/docs/test_cases/t00032_class.png index ff515338..45a7d7e3 100644 Binary files a/docs/test_cases/t00032_class.png and b/docs/test_cases/t00032_class.png differ diff --git a/docs/test_cases/t00033_class.png b/docs/test_cases/t00033_class.png index ded3a806..0d6f7678 100644 Binary files a/docs/test_cases/t00033_class.png and b/docs/test_cases/t00033_class.png differ diff --git a/docs/test_cases/t20001_sequence.png b/docs/test_cases/t20001_sequence.png index 99576880..e972c3f5 100644 Binary files a/docs/test_cases/t20001_sequence.png and b/docs/test_cases/t20001_sequence.png differ diff --git a/docs/test_cases/t90000_class.png b/docs/test_cases/t90000_class.png index 643f4b36..3a516c01 100644 Binary files a/docs/test_cases/t90000_class.png and b/docs/test_cases/t90000_class.png differ