What you are looking for formats a list of types . However, I would not recommend diving into the Boost MPL if you are not already very experienced with templates and know how many of their subtleties work.
Now for a simple home-made implementation:
struct Null {}; template <typename Type, typename Next> struct List { typedef Type Type; typedef Next Next; };
From there, recursive template implementations are used to call the static methods you want.
If you need more information about these methods, you should read Modern C ++ Design.
source share