![](/img/trans.png)
[英]Different behavior of boost::mpl::or_ and boost::mpl::and_?
[英]testing if boost::mpl::or_ evaluates to true or false
如何测试or_
评估为true还是false?
说我有
typedef boost::mpl::or_<
boost::is_same<ExPolicy,sequential_execution_policy>,
boost::is_same<InIter, std::input_iterator_tag>,
boost::is_same<OutIter, std::output_iterator_tag>
> is_seq;
我该如何测试结果? 目前我试着做
auto h = is_seq();
if(h == boost::mpl::true_::value)
但是当我知道我的程序中至少有一个案例是真的时,一切都评估为假。 我该怎么做才能知道价值?
使用is_seq::value
。 例如:
template<typename T>
using type = boost::mpl::or_<
std::is_same<T, char>,
std::is_same<T, int>
>;
int main()
{
std::cout << type<int>::value << std::endl;
std::cout << type<long>::value << std::endl;
}
输出:
1
0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.