Boost logo

Boost :

From: Ed Brey (brey_at_[hidden])
Date: 2001-02-02 18:16:55

From: "Jens Maurer" <Jens.Maurer_at_[hidden]>
> > For wchar_t, it would be worth adding that a workaround is to include
> > <cstddef>, which defines wchar_t, and this workaround is implemented
> > boost/config.hpp.
> Thanks. I've added that.
> I believe that <cstddef> actually provides a typedef to short or so,
> so I've added a note warning about possible overloading ambiguities,
> since wchar_t is not a distinct type as required by the standard.

Good point regarding the ambiguity. wchar_t is indeed typedefed to
unsigned short. The typedef is made in an MS header even with STLport
installed, so it's a safe bet that things are the same with and without

Following is a suggestion for the workaround paragraph that incorporates
the information about unsigned short (which could be useful to someone
dealing with this issue) and rearranges some wording from your draft that
seemed awkward to me as I read it:

Workaround: The header boost/config.hpp includes <cstddef>, which defines
wchar_t as a typedef for unsigned short. Note that this means that the
compiler does not see wchar_t and unsigned short as distinct types, as is
required by the standard, and so ambiguities may emanate when overloading
on wchar_t.

Boost list run by bdawes at, gregod at, cpdaniel at, john at