Vetor genérico de vetores em C ++

Existe uma boa maneira de o C ++ implementar (ou falsificar) um tipo para um vetor genérico de vetores?

Ignore a questão de quando um vetor de vetores é uma boa ideia (a menos que exista algo equivalente que seja sempre melhor). Suponha que ele modele com precisão o problema e que uma matriz não modele com precisão o problema. Suponha também que funções modeladas que tomem essas coisas como parâmetros precisem manipular a estrutura (por exemplo, chamando push_back), para que não possam simplesmente aceitar um tipo genérico suportado[][].

O que eu quero fazer é:

template<typename T>
typedef vector< vector<T> > vecvec;

vecvec<int> intSequences;
vecvec<string> stringSequences;

mas é claro que isso não é possível, já que typedef não pode ser modelado.

#define vecvec(T) vector< vector<T> >

está próximo e pouparia duplicar o tipo em todas as funções modeladas que operam nos vecvecs, mas não seriam populares na maioria dos programadores de C ++.

questionAnswers(4)

yourAnswerToTheQuestion