Predicate: can this driver match a (single- or multi-pin) request?
- Note
- Delegates to free fl::canMatch on the published capability data (getDriverCapabilities / getPinGroups, which drivers override). Non-virtual on purpose: as a virtual it sat in every driver vtable, so the whole matcher linked into every sketch even though nothing calls it (#4800).
-
A single-pin request has exactly one bit set in request.data_pins (use ChannelRequest::singlePin() factory).
Definition at line 270 of file driver.h.
270 {
272 }
virtual DriverCapabilities getDriverCapabilities() const FL_NO_EXCEPT
Driver-wide capability descriptor (declarative form).
virtual fl::span< const PinGroup > getPinGroups() const FL_NO_EXCEPT
Per-resource group enumeration.
HandleResult canMatch(const DriverCapabilities &caps, fl::span< const PinGroup > groups, const ChannelRequest &request) FL_NO_EXCEPT
Test a request (single-pin OR multi-pin ganged) against a driver's published capability data.
References fl::canMatch(), fl::FL_NO_EXCEPT, getDriverCapabilities(), and getPinGroups().