struct A { template<class... T> A& f(T&...t) { void ext_f(A*,T&...); ext_f(this,t...); return *this; } };