|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r77234 - trunk/boost/numeric/conversion
From: antoshkka_at_[hidden]
Date: 2012-03-05 12:11:21
Author: apolukhin
Date: 2012-03-05 12:11:20 EST (Mon, 05 Mar 2012)
New Revision: 77234
URL: http://svn.boost.org/trac/boost/changeset/77234
Log:
Fixes #5731, fixes #5076, fixes #5393, fixes #5800
Now numeric_cast (and lexical_cast) can be compiled with disabled exceptions
Text files modified:
trunk/boost/numeric/conversion/converter_policies.hpp | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
Modified: trunk/boost/numeric/conversion/converter_policies.hpp
==============================================================================
--- trunk/boost/numeric/conversion/converter_policies.hpp (original)
+++ trunk/boost/numeric/conversion/converter_policies.hpp 2012-03-05 12:11:20 EST (Mon, 05 Mar 2012)
@@ -13,6 +13,7 @@
#include <typeinfo> // for std::bad_cast
#include <boost/config/no_tr1/cmath.hpp> // for std::floor and std::ceil
+#include <boost/throw_exception.hpp>
#include <functional>
@@ -158,10 +159,17 @@
{
void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
{
+#ifndef BOOST_NO_EXCEPTIONS
if ( r == cNegOverflow )
throw negative_overflow() ;
else if ( r == cPosOverflow )
throw positive_overflow() ;
+#else
+ if ( r == cNegOverflow )
+ ::boost::throw_exception(negative_overflow()) ;
+ else if ( r == cPosOverflow )
+ ::boost::throw_exception(positive_overflow()) ;
+#endif
}
} ;
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk