std::quoted doesn't respect padding
Jonathan Wakely
jwakely@redhat.com
Tue Apr 1 11:33:00 GMT 2014
[CCing gcc-patches]
On 11/03/14 11:18 -0400, Ed Smith-Rowland wrote:
>On 02/14/2014 07:56 PM, Jonathan Wakely wrote:
>>We need to implement this fix (probably after 4.9 is released though)
>>
>>http://cplusplus.github.io/LWG/lwg-active.html#2344
>>
>Here is a patch (Stage 1 obviously).
A couple of things I didn't notice earlier ...
>Index: include/std/iomanip
>===================================================================
>--- include/std/iomanip (revision 208430)
>+++ include/std/iomanip (working copy)
>@@ -41,6 +41,7 @@
>
> #if __cplusplus >= 201103L
> #include <locale>
>+#include <sstream> // used in quoted.
We really only need <sstream> for __cplusplus > 201103L, otherwise we
include it unnecessarily for C++11.
>
>- return __os;
>+ return __os << __ostr.str();
> }
It should be slightly more efficient to do __os << __ostr.rdbuf() here,
and in the other operator<< overload, since that copies directly from
the stringbuf to __os's own streambuf, rather than creating a
temporary std::string and copying from that.
More information about the Libstdc++
mailing list