Vetor de typedefs

É possível emQUALQUER maneira de ter um vetor de tipo (def) s emC ++ 11/14 ?

A primeira coisa que tentei foi ter um vetor de uma classe base e de alguma forma obter o typedef de sua forma derivada, mas não consigo fazer com que isso funcione o que eu tente (não é possível, provavelmente).

Pseudo-C ++:

class base
{
   /* somehow access 'type' from derived */
}

template <typename T>
class derived : base
{
   typedef T type;
}

vector<base*> vec;
vec.push_back( new derived<int> );
vec.push_back( new derived<double> );
vec.push_back( new derived<float> );
vec.push_back( new derived<string> );

for(auto& item : vec)
   static_cast< item->type >( /* something */ );

questionAnswers(4)

yourAnswerToTheQuestion