diff --git a/src/hb-algs.hh b/src/hb-algs.hh index 93677435b..779d3b70f 100644 --- a/src/hb-algs.hh +++ b/src/hb-algs.hh @@ -71,28 +71,28 @@ struct private: /* Pointer-to-member-function. */ - template auto - impl (Appl&& a, Val &&v, hb_priority<2>) const HB_AUTO_RETURN - (hb_forward (hb_deref_pointer (v)).*a ()) + template auto + impl (Appl&& a, hb_priority<2>, Val1 &&v1, Vals &&...vs) const HB_AUTO_RETURN + (hb_forward (hb_deref_pointer (v1)).*a (hb_forward (vs...))) /* Pointer-to-member. */ template auto - impl (Appl&& a, Val &&v, hb_priority<1>) const HB_AUTO_RETURN + impl (Appl&& a, hb_priority<1>, Val &&v) const HB_AUTO_RETURN (hb_forward (hb_deref_pointer (v)).*a) /* Operator(). */ - template auto - impl (Appl&& a, Val &&v, hb_priority<0>) const HB_AUTO_RETURN - (hb_deref_pointer (a) (hb_forward (v))) + template auto + impl (Appl&& a, hb_priority<0>, Vals &&...vs) const HB_AUTO_RETURN + (hb_deref_pointer (a) (hb_forward (vs...))) public: - template auto - operator () (Appl&& a, Val &&v) const HB_AUTO_RETURN + template auto + operator () (Appl&& a, Vals &&...vs) const HB_AUTO_RETURN ( impl (hb_forward (a), - hb_forward (v), - hb_prioritize) + hb_prioritize, + hb_forward (vs...)) ) } HB_FUNCOBJ (hb_invoke);