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.