On Thu, Nov 01, 2007 at 05:20:17PM +0100, Abdelrazak Younes wrote: > Enrico Forestieri wrote: > > On Thu, Nov 01, 2007 at 03:54:06PM +0100, Abdelrazak Younes wrote: > > > >> Juergen Spitzmueller wrote: > >>> Abdelrazak Younes wrote: > >>> > >>>> As for adding the possibility to output an unsigned char to the > >>>> docstream I think this buy us absolutely nothing and that it is not even > >>>> worth supporting. > >>> How about the attached patch? > >> That should do. But I personally prefer you first patch and I'd be > >> interested to know why it doesn't work on cygwin. > > > > It also doesn't work on Windows and FreeBSD, for example. > > Well, as I said, if there is something to fix by passing a char_type > instead of an unsigned char, let's just fix it instead of turning around > the problem. I must admit I haven't looked closely at the source though. > > > I think it > > would be embarrassing explaining it, as this would imply recognizing a > > basic ignorance about C++, and this should not be the case. > > That is maybe the case. As my ego is not so enormous that I can admit I > am stupid when this is the case, please explain me.
A typedef name provides an alternative name for an existing data type. It does not create a new data type, so when char_type is typedef'd to boost::uint32_t, you will get an integral representation of the char_type value rather than the corresponding character when outputting to a docstream. And you can't overload a typedef. -- Enrico