Le mer 19/03/2003 à 14:27, Russell Hind a écrit :
and this _USE_OLD_RW_STL macro is then an adequate mean to detect such cases ? if so, I could disable the workaround, depending to this macro. but not right before the release.
My take on this is:
BCB5 (0x550 to 0x551) doesn't have this problem as it uses RogueWaves STL
BCB6 (0x560 to 0x564) only has this problem if using STLPort (default) (i.e. no _USE_OLD_RW_STL defined)
But if in BCB6, you define _USE_OLD_RW_STL then BCB6 uses RogueWave STL as shipped with BCB5 so doesn't have the problem. So the test may be
#if (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
#define BOOST_BAD_ISDIGIT
#endif
(Sorry, not up on the BOOST_WORKAROUND syntax yet, so that is the best I can provide).
I'm not sure about kylix (0x570 and above) and whether it comes with the old RW STL or just the STLPort version, hopefully someone else on the list can help with this, as Alisdair has already asked.
It really is an insignificant detail, as using <locale>'s isdigit rather <cctype>'s only matters if the given locale has more digit characters than the good old '0'-'9' (and even then, it matters only if someone is bold enough to use those locale's extra digit characters as number parameters in a format string..)
Probably not worth the effort then given that even if _USE_OLD_RW_STL is defined, it still works whether BOOST_BAD_ISDIGIT is defined or not
Cheers
Russell
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost