Lars Gullik Bjønnes wrote:

> You are saying that we cannot have a
> 
> template<> char_traits<boost::uint32_t> in the header file?

At least it does not work for some of the functions. I tried that, and the
result was multiple definitions of at least
char_traits<boost::uint32_t>::eof()eof() at the linking stage. There were
more, but I forgot what it was.
I am not 100% sure what is supposed to happen here. Maybe the compiler is
not correct and should only emit one instance of the template, but I
remember having seen template specialization bugs before, so I would not be
surprised if this was a compiler bug.

Could we not simply put the template solution in? Even if you'd like the
other one better, this is code for an older compiler that will go away some
day. I just don't think that we should drop support for gcc 3.3 now.


Georg

PS: I am not very interested in trying too many more solutions, because it
needs almost a full recompile to detect whether it works.

Reply via email to