gpt4 book ai didi

c++ - 如何在 OR 条件下使用 BOOST_STATIC_ASSERT

转载 作者:行者123 更新时间:2023-11-30 03:21:40 25 4
gpt4 key购买 nike

比如我有

BOOST_STATIC_ASSERT(
boost::has_range_iterator<T>::value,
);

但我还有其他类型,范围与我可以检测到的范围类似

is_foo_type::value

如何将两者结合起来作为析取。即在伪代码中

BOOST_STATIC_ASSERT(
std::or<
boost::has_range_iterator<T>::value,
is_foo_type<T>::value
>::value
);

最佳答案

C++17 开始,您可以使用类型特征 std::disjunction :

BOOST_STATIC_ASSERT(
std::disjunction_v<
boost::has_range_iterator<T>::value,
is_foo_type<T>::value
>
);

C++17 之前,您必须使用 ||,正如@StoryTeller 提到的:

BOOST_STATIC_ASSERT(boost::has_range_iterator<T>::value || is_foo_type<T>::value);

关于c++ - 如何在 OR 条件下使用 BOOST_STATIC_ASSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51961771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com