Type:
Ptr​::​element_Âtype if
the
qualified-id Ptr​::​element_Âtype is valid and denotes a
type (
[temp.deduct]); otherwise,
T if
Ptr is a class template instantiation of the form
SomePointer<T, Args>,
where
Args is zero or more type arguments; otherwise, the specialization is
ill-formed
.