template struct Poco::TypeAllEraser<TypeList<Head, Tail>, T>

#include <TypeList.h>

template <
    class Head,
    class Tail,
    class T
    >
struct TypeAllEraser<TypeList<Head, Tail>, T>
{
    // typedefs

    typedef TypeList<Head, typename TypeAllEraser<Tail, T>::HeadType> HeadType;
};