From 4bf9eded3a5d6b007ba79a5716143fa8b3a5aaf6 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 12 Dec 2025 14:26:16 +0100 Subject: kapi: move platform independent implementation --- kapi/src/cio.cpp | 57 -------------------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 kapi/src/cio.cpp (limited to 'kapi/src/cio.cpp') diff --git a/kapi/src/cio.cpp b/kapi/src/cio.cpp deleted file mode 100644 index 66493b6..0000000 --- a/kapi/src/cio.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "kapi/cio.hpp" - -#include -#include -#include - -namespace teachos::cio -{ - namespace - { - struct null_device final : public output_device - { - null_device static instance; - - auto write(std::string_view) -> void override {} - auto writeln(std::string_view) -> void override {} - - auto write_error(std::string_view) -> void override {} - auto writeln_error(std::string_view) -> void override {} - }; - - constinit null_device null_device::instance; - } // namespace - - // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) - constinit auto active_device = static_cast(&null_device::instance); - - 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 \ No newline at end of file -- cgit v1.2.3