Files
mp-units/docs/framework/quantity_points.rst

42 lines
1.3 KiB
ReStructuredText
Raw Normal View History

2020-08-17 19:28:47 -04:00
.. namespace:: units
Quantity Points
===============
A quantity point is an absolute quantity with respect to zero
2020-08-17 19:28:47 -04:00
(which represents some origin) and is represented in the library with a
`quantity_point` class template.
Construction
------------
2020-08-17 19:28:47 -04:00
To create the quantity point object from a `quantity` we just have to pass
the value to the `quantity_point` class template explicit constructor::
quantity_point<si::dim_length, si::kilometre, double> d(123 * km);
2020-08-17 19:28:47 -04:00
.. note::
As the constructor is explicit, the quantity object can be created from
a quantity only via
`direct initialization <https://en.cppreference.com/w/cpp/language/direct_initialization>`_.
This is why the code below using
`copy initialization <https://en.cppreference.com/w/cpp/language/copy_initialization>`_
**does not compile**::
quantity_point<si::dim_length, si::kilometre, double> d = 123 * km; // ERROR
2020-08-17 19:28:47 -04:00
2021-02-16 16:19:57 +01:00
Differences To Quantity
2020-08-17 19:28:47 -04:00
-----------------------
Unlike `quantity`, the library provides:
- no helper aliases for quantity points, such as ``length_point``,
2020-08-17 19:28:47 -04:00
- no UDLs for quantity points,
- no dimension-specific concepts, such as ``LengthPoint``
2020-08-17 19:28:47 -04:00
(there's the dimension-agnostic `QuantityPoint`),
- a more limited set of operations on quantity points
2021-02-16 16:19:57 +01:00
(see the :ref:`framework/dimensions:Quantity Points` chapter)