?????????????????????榇�??械???????????? modern c++ design???????????????????????????懈???????婕�???????????????????????????????????? c++ ????????? insight c++ object model ????????????? Herb ???????? Andrei ????宸�????????渭????????????????????Andrei ?????????
????c++ ?????????????????????????????????????????????????????????????????????????宓�?????????????????????????????????写 STL?? boost?? loki ?????????????????????????????写???????????????????????????????????????????? c++ ???????????????????????????????????????????????????锟�????????梅????????????????写???????????????????????懈???????????????????????????????些???????????????????????????????尾?????????????????????????????????????????????????????????????????????? boost.proto ??????????????????????????????????锟�???????e???????
?????????????????????????????????????????????????????些??????????????????????????卸????????些????????锌??????????????????????????????????????椋�????????????typedef ?? enum ??????????????????????????????????????????????????澹�?????? enum?? ???????????????????????(:?)????????卸??????????(if/else)???????????????????????
?????????????????些??????????? Loki ?泄?????? typelist ????????????宥�????些????
????typelist ????????????????????????????????????????????蟹?????????????????????锟�?
????template <class T?? class U>
????struct Typelist
????{
????typedef T Head;
????typedef U Tail;
????};
????Head ?? typelist ?械???????????? type?? Tail ?? typelist ?懈y?????????????????????????????械? next ???????卸????????? typelist ???????????????????校?next ????????????????????? typelist ????????????????????
????struct NullType
????{
????};
?????????????????澹�?????????????????????????? typelist ???
????typedef Typelist<char?? Typelist<int?? Typelist<short?? NullType> >
?????????????写???????????????????????????????????????????????校????? Loki ???????????????????????????????????????? c++ ??????????? variadic template parameter????些?????????????????????????????????锟�????????????????
???????????????????????????????????????位?????????????????????????????些??????????貌?????? ??????些??????????械?????????????????????????????? typelist??????卸?? typelist ??????????????????????