07/10/01 03:28:24
>>110が理解できず、独自に考察を進め中。
template<int V>
static void boo(typename boost::enable_if_c<V == 0>::type* = 0) {}
は、
template<int V>
static void boo(typename boost::enable_if<
boost::is_same<
boost::mpl::int_<V>,
boost::mpl::int_<0>
>
>::type* = 0) {}
であり、さらに
template<int V>
static void boo(typename boost::enable_if<
typename boost::mpl::lambda<
boost::is_same<
boost::mpl::_1,
boost::mpl::int_<0>
>
>::type::apply<boost::mpl::int_<V> >::type
>::type* = 0) {}
だから、この数値0-Nでlambdaしたのをmpl::listで抱えて、特殊化版はlistのat<i>したのでenable_ifして、default版はこれらをandでfoldしたのにdisable_ifすればいいと思うんだぜ?
・・・絶対方向が間違ってる。