Skip to content
ozt88 edited this page Mar 13, 2015 · 3 revisions

#type_list 란? 템플릿을 활용하여 만들어진 여러 타입의 컨테이너.
따로 표준이 있는 것이 아니며, 직접 만들어야하는 일종의 패턴.
재귀적 리스트의 일반적 형태 head와 tail로 구성된다.

template <typename T0, typename U1>  //기본형
struct typelist
{
   using Head = T0;  // == typename T0 Head;
   using Tail = T1;

   Head  m_T0;
   Tail  m_T1;
}

class NullType{}; //빈 타입 (NIL)

template <typename T0>        //재귀의 종료케이스를 템플릿 특수화로 처리한다.
struct typelist<T0, NullType>
{
   using Head = T0;
   using Tail = T1;
   
   Head  m_T0;
}