{"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ffaithandbrave.hateblo.jp%2Fentry%2F20070726%2F1185450241\" title=\" C++0x - Templates Aliases\u3067\u578b\u30ea\u30b9\u30c8 - Faith and Brave - C++\u3067\u904a\u307c\u3046\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","description":"\u307e\u305a\u30d9\u30fc\u30b9\u3068\u306a\u308b\u3082\u306e struct nil {}; template <class Car, class Cdr> struct cons { typedef Car car; typedef Cdr cdr; }; \u3044\u307e\u306e\u578b\u30ea\u30b9\u30c8\u306f\u3053\u308c #define TYPELIST1(T0) cons<T0, nil> #define TYPELIST2(T0, T1) cons<T0, TYPELIST1(T1) > #define TYPELIST3(T0, T1, T2) cons<T0, TYPELIST2(T1, T2) > #define TYPELIST4(T0, T1, T2, T3) \u2026","version":"1.0","provider_url":"https://hatena.blog","height":"190","blog_title":"Faith and Brave - C++\u3067\u904a\u307c\u3046","categories":["C++"],"width":"100%","published":"2007-07-26 20:44:01","url":"https://faithandbrave.hateblo.jp/entry/20070726/1185450241","author_name":"faith_and_brave","author_url":"https://blog.hatena.ne.jp/faith_and_brave/","blog_url":"https://faithandbrave.hateblo.jp/","type":"rich","image_url":null,"title":" C++0x - Templates Aliases\u3067\u578b\u30ea\u30b9\u30c8","provider_name":"Hatena Blog"}