
Boris Gubenko wrote:
John,
thanks for the reply and for the willingness to apply the patches.
I'm a bit dubious about applying this for a few reasons: [...]
I understand. Let me try to address your concerns. First, since this is a Rogue Library issue, perhaps, boost/concept_archetype.hpp is not the right header for the workaround. I think thatthe proper header would be: boost/config/stdlib/roguewave.hpp . Sorry about that.
Can you test the attached patch then? If you can assure me that the RW version check is correct (presumably you will up the version number if the issue gets fixed?), and that it has no unfortunate effects on the other Boost regression tests (I've checked it fixes the regex issue, but I don't want to run the full tests on a Testdrive machine), then I'll commit. John. Index: boost/config/stdlib/roguewave.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/config/stdlib/roguewave.hpp,v retrieving revision 1.15 diff -u -r1.15 roguewave.hpp --- boost/config/stdlib/roguewave.hpp 19 Oct 2005 16:38:40 -0000 1.15 +++ boost/config/stdlib/roguewave.hpp 28 Feb 2007 10:09:12 -0000 @@ -125,3 +125,20 @@ #if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) # undef BOOST_HAS_LONG_LONG #endif + +#if (BOOST_RWSTD_VER <= 0x02020100) && (BOOST_RWSTD_VER >= 0x02000000) && defined(__EDG_VERSION__) +// +// Work around a bug in RW 2.0 lib: +// +#include <iterator> +namespace std{ + template <class _Iterator> + inline typename iterator_traits<_Iterator>::iterator_category + __iterator_category (const _Iterator&) + { + typedef typename iterator_traits<_Iterator>::iterator_category _IterCategory; + return _IterCategory (); + } +} +#endif +