Have you ever wanted to write something like this:
vector v;
v.push_back (10);
v.push_back (true);
v.push_back ("hello");
Or maybe even something like this:
template <typename T>
void print (T const& t)
{
cout << t << endl;
}
for (vector::const_iterator i = v.begin (); i != v.end (); i++)
{
print (*i);
}
If so then you may be interested in Heterogeneous Container Library. It is still in active development but you can take a look for some examples in Example/Hetero directory.