Hello,
I recently heard of a new interesting way to use templates, making a type list that gets disassembled during compilation.
Here is what I got from the info:

Code:
template <typename _A, typename _B>
struct type_list 
{
   typedef _A a;
   typedef _B b;
};

struct end_type_list {};
Then with this you can declare a pseudo-variable that holds some types like this:

Code:
type_list <int, type_list<double, type_list<string, end_type_list>>> tlist;
As I see you must use RTTI to make this work...

This thing got my attention and I wish to learn more of it. Can someone point me to an internet resource about this usage of templates? I don't know the name of this technique and searching for it in google turned out useless...

Thanks in advance for any help.