Skip to content

mp_units::QuantityPointOf

A concept matching all quantity points of the provided property

Synopsis

Declared in <mp-units/framework/quantity_point_concepts.h>

template<typename QP, auto V>
concept QuantityPointOf =
  QuantityPoint<QP> &&
  ((QuantitySpec<MP_UNITS_NTTP_HACK(decltype(V))> && ReferenceOf<decltype(QP::reference), V>) ||
   detail::SameAbsolutePointOriginAs<decltype(QP::absolute_point_origin), V> ||
   // One atomic requires-expression, as in `QuantityOf`, so MSVC 19.51 doesn't run out of heap comparing
   // constraints.
   (detail::CharacterValue<V> &&
    requires { requires QuantitySpecOf<decltype(QP::quantity_spec), V> && RepresentationOf<typename QP::rep, V>; }));

Description

Satisfied by all quantity points with a quantity_spec being the instantiation derived from the provided quantity_spec type, quantity points having the origin with the same absolute_point_origin, or quantity points of the character named by V (a bare quantity_tensor_order, a bare quantity_field, or a full quantity_character).

A point isn't a Quantity, so QuantityPointOf is where its character is asked.