Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r81214 - in website/public_html/live: feed/news users/news
From: dnljms_at_[hidden]
Date: 2012-11-06 04:35:36


Author: danieljames
Date: 2012-11-06 04:35:34 EST (Tue, 06 Nov 2012)
New Revision: 81214
URL: http://svn.boost.org/trac/boost/changeset/81214

Log:
Website: Add files missing from last commit.
Added:
   website/public_html/live/feed/news/result_of_1_52_0.qbk (contents, props changed)
   website/public_html/live/users/news/a_special_note_for_boost_1_52_0_and_higher.html (contents, props changed)

Added: website/public_html/live/feed/news/result_of_1_52_0.qbk
==============================================================================
--- (empty file)
+++ website/public_html/live/feed/news/result_of_1_52_0.qbk 2012-11-06 04:35:34 EST (Tue, 06 Nov 2012)
@@ -0,0 +1,55 @@
+[article A Special Note for Boost 1.52.0 and Higher
+ [quickbook 1.5]
+ [purpose Important information for users of boost::result_of.]
+ [authors [Niebler, Eric]]
+ [last-revision Tue 6 Nov 2012 09:27:25 GMT]
+]
+
+Starting in Boost 1.52.0, the `boost::result_of` component defaults to an
+implementation that uses the C++11 decltype keyword to deduce the return
+type of callables on compilers with strong decltype support. As
+`boost::result_of` is a key piece of library infrastructure, we at Boost
+have found this change to be moderately disruptive. You should be aware
+of the issue when making the decision to upgrade from an older version
+of Boost.
+
+[section Why the Change Was Made]
+
+In C++11, `std::result_of` is required to use decltype. Boost has decided
+to change its implementation to minimize the differences between
+boost::result_of and std::result_of. Also, the use of decltype should
+help to improve compile times and increase the accuracy of the type
+computation.
+
+[endsect]
+
+[section Who is Affected]
+
+If you use a compiler with sufficiently bug-free decltype support
+(including
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276]),
+then you will get the new behavior. At the time of writing (Nov 4,
+2012), the only compiler in that category is clang built from trunk, but
+as other compilers improve, this will change.
+
+[endsect]
+
+[section What Problems Can the Change Cause?]
+
+The use of `decltype` in `result_of` can result in a different type being
+computed than if the now-obsolete TR1 result_of protocol. This will
+often be the case for incorrectly written TR1-style function objects
+that misreport their result types. This is unfortunately too common. But
+it can even happen for some correctly written function objects.
+
+[endsect]
+
+[section Where Can I Learn More?]
+
+Please see the documentation for
+[@http://www.boost.org/doc/libs/1_52_0/libs/utility/utility.htm#result_of boost::result_of]
+to understand the differences between TR1 result_of and decltype
+result_of, and to find out how you can write your code to accommodate
+both.
+
+[endsect]
\ No newline at end of file

Added: website/public_html/live/users/news/a_special_note_for_boost_1_52_0_and_higher.html
==============================================================================
--- (empty file)
+++ website/public_html/live/users/news/a_special_note_for_boost_1_52_0_and_higher.html 2012-11-06 04:35:34 EST (Tue, 06 Nov 2012)
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>A Special Note for Boost 1.52.0 and Higher</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link rel="icon" href="/favicon.ico" type="image/ico" />
+ <link rel="stylesheet" type="text/css" href="/style-v2/section-boost.css" />
+
+ <!--[if IE 7]> <style type="text/css"> body { behavior: url(/style-v2/csshover3.htc); } </style> <![endif]-->
+</head>
+<!-- Don't edit this page! It's generated by site-tools/site-tools.py -->
+<body>
+ <div id="heading">
+ <!--#include virtual="/common/heading.html" --> </div>
+
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section" id="intro">
+ <div class="section-0">
+ <div class="section-title">
+ <h1>A Special Note for Boost 1.52.0 and Higher</h1>
+ </div>
+
+ <div class="section-body">
+ <h2><span class=
+ "news-title">A Special Note for Boost 1.52.0 and Higher</span></h2>
+
+ <p><span class=news-date">November 6th, 2012 09:27 GMT</span></p>
+
+
+ <div class="news-description">
+ <div class="description">
+
+
+ <p>
+ Starting in Boost 1.52.0, the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code>
+ component defaults to an implementation that uses the C++11 decltype keyword
+ to deduce the return type of callables on compilers with strong decltype support.
+ As <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> is a key piece of library infrastructure,
+ we at Boost have found this change to be moderately disruptive. You should be
+ aware of the issue when making the decision to upgrade from an older version
+ of Boost.
+ </p>
+ <div id="a_special_note_for_boost_1_52_0_and_higher.why_the_change_was_made">
+ <h3><span class="link">Why
+ the Change Was Made</span></h3>
+ <p>
+ In C++11, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">result_of</span></code> is required to use decltype. Boost
+ has decided to change its implementation to minimize the differences between
+ boost::result_of and std::result_of. Also, the use of decltype should help
+ to improve compile times and increase the accuracy of the type computation.
+ </p>
+ </div>
+ <div id="a_special_note_for_boost_1_52_0_and_higher.who_is_affected">
+ <h3><span class="link">Who
+ is Affected</span></h3>
+ <p>
+ If you use a compiler with sufficiently bug-free decltype support (including
+ N3276),
+ then you will get the new behavior. At the time of writing (Nov 4, 2012), the
+ only compiler in that category is clang built from trunk, but as other compilers
+ improve, this will change.
+ </p>
+ </div>
+ <div id="a_special_note_for_boost_1_52_0_and_higher.what_problems_can_the_change_cause_">
+ <h3><span class="link">What
+ Problems Can the Change Cause?</span></h3>
+ <p>
+ The use of <code><span class="identifier">decltype</span></code> in <code><span class="identifier">result_of</span></code> can result in a different type
+ being computed than if the now-obsolete TR1 result_of protocol. This will often
+ be the case for incorrectly written TR1-style function objects that misreport
+ their result types. This is unfortunately too common. But it can even happen
+ for some correctly written function objects.
+ </p>
+ </div>
+ <div id="a_special_note_for_boost_1_52_0_and_higher.where_can_i_learn_more_">
+ <h3><span class="link">Where
+ Can I Learn More?</span></h3>
+ <p>
+ Please see the documentation for boost::result_of
+ to understand the differences between TR1 result_of and decltype result_of,
+ and to find out how you can write your code to accommodate both.
+ </p>
+ </div>
+</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div id="sidebar">
+ <!--#include virtual="/common/sidebar-common.html" --><!--#include virtual="/common/sidebar-boost.html" --> </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright Rene Rivera 2006-2007.</p>
+ </div><!--#include virtual="/common/footer-license.html" --> </div>
+
+ <div id="footer-right">
+ <!--#include virtual="/common/footer-banners.html" --> </div>
+
+ <div class="clear"></div>
+ </div>
+</body>
+</html>


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