Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2003-03-17 17:44:45

>From: "Beman Dawes" <bdawes_at_[hidden]>

> At 03:40 PM 3/17/2003, Terje Slettebø wrote:
> >Well, I think this reinforces the suggestion to define
> >for 2.95.x. Comments?
> >
> >Either that, or to have some way to detect where
> std::basic_stringstream<>
> >is not supported, and turn off wide character support for that, in
> >lexical_cast. Currently, it disables wide character support if one of
> >following macros are set:
> >
> Are you sure disabling wide character support is really the solution, or
> that it is really fully disabled?

Well, as was shown with the earlier lexical_cast, g++ 2.95 does have
std::stringstream, but not std::basic_stringstream. This shows that even if
it has stringstream, it doesn't have the wide character version of it. This
means it can't be used with wide characters with lexical_cast. So this has
to be signalled somehow to lexical_cast. Any macro might do, but as it has
only partial stringstream support, defining BOOST_NO_STRINGSTREAM seems
reasonable. An alternative is to create a macro for partial support, but the
end result is the same for lexical_cast: No wide character support for that
compiler version.

> For the 2.95.x test at
> BOOST_NO_STD_WSTRING is already defined, so presumably wide character
> support is already disabled.
> Look at the error messages from date_time testperiod below, and the source
> code lines they refer to. At least directly, they don't seem releated to
> wide character support.
> /home/boost/boost-regress-RC_1_30_0/boost/boost/lexical_cast.hpp:173:
> syntax error before `;'

Line 173 has:

std::basic_stringstream<char_type> stream;

I think the evidence can't be much clearer. :)

The rest appears to be cascading errors, but this is the first reported one.



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