--- /tmp/all-buggy.hpp 2008-12-18 15:44:44.000000000 +0100 +++ /usr/include/boost/fusion/algorithm/query/detail/all.hpp 2008-12-18 15:46:32.000000000 +0100 @@ -68,6 +68,20 @@ }; template<> + struct unrolled_all<4> + { + template + static bool call(It const& it, F f) + { + return + f(*it) && + f(*fusion::advance_c<1>(it)) && + f(*fusion::advance_c<2>(it)) && + f(*fusion::advance_c<3>(it)); + } + }; + + template<> struct unrolled_all<3> { template