#include "kapi/cio.hpp" #include #include namespace teachos::cio { auto constinit null_device = output_device{}; auto constinit active_device = &null_device; auto set_output_device(output_device & device) -> std::optional { if (&device == active_device) { return {}; } return std::exchange(active_device, &device); } auto print(std::string_view text) -> void { active_device->write(text); } auto println(std::string_view text) -> void { active_device->writeln(text); } auto print_error(std::string_view text) -> void { active_device->write_error(text); } auto println_error(std::string_view text) -> void { active_device->writeln_error(text); } } // namespace teachos::cio