summaryrefslogtreecommitdiff
path: root/gmpxx.h
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2012-05-11 19:51:40 +0200
committerMarc Glisse <marc.glisse@inria.fr>2012-05-11 19:51:40 +0200
commitd71abcac045488c8a60c2efc77c9fca21fe48862 (patch)
treefab972ed319c5912aa7a857ee789cee345c41674 /gmpxx.h
parentad0b967b1ae2edc7e1c8d84fe5ec2a5034c27b07 (diff)
downloadgmp-d71abcac045488c8a60c2efc77c9fca21fe48862.tar.gz
explicit conversion to bool
Diffstat (limited to 'gmpxx.h')
-rw-r--r--gmpxx.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gmpxx.h b/gmpxx.h
index a218166d7..d47757864 100644
--- a/gmpxx.h
+++ b/gmpxx.h
@@ -1563,6 +1563,10 @@ public:
// bool fits_double_p() const { return mpz_fits_double_p(mp); }
// bool fits_ldouble_p() const { return mpz_fits_ldouble_p(mp); }
+#if __GMPXX_USE_CXX11
+ explicit operator bool() const { return mp->_mp_size != 0; }
+#endif
+
// member operators
__GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
__GMP_DECLARE_COMPOUND_OPERATOR(operator-=)
@@ -1755,6 +1759,10 @@ public:
double get_d() const { return mpq_get_d(mp); }
+#if __GMPXX_USE_CXX11
+ explicit operator bool() const { return mpq_numref(mp)->_mp_size != 0; }
+#endif
+
// compound assignments
__GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
__GMP_DECLARE_COMPOUND_OPERATOR(operator-=)
@@ -1963,6 +1971,10 @@ public:
// bool fits_double_p() const { return mpf_fits_double_p(mp); }
// bool fits_ldouble_p() const { return mpf_fits_ldouble_p(mp); }
+#if __GMPXX_USE_CXX11
+ explicit operator bool() const { return mp->_mp_size != 0; }
+#endif
+
// compound assignments
__GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
__GMP_DECLARE_COMPOUND_OPERATOR(operator-=)