#333 closed Feature Requests (None)
incorrect conditions to #define DISABLE_WIDE_CHAR_SUPPORT
| Reported by: | seza | Owned by: | kevlin |
|---|---|---|---|
| Milestone: | Component: | lexical_cast | |
| Version: | None | Severity: | |
| Keywords: | Cc: |
Description
I think absence of BOOST_NO_INTRINSIC_WCHAR_T isn't a
requirement for DISABLE_WIDE_CHAR_SUPPORT definition.
Suggested fix:
//old code
#if defined(BOOST_NO_STRINGSTREAM) || \
defined(BOOST_NO_STD_WSTRING) || \
defined(BOOST_NO_STD_LOCALE) || \
defined(BOOST_NO_INTRINSIC_WCHAR_T)
#define DISABLE_WIDE_CHAR_SUPPORT
#endif
//new code
#if defined(BOOST_NO_STRINGSTREAM) || \
defined(BOOST_NO_STD_WSTRING) || \
defined(BOOST_NO_STD_LOCALE)
#define DISABLE_WIDE_CHAR_SUPPORT
#endif
Change History (3)
comment:2 by , 18 years ago
Logged In: YES user_id=1134968 The following construction doesn't work in vc++ 7.1 now without /Zc:wchar_t (Treat wchar_t as a built-in type): int num = ...; boost::lexical_cast<std::wstring>(num); I agree with your argument but this statement should work in this case IMHO.
comment:3 by , 18 years ago
Logged In: YES user_id=32864 The behaviour of a basic_string<wchar_t> will depend in turn on what wchar_t is. Having conversions for wstring supported when conversions for wchar_t is not a distinct type would be inconsistent and would rely on more than can be guaranteed about the interaction between a non-standard I/O stream and non-standard basic_string implementation.
Note:
See TracTickets
for help on using tickets.
