Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
dispatch_count.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <cstddef>
7#include <type_traits>
8#include <utility>
9
10namespace pulp::runtime {
11
26template <std::size_t Max, typename Fn> constexpr bool dispatch_count(std::size_t n, Fn&& fn) {
27 static_assert(Max > 0, "dispatch_count needs at least one count");
28 return [&]<std::size_t... I>(std::index_sequence<I...>) {
29 return ((n == I + 1 ? (fn(std::integral_constant<std::size_t, I + 1>{}), true) : false) ||
30 ...);
31 }(std::make_index_sequence<Max>{});
32}
33
34} // namespace pulp::runtime
Definition generated_event_source.hpp:33
constexpr bool dispatch_count(std::size_t n, Fn &&fn)
Call fn(std::integral_constant<std::size_t, n>{}) for a run-time n in [1, Max], so a kernel can be in...
Definition dispatch_count.hpp:26