From ce7a54af7fa7a17a977f73db82d80c36a89a4d71 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Sun, 22 Sep 2013 16:06:45 +0000 Subject: [PATCH] Minor update of lexical cast before fixing mingw issues (refs #9046) [SVN r85830] --- include/boost/lexical_cast.hpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index 25b7f61..14d4754 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -1524,7 +1524,7 @@ namespace boost { return true; } - bool const result = shl_real_type(val, buffer, tmp_finish); + bool const result = shl_real_type(val, static_cast(buffer), tmp_finish); finish = tmp_finish; return result; } @@ -2085,12 +2085,14 @@ namespace boost { Target result; i_interpreter_type i_interpreter; - if (! (i_interpreter.operator <<(arg))) - BOOST_LCAST_THROW_BAD_CAST(Source, Target); + + // Disabling ADL, by directly specifying operators. + const bool input_ok = (i_interpreter.operator <<(arg)); o_interpreter_type out(i_interpreter.cbegin(), i_interpreter.cend()); + // Disabling ADL, by directly specifying operators. - if(!(out.operator >>(result))) + if(!input_ok || !(out.operator >>(result))) BOOST_LCAST_THROW_BAD_CAST(Source, Target); return result;