#ifndef INCLUDED_UNIQ_H_ #define INCLUDED_UNIQ_H_ #include "typelist.h" #include "append.h" #include "remove.h" template struct Uniq; template <> struct Uniq> { typedef TypeList<> List; }; template struct Uniq> { typedef typename Remove>::List RmList; typedef typename Uniq::List UTail; typedef typename Prefix::TList List; }; #endif