# 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.