Updated README
This commit is contained in:
67
README.md
67
README.md
@@ -146,30 +146,63 @@ and checkout the SVG diagrams in `docs/diagrams` folder.
|
|||||||
Source code:
|
Source code:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include <string>
|
template <typename T, typename P> struct A {
|
||||||
#include <vector>
|
T t;
|
||||||
|
P p;
|
||||||
namespace clanguml {
|
|
||||||
namespace t00009 {
|
|
||||||
|
|
||||||
template <typename T> class A {
|
|
||||||
public:
|
|
||||||
T value;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class B {
|
struct B {
|
||||||
public:
|
std::string value;
|
||||||
A<int> aint;
|
};
|
||||||
A<std::string> *astring;
|
|
||||||
A<std::vector<std::string>> &avector;
|
template <typename T> using AString = A<T, std::string>;
|
||||||
|
template <typename T> using AStringPtr = A<T, std::unique_ptr<std::string>>;
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
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>>>;
|
||||||
|
|
||||||
|
template <typename... T> using GeneralCallback = std::function<void(T..., int)>;
|
||||||
|
using VoidCallback = GeneralCallback<>;
|
||||||
|
|
||||||
|
using BVector = std::vector<B>;
|
||||||
|
using BVector2 = BVector;
|
||||||
|
|
||||||
|
using AIntString = AString<int>;
|
||||||
|
using AStringString = AString<std::string>;
|
||||||
|
using BStringString = AStringString;
|
||||||
|
|
||||||
|
class R {
|
||||||
|
PairPairBA<bool> bapair;
|
||||||
|
|
||||||
|
APtr<bool> abool;
|
||||||
|
AAPtr<bool, float> aboolfloat;
|
||||||
|
ASharedPtr<float> afloat;
|
||||||
|
A<bool, std::string> boolstring;
|
||||||
|
AStringPtr<float> floatstring;
|
||||||
|
AIntString intstring;
|
||||||
|
AStringString stringstring;
|
||||||
|
BStringString bstringstring;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
BVector bs;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BVector2 bs2;
|
||||||
|
GeneralCallback<AIntString> cb;
|
||||||
|
VoidCallback vcb;
|
||||||
|
VectorPtr<B> vps;
|
||||||
};
|
};
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
generates the following diagram (via PlantUML):
|
generates the following diagram (via PlantUML):
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> Open the raw image [here](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t00009_class.svg),
|
> Open the raw image [here](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t00009_class.svg),
|
||||||
> and checkout the hover tooltips and hyperlinks to classes and methods.
|
> and checkout the hover tooltips and hyperlinks to classes and methods.
|
||||||
|
|||||||
@@ -101,6 +101,17 @@ diagrams:
|
|||||||
ClassA:
|
ClassA:
|
||||||
- up: ClassB
|
- up: ClassB
|
||||||
- left: ClassC
|
- left: ClassC
|
||||||
|
# Specify customized relationship hints for types which are
|
||||||
|
# arguments in template instantiations
|
||||||
|
relationship_hints:
|
||||||
|
# All tuple arguments should be treated as aggregation
|
||||||
|
std::tuple: aggregation
|
||||||
|
# All some_template arguments should be treated as associations
|
||||||
|
# except for arguments with indexes 2 and 10
|
||||||
|
ns1::n2::some_template:
|
||||||
|
default: association
|
||||||
|
2: composition
|
||||||
|
10: aggregation
|
||||||
# Entities from this namespace will be shortened
|
# Entities from this namespace will be shortened
|
||||||
# (can only contain one element at the moment)
|
# (can only contain one element at the moment)
|
||||||
using_namespace:
|
using_namespace:
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
//#include <algorithm>
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
//#include <ios>
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
//#include <numeric>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
//#include <type_traits>
|
|
||||||
#include <variant>
|
#include <variant>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user