| 3481 | public: |
| 3482 | template <typename... Args> |
| 3483 | inline Capture(std::vector<std::string> arg_names, Args const&... args) |
| 3484 | : _arg_ptrs{(void*)&args...} { |
| 3485 | std::vector<std::string> arg_types = {reflection::reflect<Args>()...}; |
| 3486 | _arg_decls.resize(arg_names.size()); |
| 3487 | for (int i = 0; i < (int)arg_names.size(); ++i) { |
| 3488 | _arg_decls[i] = arg_types[i] + " " + arg_names[i]; |
| 3489 | } |
| 3490 | } |
| 3491 | }; |
| 3492 | |
| 3493 | /*! An object that captures the instantiated Lambda function for use |