alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
filter.hpp
Go to the documentation of this file.
1/* Copyright 2024 René Widera
2 * SPDX-License-Identifier: MPL-2.0
3 */
4
5#include <functional>
6#include <tuple>
7#include <utility>
8
9#pragma once
10
11namespace alpaka::meta
12{
13 constexpr auto filter(auto const unaryConditionFn, auto const list)
14 {
15 return std::apply(
16 [=](auto... ts) constexpr
17 {
18 return std::tuple_cat(
19 std::conditional_t<unaryConditionFn(ts), std::tuple<decltype(ts)>, std::tuple<>>{}...);
20 },
21 list);
22 }
23} // namespace alpaka::meta
constexpr auto filter(auto const unaryConditionFn, auto const list)
Definition filter.hpp:13