Introduction

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.