Obtém o tipo base de um tipo de template (remove const / reference / etc.)

Existe um modelo de traços de tipo que retorna otipo base de um determinado tipo. Portipo base Eu quero dizer o tipo com todos os modificadores de valor, const, volátil, etc. despojados. Por exemplo, usando uma função de traços hipotéticos:

base<int>::type == int
base<int const>::type == int
base<int&>::type == int

Estou ciente deremove_const eremove_reference e atualmente estou apenas usando-os em combinação. Eu estou querendo saber se, no entanto, já existe essa característica e, talvez, se há um nome próprio para o que estou me referindo?

questionAnswers(3)

yourAnswerToTheQuestion