Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2007-02-28 05:12:17


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
+


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk