forked from mpusz/mp-units
docs: cross-page links fixed
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Why do we spell `metre` instead of `meter`?
|
||||
|
||||
This is how the BIPM defines it in the [SI Brochure](../../appendix/references/#SIBrochure)
|
||||
This is how the BIPM defines it in the [SI Brochure](../appendix/references.md#SIBrochure)
|
||||
(British English spelling by default).
|
||||
|
||||
|
||||
@@ -159,13 +159,13 @@ all the properties of scaled units and is consistent with the rest of the librar
|
||||
!!! info
|
||||
|
||||
More information on the current design can be found in
|
||||
[the Dimensionless Quantities chapter](../../users_guide/framework_basics/dimensionless_quantities).
|
||||
[the Dimensionless Quantities chapter](../users_guide/framework_basics/dimensionless_quantities.md).
|
||||
|
||||
|
||||
## Why Unicode quantity symbols are used by default instead of ASCII-only characters?
|
||||
|
||||
Both C++ and [ISO 80000](../../appendix/references/#ISO80000) are standardized by the ISO.
|
||||
[ISO 80000](../../appendix/references/#ISO80000) and the [SI](../../appendix/references/#SIBrochure)
|
||||
Both C++ and [ISO 80000](../appendix/references.md#ISO80000) are standardized by the ISO.
|
||||
[ISO 80000](../appendix/references.md#ISO80000) and the [SI](../appendix/references.md#SIBrochure)
|
||||
standards specify Unicode symbols as the official unit names for some quantities
|
||||
(i.e. `Ω` symbol for the resistance quantity).
|
||||
As **mp-units** library will be proposed for standardization as a part of the C++ Standard Library
|
||||
|
||||
@@ -71,7 +71,8 @@ This repository contains three independent CMake-based projects:
|
||||
- _./src/CMakeLists.txt_ contains only a pure library definition and should be used by the customers
|
||||
that prefer to use CMake's `add_subdirectory()` to handle the dependencies.
|
||||
|
||||
To learn more about the rationale, please check our [FAQ](../faq/#why-dont-you-have-cmake-options-to-disable-building-of-tests-and-examples).
|
||||
To learn more about the rationale, please check our
|
||||
[FAQ](faq.md#why-dont-you-have-cmake-options-to-disable-building-of-tests-and-examples).
|
||||
|
||||
|
||||
## Obtaining Dependencies
|
||||
|
||||
@@ -26,8 +26,8 @@ errors and debugging as easy and user-friendly as possible.
|
||||
To achieve this goal, several techniques are applied:
|
||||
|
||||
- usage of C++20 concepts,
|
||||
- [using strong types for framework entities (instead of type aliases)](../../users_guide/framework_basics/interface_introduction/#strong-types-instead-of-aliases),
|
||||
- [usage of expression templates to improve the readability of generated types](../../users_guide/framework_basics/interface_introduction/#expression-templates),
|
||||
- [using strong types for framework entities (instead of type aliases)](../users_guide/framework_basics/interface_introduction.md#strong-types-instead-of-aliases),
|
||||
- [usage of expression templates to improve the readability of generated types](../users_guide/framework_basics/interface_introduction.md#expression-templates),
|
||||
- limiting the number of template arguments to the bare minimum.
|
||||
|
||||
!!! note
|
||||
@@ -50,27 +50,27 @@ To achieve this goal, several techniques are applied:
|
||||
| **Low Standardization Cost** | - Small number of predefined entities needed thanks to composability<br>- No external dependencies (assuming full C++20 support)<br>- No macros in the user interface (besides portability and standard-compliance issues)<br>- Possibility to be standardized as a [freestanding] part of the C++ Standard Library |
|
||||
|
||||
|
||||
[The affine space strong types]: ../../users_guide/framework_basics/the_affine_space
|
||||
[Compile-time checked conversions of quantities and units]: ../../users_guide/framework_basics/systems_of_quantities/#converting-between-quantities
|
||||
[Unique support for many quantities of the same kind]: ../../users_guide/framework_basics/systems_of_quantities/#quantities-of-the-same-kind
|
||||
[Type-safe equations on scalar, vector, and tensor quantities and their units]: ../../users_guide/framework_basics/quantity_arithmetics
|
||||
[Value-preserving conversions]: ../../users_guide/framework_basics/value_conversions/#value-preserving-conversions
|
||||
[The affine space strong types]: ../users_guide/framework_basics/the_affine_space.md
|
||||
[Compile-time checked conversions of quantities and units]: ../users_guide/framework_basics/systems_of_quantities.md#converting-between-quantities
|
||||
[Unique support for many quantities of the same kind]: ../users_guide/framework_basics/systems_of_quantities.md#quantities-of-the-same-kind
|
||||
[Type-safe equations on scalar, vector, and tensor quantities and their units]: ../users_guide/framework_basics/quantity_arithmetics.md
|
||||
[Value-preserving conversions]: ../users_guide/framework_basics/value_conversions.md#value-preserving-conversions
|
||||
|
||||
[Optimized for readable compilation errors and great debugging experience]: ../../users_guide/framework_basics/simple_and_typed_quantities/#easy-to-understand-compilation-error-messages
|
||||
[Efficient and composable way to specify a unit of choice]: ../../users_guide/framework_basics/systems_of_units/#units-compose
|
||||
[Value-based dimension, unit, and quantity equations]: ../../users_guide/framework_basics/interface_introduction/#value-based-equations
|
||||
[Optimized for readable compilation errors and great debugging experience]: ../users_guide/framework_basics/simple_and_typed_quantities.md#easy-to-understand-compilation-error-messages
|
||||
[Efficient and composable way to specify a unit of choice]: ../users_guide/framework_basics/systems_of_units.md#units-compose
|
||||
[Value-based dimension, unit, and quantity equations]: ../users_guide/framework_basics/interface_introduction.md#value-based-equations
|
||||
|
||||
[Systems of Quantities]: ../../users_guide/framework_basics/systems_of_quantities
|
||||
[Systems of Units]: ../../users_guide/framework_basics/systems_of_units
|
||||
[Scalar, vector, and tensor quantities]: ../../users_guide/framework_basics/character_of_a_quantity
|
||||
[The affine space]: ../../users_guide/framework_basics/the_affine_space
|
||||
[Natural units systems support]: ../../users_guide/defining_systems/natural_units
|
||||
[Strong angular system]: ../../users_guide/defining_systems/strong_angular_system
|
||||
[Supports any unit's magnitude (huge, small, floating-point)]: ../../users_guide/framework_basics/systems_of_units/#scaled-units
|
||||
[Faster-than-lightspeed constants]: ../../users_guide/framework_basics/faster_than_lightspeed_constants
|
||||
[Highly adjustable text-output formatting]: ../../users_guide/framework_basics/text_output
|
||||
[Systems of Quantities]: ../users_guide/framework_basics/systems_of_quantities.md
|
||||
[Systems of Units]: ../users_guide/framework_basics/systems_of_units.md
|
||||
[Scalar, vector, and tensor quantities]: ../users_guide/framework_basics/character_of_a_quantity.md
|
||||
[The affine space]: ../users_guide/framework_basics/the_affine_space.md
|
||||
[Natural units systems support]: ../users_guide/defining_systems/natural_units.md
|
||||
[Strong angular system]: ../users_guide/defining_systems/strong_angular_system.md
|
||||
[Supports any unit's magnitude (huge, small, floating-point)]: ../users_guide/framework_basics/systems_of_units.md#scaled-units
|
||||
[Faster-than-lightspeed constants]: ../users_guide/framework_basics/faster_than_lightspeed_constants.md
|
||||
[Highly adjustable text-output formatting]: ../users_guide/framework_basics/text_output.md
|
||||
|
||||
[Each entity can be defined with a single line of code]: ../../users_guide/framework_basics/interface_introduction/#new-style-of-definitions
|
||||
[User can easily extend the systems with custom dimensions, quantities, and units]: ../../users_guide/framework_basics/interface_introduction/#new-style-of-definitions
|
||||
[Each entity can be defined with a single line of code]: ../users_guide/framework_basics/interface_introduction.md#new-style-of-definitions
|
||||
[User can easily extend the systems with custom dimensions, quantities, and units]: ../users_guide/framework_basics/interface_introduction.md#new-style-of-definitions
|
||||
|
||||
[freestanding]: https://en.cppreference.com/w/cpp/freestanding
|
||||
|
||||
@@ -19,7 +19,7 @@ auto q = 42 * si::metre;
|
||||
!!! note
|
||||
|
||||
The above spelling of `metre` is not a typo. For motivation, please check our
|
||||
[FAQ](../faq/#why-do-we-spell-metre-instead-of-meter).
|
||||
[FAQ](faq.md#why-do-we-spell-metre-instead-of-meter).
|
||||
|
||||
The above creates an instance of `quantity<si::metre(), int>`. The same can be obtained using
|
||||
an optional unit symbol:
|
||||
@@ -63,7 +63,7 @@ auto speed = 60 * (km / h);
|
||||
!!! note
|
||||
|
||||
Please note that `60 * km / h` will not compile. To read more about the rationale for such
|
||||
a design please check our [FAQ](../faq/#why-dont-we-use-udls-to-create-a-quantity).
|
||||
a design please check our [FAQ](faq.md#why-dont-we-use-udls-to-create-a-quantity).
|
||||
|
||||
In case such a unit is used a lot in the project, a user can easily provide a nicely named
|
||||
wrapper for it with:
|
||||
@@ -85,4 +85,4 @@ auto speed = 60 * kmph;
|
||||
!!! note
|
||||
|
||||
In case you wonder why this library does not use UDLs to create quantities, please check
|
||||
our [FAQ](../faq/#why-dont-we-use-udls-to-create-quantities).
|
||||
our [FAQ](faq.md#why-dont-we-use-udls-to-create-quantities).
|
||||
|
||||
Reference in New Issue
Block a user