41 [[nodiscard]]
DeviceId id() const noexcept override;
44 [[nodiscard]] std::string_view
name() const noexcept override;
53 [[nodiscard]]
bool isReady() const noexcept override;
std::string_view name() const noexcept override
Returns the human-readable device name.
~ConsoleDevice() override
Destroys console device.
bool isReady() const noexcept override
Returns true if the device is ready for I/O operations.
Result< RegisterValue > read() override
Reads a value from the device.
ConsoleDevice()
Constructs console device in ready state.
ConsoleDevice(ConsoleDevice &&) noexcept
Move-constructs console device state.
std::unique_ptr< Impl > impl_
ConsoleDevice & operator=(const ConsoleDevice &)=delete
ConsoleDevice(const ConsoleDevice &)=delete
static constexpr DeviceId CONSOLE_DEVICE_ID
Default console device ID.
Result< void > write(RegisterValue value) override
Writes a value to the device.
A result type that holds either a success value of type T or an ErrorCode.
IDevice — abstract interface for I/O devices.
std::int32_t RegisterValue
Value stored in a CPU register.
std::uint16_t DeviceId
Unique identifier for an I/O device.