65 template <
typename ReadPortType = ReadPort,
typename WritePortType = WritePort>
66 UART(ReadPortType* read_port, WritePortType* write_port)
83 template <
typename OperationType,
typename = std::enable_if_t<std::is_base_of_v<
85 ErrorCode Write(
ConstRawData data, OperationType&& op,
bool in_isr =
false)
87 return (*
write_port_)(data, std::forward<OperationType>(op), in_isr);
90 template <
typename OperationType,
typename = std::enable_if_t<std::is_base_of_v<
92 ErrorCode Read(
RawData data, OperationType&& op,
bool in_isr =
false)
94 return (*
read_port_)(data, std::forward<OperationType>(op), in_isr);