forked from mpusz/mp-units
Reference section of documentation refactored + random added
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
Concepts
|
||||
========
|
||||
|
||||
.. namespace:: units
|
||||
|
||||
.. note::
|
||||
|
||||
All names defined in this chapter reside in the :any:`units` namespace unless
|
||||
specified otherwise.
|
||||
|
||||
.. concept:: template<typename T> PrefixFamily
|
||||
|
||||
A concept matching a prefix family. Satisfied by all types derived from :class:`prefix_family`.
|
||||
|
||||
.. concept:: template<typename T> Prefix
|
||||
|
||||
A concept matching a symbol prefix. Satisfied by all instantiations of :class:`prefix`.
|
||||
|
||||
.. concept:: template<typename T> Ratio
|
||||
|
||||
A concept matching a ratio. Satisfied by all instantiations of :class:`ratio`.
|
||||
|
||||
.. concept:: template<typename R> UnitRatio
|
||||
|
||||
A concept matching unit's ratio. Satisfied by all types that satisfy :expr:`Ratio<R>` and
|
||||
for which :expr:`R::num > 0` and :expr:`R::den > 0`.
|
||||
|
||||
.. concept:: template<typename T> BaseDimension
|
||||
|
||||
A concept matching all base dimensions in the library. Satisfied by all dimension types
|
||||
derived from the instantiation of :class:`base_dimension`.
|
||||
|
||||
.. concept:: template<typename T> Exponent
|
||||
|
||||
A concept matching dimension's exponents. Satisfied by all instantiations of :class:`exp`.
|
||||
|
||||
.. concept:: template<typename T> DerivedDimension
|
||||
|
||||
A concept matching all derived dimensions in the library. Satisfied by all dimension
|
||||
types derived from the instantiation of :class:`detail::derived_dimension_base`.
|
||||
|
||||
.. concept:: template<typename T> Dimension
|
||||
|
||||
A concept matching all dimensions in the library. Satisfied by all dimension types for
|
||||
which either :expr:`BaseDimension<T>` or :expr:`DerivedDimension<T>` is ``true``.
|
||||
|
||||
.. concept:: template<typename T> Unit
|
||||
|
||||
A concept matching all unit types in the library. Satisfied by all unit types derived
|
||||
from the instantiation of :class:`scaled_unit`.
|
||||
|
||||
.. concept:: template<typename U, typename D> UnitOf
|
||||
|
||||
A concept matching only units of a specified dimension. Satisfied by all unit types that
|
||||
satisfy :expr:`Unit<U>`, :expr:`Dimension<D>`, and for which :expr:`U::reference` and
|
||||
:expr:`dimension_unit<D>::reference` denote the same unit type.
|
||||
|
||||
:tparam U: Type to verify against concept constraints.
|
||||
:tparam D: Dimension type to use for verification.
|
||||
|
||||
.. concept:: template<typename T> Quantity
|
||||
|
||||
A concept matching all quantities in the library. Satisfied by all instantiations of :class:`quantity`.
|
||||
|
||||
.. concept:: template<typename T> WrappedQuantity
|
||||
|
||||
A concept matching types that wrap quantity objects. Satisfied by all wrapper types that
|
||||
satisfy :expr:`Quantity<typename T::value_type>` recursively
|
||||
(i.e. :expr:`std::optional<si::length<si::metre>>`).
|
||||
|
||||
.. concept:: template<typename T> Scalar
|
||||
|
||||
A concept matching non-Quantity types. Satisfied by types that match
|
||||
:expr:`(!Quantity<T>) && (!WrappedQuantity<T>) && std::regular<T>` and satisfy one of the
|
||||
following:
|
||||
|
||||
- if type :expr:`T` is constructible from ``std::int64_t`` (which is the type that stores
|
||||
the elements of `ratio`), :expr:`T * T` and :expr:`T / T` must be valid,
|
||||
- otherwise, :expr:`T * std::int64_t`, :expr:`std::int64_t * T`, and :expr:`T / std::int64_t`
|
||||
must be valid.
|
||||
@@ -0,0 +1,7 @@
|
||||
Customization Points
|
||||
====================
|
||||
|
||||
.. doxygenvariable:: units::treat_as_floating_point
|
||||
|
||||
.. doxygenstruct:: units::quantity_values
|
||||
:members:
|
||||
@@ -0,0 +1,4 @@
|
||||
Functions
|
||||
=========
|
||||
|
||||
.. doxygenfunction:: units::quantity_cast
|
||||
@@ -0,0 +1,4 @@
|
||||
Metafunctions
|
||||
=============
|
||||
|
||||
.. doxygentypedef:: dimension_unit
|
||||
@@ -0,0 +1,11 @@
|
||||
Types
|
||||
=====
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
types/quantity
|
||||
types/dimensions
|
||||
types/units
|
||||
types/prefixes
|
||||
types/utilities
|
||||
@@ -0,0 +1,11 @@
|
||||
Dimensions
|
||||
==========
|
||||
|
||||
.. doxygenstruct:: units::base_dimension
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::exp
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::derived_dimension
|
||||
:members:
|
||||
@@ -0,0 +1,11 @@
|
||||
Prefixes
|
||||
========
|
||||
|
||||
.. doxygenstruct:: units::prefix_family
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::no_prefix
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::prefix
|
||||
:members:
|
||||
@@ -0,0 +1,6 @@
|
||||
Quantity
|
||||
========
|
||||
|
||||
.. doxygenclass:: units::quantity
|
||||
:members:
|
||||
:undoc-members:
|
||||
@@ -0,0 +1,26 @@
|
||||
Units
|
||||
=====
|
||||
|
||||
.. doxygenstruct:: units::scaled_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::named_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::named_scaled_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::prefixed_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::deduced_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::alias_unit
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: units::prefixed_alias_unit
|
||||
:members:
|
||||
@@ -0,0 +1,9 @@
|
||||
Utilities
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
utilities/ratio
|
||||
utilities/basic_symbol_text
|
||||
utilities/basic_fixed_string
|
||||
@@ -0,0 +1,6 @@
|
||||
basic_fixed_string
|
||||
==================
|
||||
|
||||
.. doxygenstruct:: units::basic_fixed_string
|
||||
:members:
|
||||
:undoc-members:
|
||||
@@ -0,0 +1,6 @@
|
||||
basic_symbol_text
|
||||
=================
|
||||
|
||||
.. doxygenstruct:: units::basic_symbol_text
|
||||
:members:
|
||||
:undoc-members:
|
||||
@@ -0,0 +1,6 @@
|
||||
ratio
|
||||
=====
|
||||
|
||||
.. doxygenstruct:: units::ratio
|
||||
:members:
|
||||
:undoc-members:
|
||||
Reference in New Issue
Block a user