@@ -1383,14 +1383,14 @@ class argument_loader {
1383
1383
return load_impl_sequence (call, indices{});
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, Return> call (Func &&f) {
1388
- return call_impl<Return>(std::forward<Func>(f), indices{});
1388
+ return call_impl<Return>(std::forward<Func>(f), indices{}, Guard{} );
1389
1389
}
1390
1390
1391
- template <typename Return, typename Func>
1391
+ template <typename Return, typename Guard, typename Func>
1392
1392
enable_if_t <std::is_void<Return>::value, void_type> call (Func &&f) {
1393
- call_impl<Return>(std::forward<Func>(f), indices{});
1393
+ call_impl<Return>(std::forward<Func>(f), indices{}, Guard{} );
1394
1394
return void_type ();
1395
1395
}
1396
1396
@@ -1406,8 +1406,8 @@ class argument_loader {
1406
1406
return true ;
1407
1407
}
1408
1408
1409
- template <typename Return, typename Func, size_t ... Is>
1410
- Return call_impl (Func &&f, index_sequence<Is...>) {
1409
+ template <typename Return, typename Func, size_t ... Is, typename Guard >
1410
+ Return call_impl (Func &&f, index_sequence<Is...>, Guard && ) {
1411
1411
return std::forward<Func>(f)(cast_op<Args>(std::get<Is>(value))...);
1412
1412
}
1413
1413
0 commit comments