@@ -1378,14 +1378,14 @@ class argument_loader {
1378
1378
return load_impl_sequence (call, indices{});
1379
1379
}
1380
1380
1381
- template <typename Return, typename Func>
1381
+ template <typename Return, typename Guard, typename Func>
1382
1382
enable_if_t <!std::is_void<Return>::value, Return> call (Func &&f) {
1383
- return call_impl<Return>(std::forward<Func>(f), indices{});
1383
+ return call_impl<Return>(std::forward<Func>(f), indices{}, Guard{} );
1384
1384
}
1385
1385
1386
- template <typename Return, typename Func>
1386
+ template <typename Return, typename Guard, typename Func>
1387
1387
enable_if_t <std::is_void<Return>::value, void_type> call (Func &&f) {
1388
- call_impl<Return>(std::forward<Func>(f), indices{});
1388
+ call_impl<Return>(std::forward<Func>(f), indices{}, Guard{} );
1389
1389
return void_type ();
1390
1390
}
1391
1391
@@ -1401,8 +1401,8 @@ class argument_loader {
1401
1401
return true ;
1402
1402
}
1403
1403
1404
- template <typename Return, typename Func, size_t ... Is>
1405
- Return call_impl (Func &&f, index_sequence<Is...>) {
1404
+ template <typename Return, typename Func, size_t ... Is, typename Guard >
1405
+ Return call_impl (Func &&f, index_sequence<Is...>, Guard && ) {
1406
1406
return std::forward<Func>(f)(cast_op<Args>(std::get<Is>(value))...);
1407
1407
}
1408
1408
0 commit comments