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;
あなたはどっちを選ぶ。
(いい例が思いつかんかった...