diff options
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
| -rw-r--r-- | kernel/kapi/devices/device.cpp | 9 |
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()) { |
