From 1bb99466bcfa188bca00855f80bd6098b0882419 Mon Sep 17 00:00:00 2001 From: couriersud Date: Thu, 24 Sep 2020 07:53:11 +0200 Subject: netlist: code refactoring * use default move and copy constructors * various minor edits like adding noexcept * removed a lot of inline keywords - you can't beat the compiler --- src/lib/netlist/plib/ptime.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/lib/netlist/plib/ptime.h') diff --git a/src/lib/netlist/plib/ptime.h b/src/lib/netlist/plib/ptime.h index 0f88449500b..9274467d0c2 100644 --- a/src/lib/netlist/plib/ptime.h +++ b/src/lib/netlist/plib/ptime.h @@ -82,18 +82,27 @@ namespace plib return *this; } +#if 1 template constexpr ptime operator-(const ptime &rhs) const noexcept { static_assert(ptime_le, ptime>::value, "Invalid ptime type"); return ptime(m_time - rhs.m_time); } - +#else + template + constexpr ptime operator-(ptime rhs) const noexcept + { + static_assert(ptime_le, ptime>::value, "Invalid ptime type"); + return (rhs -= (*this)); // causes a crash - FIXME + } +#endif template - constexpr ptime operator+(const ptime &rhs) const noexcept + constexpr ptime operator+(ptime rhs) const noexcept { static_assert(ptime_le, ptime>::value, "Invalid ptime type"); - return ptime(m_time + rhs.m_time); + return (rhs += *this); + //return ptime(m_time + rhs.m_time); } template @@ -173,9 +182,7 @@ namespace plib constexpr ptime shr(unsigned shift) const noexcept { return ptime(m_time >> shift); } // for save states .... -#if 0 - constexpr internal_type *get_internaltype_ptr() noexcept { return &m_time; } -#endif + template void save_state(ST &&st) { -- cgit v1.2.3-70-g09d2