summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/ptime.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/plib/ptime.h')
-rw-r--r--src/lib/netlist/plib/ptime.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/lib/netlist/plib/ptime.h b/src/lib/netlist/plib/ptime.h
index 839b8e95dbd..655fb84caeb 100644
--- a/src/lib/netlist/plib/ptime.h
+++ b/src/lib/netlist/plib/ptime.h
@@ -117,32 +117,40 @@ namespace plib
return ptime(m_time / rhs);
}
- friend constexpr bool operator<(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator<(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
- return (lhs.m_time < rhs.m_time);
+ static_assert(ptime_le<ptime<O, RES>, ptime>::value, "Invalid ptime type");
+ return (lhs.m_time < rhs.as_raw());
+ //return (lhs.m_time < rhs.m_time);
}
- friend constexpr bool operator>(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator>(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
return (rhs < lhs);
}
- friend constexpr bool operator<=(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator<=(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
return !(lhs > rhs);
}
- friend constexpr bool operator>=(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator>=(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
return !(lhs < rhs);
}
- friend constexpr bool operator==(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator==(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
return lhs.m_time == rhs.m_time;
}
- friend constexpr bool operator!=(const ptime &lhs, const ptime &rhs) noexcept
+ template <typename O>
+ friend constexpr bool operator!=(const ptime &lhs, const ptime<O, RES> &rhs) noexcept
{
return !(lhs == rhs);
}