summaryrefslogtreecommitdiff
path: root/boost/lexical_cast.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/lexical_cast.hpp')
-rw-r--r--boost/lexical_cast.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/boost/lexical_cast.hpp b/boost/lexical_cast.hpp
index dc3d7e3fb7..a880c0cd9c 100644
--- a/boost/lexical_cast.hpp
+++ b/boost/lexical_cast.hpp
@@ -30,19 +30,20 @@
#include <boost/range/iterator_range_core.hpp>
#include <boost/lexical_cast/bad_lexical_cast.hpp>
#include <boost/lexical_cast/try_lexical_convert.hpp>
+#include <boost/utility/value_init.hpp>
namespace boost
{
template <typename Target, typename Source>
inline Target lexical_cast(const Source &arg)
{
- Target result;
+ boost::value_initialized<Target> result;
- if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
+ if (!boost::conversion::detail::try_lexical_convert(arg, get(result))) {
boost::conversion::detail::throw_bad_cast<Source, Target>();
}
- return result;
+ return get(result);
}
template <typename Target>