ciao.
Devo raccogliere dei dati che possono essere float o int o bool.
Per ognuno di questi dati ho un vector(e non so di che tipo) che è un item di un map<string,vector*<???> >

in pratica ho delle chiavi stringa e sotto ognuna di esse un vector di tipo T, il problema è che posso avere varie stringhe come chiavi e su ogni chiave un vector di tipo diverso:


map["str1"] = new vector<float>;
map["str2"] = new vector<int>;
map["str3"] = new vector<int>;


è possibile avere una mappa che contiene vector di tipo diverso?
devo forse usare una classe con un template?
i tipi sono tutti tipi primitivi e non posso farli derivare da una classe base.
posso pero avere una classe CTypeGeneric con i 3 tipi incapsulati e andare a riempire il tipo che mi serve e avere una mappa:
map<string, CTipeGeneric>


ma non mi sembra una buona soluzione.
Ho letto su boost che esiste una libreria con un tipo variant , il problema è che non vorrei usare boost e che i vector contengono dati dell' ordine dei 100000 150000 elementi, quindi la memoria occupata è importante.
ciao.