boostorg / range

Boost.org range module
http://boost.org/libs/range
42 stars 101 forks source link

work-around for msvc limitation that causes has_iterator<> to fail for structs named iterator #14

Closed ericniebler closed 10 years ago

ericniebler commented 10 years ago

Only applies to msvc-10.0 and earlier. This fixes the failures in boost.accumulators on those versions of msvc. I simply specializes boost::range_detail::has_iterator for all the classes and structs at namespace scope in boost named iterator. A dumb fix for a dumb compiler bug, but hey, it works.

Ran full range regressions for all versions of msvc from 8 through 12. No new failures.

Kojoley commented 4 years ago

@ericniebler is this workaround is still necessary? I was cleaning up dead code in Range and reverting this workaround does not break Accumulators on msvc-9/10 now. Probably the cause was #11 and https://github.com/boostorg/mpl/pull/8 fixed the issue?