aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
-rw-r--r--kernel/kapi/devices/device.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp
index a05a1653..237183c9 100644
--- a/kernel/kapi/devices/device.cpp
+++ b/kernel/kapi/devices/device.cpp
@@ -93,11 +93,10 @@ namespace kapi::devices
{
auto guard = kstd::lock_guard{m_lock};
- auto numbered_resources = std::views::enumerate(m_resources);
- auto found = std::ranges::find_if(numbered_resources, [&](auto entry) {
- auto const & [number, resource] = entry;
- return resource.type == type && static_cast<std::size_t>(number) == index;
- });
+ auto filtered = std::views::filter(m_resources, [&](auto e) { return e.type == type; });
+ auto numbered_resources = std::views::enumerate(filtered);
+ auto found = std::ranges::find_if(
+ numbered_resources, [&](auto entry) { return static_cast<std::size_t>(std::get<0>(entry)) == index; });
if (found != numbered_resources.end())
{