This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: std::quoted doesn't respect padding
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: Ed Smith-Rowland <3dw4rd at verizon dot net>
- Cc: Jonathan Wakely <jwakely dot gcc at gmail dot com>, libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 1 Apr 2014 12:33:29 +0100
- Subject: Re: std::quoted doesn't respect padding
- Authentication-results: sourceware.org; auth=none
- References: <CAH6eHdR5tfJuyqL24Dfmu=41e5_7fZLhsgxMqBdhgE4wONW8Xw at mail dot gmail dot com> <531F2937 dot 7020106 at verizon dot net>
[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.