forked from mpusz/mp-units
fix: MSVC compilation error workaround
This commit is contained in:
@@ -33,8 +33,11 @@ namespace units {
|
|||||||
|
|
||||||
template<typename Rep, typename Period>
|
template<typename Rep, typename Period>
|
||||||
struct quantity_like_traits<std::chrono::duration<Rep, Period>> {
|
struct quantity_like_traits<std::chrono::duration<Rep, Period>> {
|
||||||
|
private:
|
||||||
|
static constexpr auto mag = as_magnitude<ratio(Period::num, Period::den)>();
|
||||||
|
public:
|
||||||
using dimension = isq::si::dim_time;
|
using dimension = isq::si::dim_time;
|
||||||
using unit = downcast_unit<dimension, as_magnitude<ratio(Period::num, Period::den)>()>;
|
using unit = downcast_unit<dimension, mag>;
|
||||||
using rep = Rep;
|
using rep = Rep;
|
||||||
[[nodiscard]] static constexpr rep number(const std::chrono::duration<Rep, Period>& q) { return q.count(); }
|
[[nodiscard]] static constexpr rep number(const std::chrono::duration<Rep, Period>& q) { return q.count(); }
|
||||||
};
|
};
|
||||||
@@ -44,8 +47,11 @@ struct clock_origin : point_origin<isq::si::dim_time> {};
|
|||||||
|
|
||||||
template<typename C, typename Rep, typename Period>
|
template<typename C, typename Rep, typename Period>
|
||||||
struct quantity_point_like_traits<std::chrono::time_point<C, std::chrono::duration<Rep, Period>>> {
|
struct quantity_point_like_traits<std::chrono::time_point<C, std::chrono::duration<Rep, Period>>> {
|
||||||
|
private:
|
||||||
|
static constexpr auto mag = as_magnitude<ratio(Period::num, Period::den)>();
|
||||||
|
public:
|
||||||
using origin = clock_origin<C>;
|
using origin = clock_origin<C>;
|
||||||
using unit = downcast_unit<typename origin::dimension, as_magnitude<ratio(Period::num, Period::den)>()>;
|
using unit = downcast_unit<typename origin::dimension, mag>;
|
||||||
using rep = Rep;
|
using rep = Rep;
|
||||||
[[nodiscard]] static constexpr auto relative(const std::chrono::time_point<C, std::chrono::duration<Rep, Period>>& qp)
|
[[nodiscard]] static constexpr auto relative(const std::chrono::time_point<C, std::chrono::duration<Rep, Period>>& qp)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user