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

#include <TypeList.h>

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

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