|
dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
|
which devices a bus takes: any of its dictionaries whose every verb the device states alike, an empty dictionary every device More...
#include <dx_match.h>
Public Types | |
| typedef std::map<std::string, value> | dictionary |
| typedef std::variant<std::string, uint32_t> | value |
Public Member Functions | |
| catch(const std::exception &) | |
| template<typename desc_t, size_t size> | |
| match(const desc_t(& descs)[size], const dictionary& common= {}) | |
| the devices the descs name - per desc its bus's ids, or the names it publishes - every dictionary with the common verbs beside | |
| template<typename lookup_t> | |
| bool | operator ()(const lookup_t& lookup) const |
Static Public Member Functions | |
| static bool | equal(const valuevalue& stated, const valuevalue& valuevalue) |
| the device's value against the match's: a number alike or read from the text, a text matching the expression | |
| template<typename desc_t> | |
| static std::optional<value> | of(const desc_t& desc, const std::string& verb) |
| what a desc states of a verb: its names, its bus's ids and serial number, a device its puuid | |
Public Attributes | |
| K | keys |
| STL member. | |
Static Public Attributes | |
| static constexpr auto | interface_class{"InterfaceClassGuid"} |
| the device interface class a path belongs to | |
| static constexpr auto | model{"model"} |
| static constexpr auto | path{"path"} |
| the whole path, a software device's enumerator and instance among it (SWD#<id>#...) | |
| static constexpr auto | puuid{"puuid"} |
| static constexpr auto | vendor{"vendor"} |
| the identity a desc names that no system states: the names the device publishes, its dxd identity | |
which devices a bus takes: any of its dictionaries whose every verb the device states alike, an empty dictionary every device
A verb is the name the device's system gives what it states - IOKit's idVendor, a CoreAudio selector's four characters, a registry value's name -, a bus whose system names nothing names it itself (a Windows hardware id's VID). A value is a number or a text, a text in the match a regular expression over the whole value, regardless of case, read as a number where the device states one. The bus answers every verb ahead of the device, from its system or from a desc it holds (of): a verb neither states takes no device, so no device is started to be asked.
The type is named as a whole: it is constructed from descs, which no level of it could be alone.
| typedef std::map<std::string, value> dx::match::dictionary |
| typedef std::variant<std::string, uint32_t> dx::match::value |
|
inline |
the devices the descs name - per desc its bus's ids, or the names it publishes - every dictionary with the common verbs beside
|
inline |
the device's value against the match's: a number alike or read from the text, a text matching the expression
|
inlinestatic |
what a desc states of a verb: its names, its bus's ids and serial number, a device its puuid
|
inline |
whether the match takes the device: lookup(verb) what the bus's system or a desc it holds states of it, none where neither states the verb
|
staticconstexpr |
the device interface class a path belongs to
|
inherited |
STL member.
|
static |
|
staticconstexpr |
the whole path, a software device's enumerator and instance among it (SWD#<id>#...)
|
static |
|
staticconstexpr |
the identity a desc names that no system states: the names the device publishes, its dxd identity