[英]Where is disable_if in C++0x?
Boost同时具有enable_if
和disable_if
,但C ++ 0x似乎缺少后者。 为什么遗漏了? 在C ++ 0x中是否有元编程工具允许我根据enable_if
构建disable_if
?
哦,我只是注意到std::enable_if
基本上是boost::enable_if_c
,并且在C ++ 0x中没有boost::enable_if
这样的东西。
冒着看似愚蠢的风险,只需执行!expression
而不是在enable_if
中的bool模板参数中expression
,使其行为类似于disable_if
? 当然,如果这个想法有效,你可以扩展它来写一个类似disable_if
的行为?
好的,我相信你可以像这样实现disable_if
:
template <bool B, typename T = void>
struct disable_if {
typedef T type;
};
template <typename T>
struct disable_if<true,T> {
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.