John Maddock wrote:
It seems to me that it would be better still to put
#ifdef BOOST_NO_INTRINSIC_WCHAR_T BOOST_STATIC_ASSERT(is_same
::value); #else BOOST_STATIC_ASSERT(!is_same ::value); #endif after the conditional definition of BOOST_NO_INTRINSIC_WCHAR_T to verify that the macro has been set/unset correctly.
Not a bad idea, but it brings in a lot of type-traits code that may not actually be needed...
Actually, it could be as simple as
#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
template< typename T > struct assert_no_intrinsic_wchar_t;
template<> struct assert_no_intrinsic_wchar_t