【发布时间】:2016-10-25 06:44:23
【问题描述】:
假设我有一个std::tuple:
std::tuple<Types...> myTuple;
// fill myTuple with stuff
现在我想知道 func 是否为 lambda 中的任何元素返回 true,其中 func 是某个 lambda,例如:
auto func = [](auto&& x) -> bool { return someOperation(x); }
我该怎么做?请注意,Types... 可能很大,所以我不想每次都遍历 all 元素。
【问题讨论】:
-
好像是this的副本。
-
@m8mble 我添加了一行来强调为什么这是不同的(基本上这是
for_each和any_of之间的区别 - 当你找到它时停止在元素上)。 -
那些看起来不像可行的欺骗目标。你想要什么作为返回类型?
variant?size_t索引? -
std::apply([](auto&&... args) { return (someOperation(decltype(args)(args)) || ...); }, myTuple);