diff --git a/docs/alternatives/index.md b/docs/alternatives/index.md
index d055db10..e8ca7655 100644
--- a/docs/alternatives/index.md
+++ b/docs/alternatives/index.md
@@ -44,7 +44,7 @@ indicate which version we considered, and say a few words about why we included
used C++ units library to date.
- [**bernedom/SI**](https://github.com/bernedom/SI) (version: 2.5.1)
- A newer, C++17-compatible offering with a large number of GitHub stars.
-- [**mp-units**](https://github.com/mpusz/mp-units) (version: 2.0.0:testing)
+- [**mp-units**](https://github.com/mpusz/mp-units) (version: 2.0.0)
- A library designed to take full advantage of ultra-modern (that is, post-C++20 watershed)
features, such as concepts and non-template type parameters (NTTPs).
- mp-units is leading the efforts towards a standard C++ units library, both by field testing
@@ -320,8 +320,8 @@ features.
|
|
|
- Contains unit-safe interfaces |
- Only contains unit-safe interfaces |
+ Only contains unit-safe interfaces |
+ Only contains unit-safe interfaces |
|
@@ -391,11 +391,36 @@ features.
|
- Prefix only |
+
+
+ -
+ Can compose units, prefixes, dimensions, and quantity (point) makers
+
+ -
+ Type names clunky to compose: must write
decltype
+
+
+ |
No |
No |
- Can compose units, prefixes, dimensions, and quantity types |
- QuantityMaker and PrefixApplier APIs |
+
+
+ - Can compose units, prefixes, dimensions, and quantity types
+ -
+ C++20's Non-type template parameters (NTTPs) enable composable type names
+
+
+ |
+
+
+ -
+ Can compose units, prefixes, dimensions, and quantity (point) makers
+
+ -
+ Type names clunky to compose: must write
decltype or use traits
+
+
+ |
@@ -499,9 +524,12 @@ features.
Unit-safe APIs for round, ceil, and so on
+
+ Smart, unit-aware inverse functions
+
|
-
+ |
- Wide variety of functions
-
@@ -586,11 +614,31 @@ features.
| No interop with other units libraries |
No interop with other units libraries |
-
- quantity_like_traits
-
+
+ |
+
+
|
- "Equivalent types" feature gives more API compatibility |
|
|
@@ -613,7 +661,9 @@ features.
point.
|
None; would be hard to add, since units conflated with quantity type |
- |
+
+ Custom origins really easy to use and compose
+ |
|
@@ -698,7 +748,7 @@ features.
- |
+ |
User-defined literals (UDLs) |
User-defined literals (UDLs) |
@@ -792,7 +842,12 @@ features.
|
Supports copysign(), but no special construction or comparison |
No special construction or comparison |
- Has q::zero() member, but no special construction or comparison |
+
+
+ Special comparison functions
+
+ zero() member
+ |
Can use ZERO
@@ -820,7 +875,7 @@ features.
pi represented as std::ratio
|
- |
+ Simultaneous support for both strongly-typed and "pure SI" angles |
|
@@ -904,7 +959,7 @@ features.
- Units/Dimensions as types
+ Abstract Units/Dimensions
Types that represent abstract units (clearly distinct from quantities of
@@ -946,10 +1001,15 @@ features.
|
- Present in user-facing APIs |
- Present in user-facing APIs |
- Very few, and confined to implementation helpers |
- Very few, and confined to implementation helpers |
+ Common in user-facing APIs |
+ Common in user-facing APIs |
+ Very few, and confined to implementation helpers |
+
+
+ - Very few, mostly implementation helpers
+ - Only one user-facing macro for C++20 backwards compatibility
+
+ |
No macros |