HPX - High Performance ParalleX

PrevUpHomeNext

Header <hpx/lcos/fold.hpp>

namespace hpx {
  namespace lcos {
    template<typename Action, typename FoldOp, typename Init, typename ArgN, 
             ... > 
      hpx::future< decltype(Action(hpx::id_type, ArgN,...))> 
      fold(std::vector< hpx::id_type > const &, FoldOp &&, Init &&, ArgN, ...);
    template<typename Action, typename FoldOp, typename Init, typename ArgN, 
             ... > 
      hpx::future< decltype(Action(hpx::id_type, ArgN,..., std::size_t))> 
      fold_with_index(std::vector< hpx::id_type > const &, FoldOp &&, Init &&, 
                      ArgN, ...);
    template<typename Action, typename FoldOp, typename Init, typename ArgN, 
             ... > 
      hpx::future< decltype(Action(hpx::id_type, ArgN,...))> 
      inverse_fold(std::vector< hpx::id_type > const &, FoldOp &&, Init &&, 
                   ArgN, ...);
    template<typename Action, typename FoldOp, typename Init, typename ArgN, 
             ... > 
      hpx::future< decltype(Action(hpx::id_type, ArgN,..., std::size_t))> 
      inverse_fold_with_index(std::vector< hpx::id_type > const &, FoldOp &&, 
                              Init &&, ArgN, ...);
  }
}

PrevUpHomeNext