Remove dumb overloads of atomic_op, fetch_op
And lf_queue::apply. Fix inlining problem by passing F by value.
This commit is contained in:
+2
-16
@@ -388,27 +388,13 @@ public:
|
||||
|
||||
// Apply func(data) to each element, return the total length
|
||||
template <typename F>
|
||||
std::size_t apply(F&& func)
|
||||
std::size_t apply(F func)
|
||||
{
|
||||
std::size_t count = 0;
|
||||
|
||||
for (auto slice = pop_all(); slice; slice.pop_front())
|
||||
{
|
||||
std::invoke(std::forward<F>(func), *slice);
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
// apply() overload for callable template argument
|
||||
template <auto F>
|
||||
std::size_t apply()
|
||||
{
|
||||
std::size_t count = 0;
|
||||
|
||||
for (auto slice = pop_all(); slice; slice.pop_front())
|
||||
{
|
||||
std::invoke(F, *slice);
|
||||
std::invoke(func, *slice);
|
||||
}
|
||||
|
||||
return count;
|
||||
|
||||
Reference in New Issue
Block a user