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<
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<
94 return (*
read_port_)(data, std::forward<OperationType>(op), in_isr);