diff options
Diffstat (limited to 'kapi/src/cio.cpp')
| -rw-r--r-- | kapi/src/cio.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
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 <optional> -#include <string_view> -#include <utility> - -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<output_device *>(&null_device::instance); - - auto set_output_device(output_device & device) -> std::optional<output_device *> - { - 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 |
