From 382ceb8803fb3892aac2e234b61c0b66ade77be4 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 24 Apr 2024 11:35:25 -0400 Subject: [PATCH] xo-unit: + Quantity<=>Quantity, Quantity==Quantity --- include/xo/unit/Quantity.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/xo/unit/Quantity.hpp b/include/xo/unit/Quantity.hpp index 8f02c32f..b2ef6bfe 100644 --- a/include/xo/unit/Quantity.hpp +++ b/include/xo/unit/Quantity.hpp @@ -280,6 +280,26 @@ namespace xo { return Quantity::subtract(x, y); } + /** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr) + **/ + template + requires quantity2_concept && quantity2_concept + constexpr auto + operator== (const Quantity & x, const Quantity2 & y) + { + return (Quantity::compare(x, y) == 0); + } + + /** note: won't have constexpr result until c++26 (when ::sqrt(), ::pow() are constexpr) + **/ + template + requires quantity2_concept && quantity2_concept + constexpr auto + operator<=> (const Quantity & x, const Quantity2 & y) + { + return Quantity::compare(x, y); + } + namespace unit { constexpr auto nanogram = natural_unit_qty(nu2::nanogram); }