fixed_point: Mark copy/move assignment operators and constructors as constexpr

Given these are just moving a raw value around, these can sensibly be
made constexpr to make the interface more useful.
This commit is contained in:
Lioncash 2022-10-18 15:33:47 -04:00
parent 0cfd90004b
commit b6119a55f9

View file

@ -268,9 +268,12 @@ public:
public: // constructors
FixedPoint() = default;
FixedPoint(const FixedPoint&) = default;
FixedPoint(FixedPoint&&) noexcept = default;
FixedPoint& operator=(const FixedPoint&) = default;
constexpr FixedPoint(const FixedPoint&) = default;
constexpr FixedPoint& operator=(const FixedPoint&) = default;
constexpr FixedPoint(FixedPoint&&) noexcept = default;
constexpr FixedPoint& operator=(FixedPoint&&) noexcept = default;
template <IsArithmetic Number>
constexpr FixedPoint(Number n) : data_(static_cast<base_type>(n * one)) {}