14 namespace alps {
namespace alea {
namespace internal {
16 template <
typename Acc>
24 template <
typename T,
typename... Args>
25 T
call_vargs(std::function<T(Args...)> func,
const T *args);
27 template <
typename T,
typename... Args>
28 T
call_vargs(std::function<T(T, Args...)> func,
const T *args)
32 std::function<T(Args...)> closure =
33 [=](Args... tail) -> T {
return func(head, tail...); };
44 template <
typename Acc>
48 acc.finalize_to(result);
52 template <
typename Acc>
57 copy.finalize_to(result);
void check_valid(const Acc &acc)
T call_vargs(std::function< T(Args...)> func, const T *args)
traits< Acc >::result_type result(const Acc &acc)
traits< Acc >::result_type finalize(Acc &acc)