Like this:
template struct Test { Test(Tptr) {} typedef decltype(*Tptr) T; T dereferencedType; }; int i; Test t(&i); //