Boost logo

Boost Users :

From: Jeff Garland (jeff_at_[hidden])
Date: 2005-06-15 21:23:29


On Wed, 15 Jun 2005 13:09:53 -0400, Donato Petrino wrote
> Hello,
>
> one short question regarding the 'operator<<' on time_durations
> (which in turn calls 'duration_put' in time_formatting_streams.hpp):
>
> The stream's filler is changed via the manipulator 'std::setfill'
> to zero ('0'), but without setting it back to the one the stream had
> when
> entering to this function (in my case blank (' ')). This results in
> undesired leading blanks on the subsequent usage of the same stream
> object.
>
> Question: Is it a bug or is it the common way how streams are used
> (which
> would mean that is't up to me resetting it to blank again).
>
> Thank you in advance!

This is a bug in 1.32. The i/o code has been rewritten for 1.33 and this
problem is fixed. In addition, the i/o is much more flexible because you can
use format strings to adjust the output however you like with the streaming
operator:

  time_facet* timefacet = new time_facet("%A %B %d %H:%M:%S");
  std::cout.imbue(std::locale(std::locale::classic(), timefacet));
  date d(2005,Apr, 20);
  ptime t1(d, hours(23)+minutes(59)+seconds(59));
  std::cout << t1 << std::endl;
  //output: Wednesday April 20 23:59:59

I expect 1.33 will be released in the next few weeks.

Jeff


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net