Assert that the address is in range for a MemDevice. Takes two args, the first is a
MemDevice type, the second is the identifier for an Addr. Note that the MemDevice
should be the explicit type rather than Self for the device type to get better error
messages.
Dispatch a memdev read/write for a single byte to handlers based on their address.
Dispatch a memdev read/write over multiple bytes to handlers based on their address.
Implement the memdev range functions from the single-byte reader functions. This
effectively does the reverse of the default implementation of read_byte_relative.
Build a MemDevice from fields of a struct.