fork download
  1. #include <functional>
  2. #include <vector>
  3.  
  4. template <typename ...T, typename Result>
  5. void componentWise(std::function<Result(T...)> f,
  6. const std::vector<T> & ...v,
  7. std::vector<Result> & result)
  8. {
  9. // (I don't know how to express the assert)
  10. result.reserve(v.size()...);
  11.  
  12. auto _v = v.begin()...;
  13. auto _result = result.begin();
  14. for(; _v != v.end()...; ++_v..., ++_result)
  15. {
  16. *_result = expression(*_v...);
  17. }
  18. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘void componentWise(std::function<Result(T ...)>, const std::vector<T>& ..., std::vector<Result>&)’:
prog.cpp:12:23: error: parameter packs not expanded with ‘...’:
prog.cpp:12:23: note:         ‘v’
prog.cpp:12:24: error: expected ‘,’ or ‘;’ before ‘...’ token
prog.cpp:14:23: error: parameter packs not expanded with ‘...’:
prog.cpp:14:23: note:         ‘v’
prog.cpp:14:24: error: expected ‘;’ before ‘...’ token
prog.cpp:14:24: error: expected primary-expression before ‘...’ token
prog.cpp:14:24: error: expected ‘)’ before ‘...’ token
prog.cpp:14:24: error: expected primary-expression before ‘...’ token
prog.cpp:14:24: error: expected ‘;’ before ‘...’ token
prog.cpp:14:33: error: expected ‘;’ before ‘...’ token
stdout
Standard output is empty