[#mp_units-quantity_point-08-2constructor-075] = xref:mp_units.adoc[mp_units]::xref:mp_units/quantity_point-08.adoc[quantity_point]::quantity_point :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<mp‐units/framework/quantity_point.h>` Default constructor. Leaves the underlying quantity default‐initialized. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[nodiscard]] xref:mp_units/quantity_point-08/2constructor-07e.adoc[quantity_point]() = default; ---- [.small]#xref:mp_units/quantity_point-08/2constructor-07e.adoc[_» more..._]# Converting constructor from a quantity point anchored to a different absolute point origin. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:mp_units/QuantityPoint.adoc[QuantityPoint] QP> requires (!QuantityPointOf<QP, absolute_point_origin>) && requires(const QP& src) { { src.point_for(point_origin) } ‐> QuantityPointOf<point_origin>; quantity_type{src.point_for(point_origin) ‐ point_origin}; } [[nodiscard]] constexpr explicit xref:mp_units/quantity_point-08/2constructor-09.adoc[quantity_point](QP const& qp); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-09.adoc[_» more..._]# Constructs a quantity point from an external quantity‐point‐like type via `quantity_point_like_traits`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:mp_units/QuantityPointLike.adoc[QuantityPointLike] QP> requires (quantity_point_like_traits<QP>::point_origin == point_origin) && std::constructible_from<quantity_type, quantity<quantity_point_like_traits<QP>::reference, typename quantity_point_like_traits<QP>::rep>> [[nodiscard]] constexpr explicit(quantity_point_like_traits<QP>::explicit_import || !std::convertible_to<quantity<quantity_point_like_traits<QP>::reference, typename quantity_point_like_traits<QP>::rep>, quantity_type>) xref:mp_units/quantity_point-08/2constructor-07c.adoc[quantity_point](QP const& qp); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-07c.adoc[_» more..._]# Converting constructor from another quantity point that shares this one's absolute point origin. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:mp_units/QuantityPointOf.adoc[QuantityPointOf<absolute_point_origin>] QP> requires std::constructible_from<quantity_type, typename QP::quantity_type> [[nodiscard]] constexpr explicit(!std::convertible_to<typename QP::quantity_type, quantity_type>) xref:mp_units/quantity_point-08/2constructor-00.adoc[quantity_point](QP const& qp); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-00.adoc[_» more..._]# Constructs a quantity point from a quantity, measured from the default point origin. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename FwdQ, xref:mp_units/QuantityOf.adoc[QuantityOf<quantity_spec>] Q = std::remove_cvref_t<FwdQ>> requires std::constructible_from<quantity_type, FwdQ> && (point_origin == default_point_origin(R)) [[nodiscard]] constexpr explicit xref:mp_units/quantity_point-08/2constructor-0b.adoc[quantity_point](FwdQ&& q); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-0b.adoc[_» more..._]# Constructs a quantity point from a quantity measured from this point's own origin. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename FwdQ, xref:mp_units/QuantityOf.adoc[QuantityOf<quantity_spec>] Q = std::remove_cvref_t<FwdQ>> requires std::constructible_from<quantity_type, FwdQ> [[nodiscard]] constexpr xref:mp_units/quantity_point-08/2constructor-02.adoc[quantity_point]( FwdQ&& q, decltype(PO) po); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-02.adoc[_» more..._]# Constructs a quantity point from a quantity measured from another point origin that shares this one's absolute point origin. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename FwdQ, xref:mp_units/PointOrigin.adoc[PointOrigin] PO2, xref:mp_units/Quantity-0c.adoc[Quantity] Q = std::remove_cvref_t<FwdQ>> requires PointOriginFor<PO2, Q::quantity_spec> && std::constructible_from<quantity_type, FwdQ> && detail::SameAbsolutePointOriginAs<PO2, PO> [[nodiscard]] constexpr xref:mp_units/quantity_point-08/2constructor-08.adoc[quantity_point]( FwdQ&& q, PO2 po); ---- [.small]#xref:mp_units/quantity_point-08/2constructor-08.adoc[_» more..._]# == Return Value [NOTE] ==== The return value https://en.cppreference.com/cpp/language/attributes/nodiscard[should not be discarded^]. ==== == Parameters [cols="1,4"] |=== | Name| Description | *qp* | the source quantity point to convert from | *q* | the quantity giving the offset from `point_origin` | *po* | the point origin the quantity is measured from, equal to `point_origin` |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#