
"DY, JERRY U \(SBCSI\)" <jd2419@sbc.com> writes:
Dave, The only workaround I have is to surround the static assertion with guards:
#if !defined (__HP_aCC)
BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag) #endif
The assumption is that if "advance" is called, the compiler errors eventually anyway
Not quite. The rest of the code doesn't care what the traversal category is actually set to for the iterator.
so this change should be harmless (and lets aC++ compile the code). I had to do the same for "decrement" and "distance_to" member functions.
Is this workaround okay? I probably should check this in only after 1.32 release in any case.
Probably the right way to fix this is to indirect through an auxilliary function template that does the assertion. I presume _that_ wouldn't be instantiated unless it was actually called. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com