$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-11-14 02:35:59
Robert Ramey wrote:
> Alberto Barbati wrote
> 
> 
>>BTW, with the current implementation even doing so is completely 
>>useless, as there are lines like this:
> 
> 
>      os.imbue(std::locale::classic());
> 
> 
>>that reset the locale of the streams to the "dumb" default. Such lines 
>>are IMO both unnecessary and conceptually wrong, and should be removed.
> 
> 
> Now I remember why I included this.
> 
> Suppose that an archive is created where the default local is a spanish speaking
> country where the number 123 thousand is written
> 
> 123.000
> 
> The archive is sent to another country where the default locale is an english
> speaking country where the string
> 
> 123.000
> 
> means 123 
> 
> That's why I set the local to classic.
I think that at most, you should alter only num_put/num_get facets.
Something like (untested code)
   os.imbue(locale(os.loc(), use_facet< num_get<char> >(std::locale::classic()))
(and the same thing for 'numpunct' facet).
Further,
is it a good idea to change stream locale without user's consent. Maybe,
archive should create *their own* (i/o)stream, sharing streambuffer with
the stream the user has passed, and with appropriately modified locale?
- Volodya
> 
> Robert Ramey
> _______________________________________________
> Unsubscribe & other changes: http://listarchives.boost.org/mailman/listinfo.cgi/boost