给出foo
是vector
,我想用all_of
评估它的内容。但是我真正要检查的是,每个元素的求值结果为true
。
我可以通过使用logical_not
和none_of
来做到这一点,但我宁愿不使用双负数,并且写lambda感觉很愚蠢:[](const auto param) -> bool { return param; }
该标准是否为我提供了我想要的函子?
答案 0 :(得分:6)
您正在寻找的是std::identity
,它已添加到C ++ 20中。它接受一个参数,并保持不变。 operator()
看起来像
template<typename T>
constexpr T&& operator()( T&& t ) const noexcept;
它返回
std::forward<T>(t)