Subject: Re: [Boost-bugs] [Boost C++ Libraries] #859: boost::format ignores a user defined locale
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-05-15 02:40:53
#859: boost::format ignores a user defined locale
---------------------+------------------------------------------------------
Reporter: nobody | Owner: samuel_krempp
Type: Bugs | Status: reopened
Milestone: | Component: format
Version: None | Severity: Problem
Resolution: | Keywords:
---------------------+------------------------------------------------------
Changes (by anonymous):
* status: closed => reopened
* resolution: invalid =>
Comment:
problem here isn't that locale is ignored
problem that method os.fill that tries to use facet before imbue to the
stream
see actor for the stream_format_state
if(width_ != -1)
os.width(width_);
if(precision_ != -1)
os.precision(precision_);
if(fill_ != 0)
os.fill(fill_);
os.flags(flags_);
os.clear(rdstate_);
os.exceptions(exceptions_);
#if !defined(BOOST_NO_STD_LOCALE)
if(loc_)
os.imbue(loc_.get());
else if(loc_default)
os.imbue(*loc_default);
#else
(void) loc_default; // keep compiler quiet if we don't support
locales
#endif
imbue should be at very beginning of the actor, not at the very end
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/859#comment:4> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC