<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 25, 2011, at 8:31 AM, Howard Hinnant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Author: hhinnant<br>Date: Tue Jan 25 10:31:30 2011<br>New Revision: 124192<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=124192&view=rev">http://llvm.org/viewvc/llvm-project?rev=124192&view=rev</a><br>Log:<br>tweak for readability (no functionality change)<br><br>Modified:<br>    libcxx/trunk/include/tuple<br><br>Modified: libcxx/trunk/include/tuple<br>URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/tuple?rev=124192&r1=124191&r2=124192&view=diff">http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/tuple?rev=124192&r1=124191&r2=124192&view=diff</a><br>==============================================================================<br>--- libcxx/trunk/include/tuple (original)<br>+++ libcxx/trunk/include/tuple Tue Jan 25 10:31:30 2011<br>@@ -589,7 +589,7 @@<br> get(tuple<_Tp...>&& __t)<br> {<br>     typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type;<br>-    return static_cast<typename tuple_element<_Ip, tuple<_Tp...> >::type&&>(<br>+    return static_cast<type&&>(<br>              static_cast<__tuple_leaf<_Ip, type>&&>(__t.base_).get());<br> }<br></div></blockquote><br></div><div>Oh, I forgot to mention… an alternative implementation approach would be to add more __tuple_leaf::get() overloads that use ref-qualifiers to distinguish between __tuple_leaf-as-lvalue and __tuple_leaf-as-rvalue. However, Clang doesn't support ref-qualifiers yet, so I went this route.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>- Doug</div></body></html>