typename

The typename keyword can be used to describe an undefined type or in place of the class keyword in a template declaration.