- typename Caller::second_argument_type,
- typename Caller::third_argument_type,
- typename Caller::fourth_argument_type
-> makeSignalHandler3(const Caller& caller, typename Caller::first_argument_type callee)
-{
- return SignalHandler3<
- typename Caller::second_argument_type,
- typename Caller::third_argument_type,
- typename Caller::fourth_argument_type
- >(BindFirstOpaque3<Caller>(callee));
+ get_argument<Caller, 1>,
+ get_argument<Caller, 2>,
+ get_argument<Caller, 3>
+> makeSignalHandler3(const Caller &caller, get_argument<Caller, 0> callee) {
+ return SignalHandler3<
+ get_argument<Caller, 1>,
+ get_argument<Caller, 2>,
+ get_argument<Caller, 3>
+ >(BindFirstOpaque<Caller>(callee));