にゃははー

はへらー

boost::mpl::identity must go!

※boost::mpl::identityがなくなれって言ってるわけではありません。その使用方法の1つがってだけです。

http://gcc.gnu.org/ml/gcc-bugs/2011-07/msg01663.html
http://gcc.gnu.org/ml/gcc-bugs/2011-07/msg01664.html

上の2つのメールがあなたの目にはどのように映るだろうか。特になんとも思えなかった人は残念ながらこのページをとじることをおすすめする。

そして私と同じように御神託に見えた人。さぁめくるめくC++0xの次なる扉をくぐりに行こう。

なんかスゴそうだけどよくわからなかった人。以下の2つのコードを見て欲しい。

#include <boost/mpl/identity.hpp>

struct S { typedef int type; };
auto f() -> S;
boost::mpl::identity< decltype( f() ) >::type::type i = 0;
struct S { typedef int type; };
auto f() -> S;
decltype( f() )::type i = 0;

あなたはどっちを選ぶ。

(いい例が思いつかんかった...