typename - associates a name to variable type
The function and operator overloading make use of a formal name associated to data types to form the name of the overloading function (see overloading). The typename can be used to handle this formal names for hard coded data types (the tlist or mlist coded data types formal names are defined in an other way, see overloading).
Called without right hand side argument, typename returns informations on defined data types.
Called with right hand side argument, typename associates a name to a data type code.
typename('',type) suppress the data type given by its code type out of the table of known data types.