xo-umbrella2/xo-unit/include/xo/unit/quantity_ops.hpp
Roland Conybeare 60f796b770 git subrepo clone git@github.com:Rconybea/xo-unit.git xo-unit
subrepo:
  subdir:   "xo-unit"
  merged:   "f1e698bf"
upstream:
  origin:   "git@github.com:Rconybea/xo-unit.git"
  branch:   "main"
  commit:   "f1e698bf"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 22:22:52 -04:00

37 lines
1,016 B
C++

/** @file quantity_ops.hpp
*
* Author: Roland Conybeare
**/
#pragma once
#include "quantity_concept.hpp"
namespace xo {
namespace qty {
/** note: won't have constexpr result until c++26 (when @c sqrt(), @c pow() are constexpr)
**/
template <typename Quantity, typename Quantity2>
requires quantity_concept<Quantity> && quantity_concept<Quantity2>
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 @c sqrt(), @c pow() are constexpr)
**/
template <typename Quantity, typename Quantity2>
requires quantity_concept<Quantity> && quantity_concept<Quantity2>
constexpr auto
operator<=> (const Quantity & x, const Quantity2 & y)
{
return Quantity::compare(x, y);
}
} /*namespace qty*/
} /*namespace xo*/
/** end quantity_ops.hpp **/