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] | |
now that I'm finally catching up with the whole caching mechanism currently in place (sorry again!)...
Second, and probably more important, the cache doesn't get rebuilt when the new locale is created. The numpunct<char> cache is created for the C locale. When the new locale is created, the numpunct<char> cache from the C locale is referenced, rather than constructing a new one using the new ctype<char>.
As I'm looking at this. I don't see any great way to solve this short of removing cache reference-counting. Even if you destroy a pre-existing cache associated with the new facet added to the new locale, it won't solve this problem because it is the numpunct<char> cache that is broken rather than the ctype<char> cache (which doesn't actually exist).
... why don't we have it? Having it would in some way help for this issue too?
I'm asking because I think that eventually we'll have it, because 'narrow', 'widen', 'is' (we have already a PR for this: 11723) must be fast in order to have an efficient implementation of the monetary and time facets.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |