From 974b809e0bdd4dc6870fb491afaa68df9a5b3a5d Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 15 Oct 2019 19:38:47 +0200 Subject: [PATCH] UML diagram added to the DESIGN document --- doc/DESIGN.md | 5 +++++ doc/units_uml.png | Bin 0 -> 30286 bytes 2 files changed, 5 insertions(+) create mode 100644 doc/units_uml.png diff --git a/doc/DESIGN.md b/doc/DESIGN.md index f43c56ec..b1e85ad1 100644 --- a/doc/DESIGN.md +++ b/doc/DESIGN.md @@ -73,6 +73,11 @@ constexpr units::Velocity auto avg_speed(units::Length auto d, units::Time auto ## Basic Concepts +Below UML diagram shows the most important entities in the library design and how they relate to +each other: + +![UML](units_uml.png) + ### `Dimensions` `units::dimension` represents a derived dimension and is implemented as a type-list like type that diff --git a/doc/units_uml.png b/doc/units_uml.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f1e262e482bf83ba43618d0fa433adf2ce8156 GIT binary patch literal 30286 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%0D@_z&0&zXZ8mmnonjd&$>0;v7|Z4p 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 literal 0 HcmV?d00001