[Bug libstdc++/21238] conflicting "typedef __numpunct_cache<_CharT> __cache_type;" in std::numpunct<CharT> makes specialization impossible
pcarlini at suse dot de
gcc-bugzilla@gcc.gnu.org
Wed Apr 27 12:13:00 GMT 2005
------- Additional Comments From pcarlini at suse dot de 2005-04-27 12:12 -------
Thanks for the testcase. The issue is subtle and the typedef is only the tip of
the iceberg: num_get (involved in >>(int)) uses the caching facilities provided
by the primary numpunct, which a specialization simply misses, generally. As our
library is currently designed, you cannot specialize numpunct and then use the
primary num_get template with it. Maybe we have a slighlty different instance
of the problem with istream members that we fixed for 4.0: we should have generic
implementations of num_get (and num_put) not exploitng any numpunct-provided
caching and efficient specializations for char and wchar_t. Seems doable, at
the expense of a non-trivial code-growth, but maybe within the present ABI.
Benjamin?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |bkoz at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21238
More information about the Gcc-bugs
mailing list