[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] valyuta/002 d8e2470 15/21: Refactor for clarity
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] valyuta/002 d8e2470 15/21: Refactor for clarity |
Date: |
Fri, 18 Sep 2020 21:53:49 -0400 (EDT) |
branch: valyuta/002
commit d8e24703c4f9017f781889b73b41fe7ec9b04589
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Refactor for clarity
---
currency.hpp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/currency.hpp b/currency.hpp
index ca6cd74..9c95310 100644
--- a/currency.hpp
+++ b/currency.hpp
@@ -77,9 +77,11 @@ class currency
currency(currency const&) = default;
~currency() = default;
- explicit currency(double d) : m_ {from_double(d)} {}
- explicit currency(int i) : m_ {cents_per_dollar *
bourn_cast<data_type>(i)} {}
- explicit currency(data_type i, bool) : m_ {i} {}
+ // The extra, ignored argument ensures that this special-purpose
+ // ctor ambiguates no other.
+ explicit currency(data_type c, bool) : m_ {c} {}
+ explicit currency(double d) : m_ {from_double(d)} {}
+ explicit currency(int i) : m_ {from_int (i)} {}
currency& operator=(currency const&) = default;
@@ -114,6 +116,7 @@ class currency
data_type m() const {return m_;} // restrict to friends?
private:
+ data_type from_int(int i) const {return cents_per_dollar *
bourn_cast<data_type>(i);}
// Want something just slightly more permissive:
// data_type from_double(double d) const {return bourn_cast<data_type>(100.0
* d);}
// Far too permissive:
- [lmi-commits] [lmi] valyuta/002 e474aa4 09/21: Remove int relops, (continued)
- [lmi-commits] [lmi] valyuta/002 e474aa4 09/21: Remove int relops, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 d1c1af3 01/21: Revert "Trivially avoid spurious regression errors", Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 693dac0 02/21: Revert "Make it even faster", Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 24abb3f 03/21: Revert "Make it more faster", Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 95f34c4 06/21: Get rid of unneeded scalar doubleize(), Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 9dc1602 10/21: Remove double relops, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 b803441 12/21: Improve documentation, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 06046b6 05/21: Revert "Make it float", Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 215244a 13/21: Avoid implicit mixed-mode calculations more avidly, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 63419d4 14/21: Improve documentation, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 d8e2470 15/21: Refactor for clarity,
Greg Chicares <=
- [lmi-commits] [lmi] valyuta/002 b07371e 17/21: Avoid implicit conversions yet more avidly, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 331e748 18/21: Unbreak a unit test, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 02d03f2 08/21: Discard more commented-out code, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 3266cfe 11/21: Establish a separate test/ directory for this branch, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 0e9baa5 16/21: Use currency where currency is wanted, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 97e9057 21/21: Fix a unit test, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 8785c00 19/21: Implement negation operator, Greg Chicares, 2020/09/18
- [lmi-commits] [lmi] valyuta/002 97eb31d 20/21: Use negation operator, Greg Chicares, 2020/09/18