namespace boost { namespace fusion { struct random_access_traversal_tag; namespace result_of { template <typename Sequence, typename State, typename F> struct fold : fusion::detail::choose_fold< Sequence, State, F , is_base_of<random_access_traversal_tag, typename traits::category_of<Sequence>::type>::value> {}; } template inline typename result_of::fold::type fold(Sequence& seq, State const& state, F f) ...