fix: reference specifiers export fixed

This commit is contained in:
Mateusz Pusz
2024-06-20 12:43:59 +02:00
parent cdd345c9ec
commit 960417a346

View File

@@ -91,17 +91,21 @@ struct absolute_ final {
static constexpr Reference auto _original_reference_ = R{}; static constexpr Reference auto _original_reference_ = R{};
}; };
template<Reference auto R> MP_UNITS_EXPORT_BEGIN
MP_UNITS_EXPORT inline constexpr relative_<MP_UNITS_REMOVE_CONST(decltype(R))> delta{};
template<Reference auto R> template<Reference auto R>
MP_UNITS_EXPORT inline constexpr absolute_<MP_UNITS_REMOVE_CONST(decltype(R))> absolute{}; inline constexpr relative_<MP_UNITS_REMOVE_CONST(decltype(R))> delta{};
template<Reference auto R>
inline constexpr absolute_<MP_UNITS_REMOVE_CONST(decltype(R))> absolute{};
template<typename T> template<typename T>
MP_UNITS_EXPORT concept DeltaReference = concept DeltaReference =
(Reference<T> && !requires { get_unit(T{}).point_origin; }) || is_specialization_of<T, relative_>; (Reference<T> && !requires { get_unit(T{}).point_origin; }) || is_specialization_of<T, relative_>;
template<typename T> template<typename T>
MP_UNITS_EXPORT concept AbsoluteReference = is_specialization_of<T, absolute_>; concept AbsoluteReference = is_specialization_of<T, absolute_>;
MP_UNITS_EXPORT_END
} // namespace mp_units } // namespace mp_units