diff --git a/doc/lexical_cast.qbk b/doc/lexical_cast.qbk index 11f119d..dd7673b 100644 --- a/doc/lexical_cast.qbk +++ b/doc/lexical_cast.qbk @@ -3,7 +3,7 @@ [version 1.0] [copyright 2000-2005 Kevlin Henney] [copyright 2006-2010 Alexander Nasonov] - [copyright 2011-2013 Antony Polukhin] + [copyright 2011-2014 Antony Polukhin] [category String and text processing] [category Miscellaneous] [license @@ -238,7 +238,7 @@ limitation of compiler options that you use. * [*boost 1.56.0 :] - * Added `try_lexical_convert` functions. + * Added `boost::conversion::try_lexical_convert` functions. * [*boost 1.54.0 :] diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index 50af834..ae47053 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -19,7 +19,7 @@ // Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, // Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, // Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2013 +// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 #include #if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) @@ -2096,8 +2096,9 @@ namespace boost { template struct copy_converter_impl { -// MSVC fail to forward an array. This error is reported to MSVC's developer. -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MSVC) +// MSVC fail to forward an array (DevDiv#555157 "SILENT BAD CODEGEN triggered by perfect forwarding", +// fixed in 2013 RTM). +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined(BOOST_MSVC) || BOOST_MSVC >= 1800) template static inline bool try_convert(T&& arg, Target& result) { result = static_cast(arg); // eqaul to `result = std::forward(arg);` @@ -2251,8 +2252,9 @@ namespace boost { namespace conversion { namespace detail { -// MSVC fail to forward an array. This error is reported to MSVC's developer. -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MSVC) +// MSVC fail to forward an array (DevDiv#555157 "SILENT BAD CODEGEN triggered by perfect forwarding", +// fixed in 2013 RTM). +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined(BOOST_MSVC) || BOOST_MSVC >= 1800) template inline bool try_lexical_convert(Source&& arg, Target& result) { @@ -2515,7 +2517,7 @@ namespace boost { // Copyright Kevlin Henney, 2000-2005. // Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2013. +// Copyright Antony Polukhin, 2011-2014. // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at