This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Q about ctype.narrow


Pétur Runólfsson wrote:

...
No. There is a special exception in 22.1.1 p7 (modified by DR 360)
that allows users of locale to cache return values. Note that it
says "facet object installed in the same locale" so in:

ostream os(...);
os.widen('\n'); // Must call ctype::do_widen(char).
os.widen('\n'); // May use cached value.
os.imbue(os.getloc().combine<numpunct<char> >(locale("")));
// Same ctype facet, but different locale => must call
// ctype::do_widen again.
os.widen('\n');

I can see how you could interpret the text that way but it was not the intent of the resolution to require the behavior you describe above (and I don't see any point in requiring it). Perhaps it should have been worded better -- something like:

    In successive calls with the same arguments to a locale facet
    member function on the same facet object, the returned result
    shall be identical.

Martin



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]