VC++8.0以降には
std::_If(boost::mpl::if_c相当のもの)
#include <iostream> int main() { std::_If<sizeof(int) == 4, int, long>::_Result value = 30; std::cout << typeid(value).name() << std::endl; return 0; }
boost::mpl::if_cを使った場合
#include <iostream> #include <boost/mpl/if.hpp> int main() { boost::mpl::if_c<sizeof(int) == 4, int, long>::type value = 30; std::cout << typeid(value).name() << std::endl; return 0; }
std::_Enable_Ifもありましたが、type_traitsがないのでいまいち役に立ちません