From a141c401f78467bc15f62882fca5d55a007cacbb Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Mon, 17 Feb 2025 00:21:48 +0100 Subject: Reorganize everything --- asl/io/print.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 asl/io/print.cpp (limited to 'asl/io/print.cpp') diff --git a/asl/io/print.cpp b/asl/io/print.cpp new file mode 100644 index 0000000..0161bd1 --- /dev/null +++ b/asl/io/print.cpp @@ -0,0 +1,31 @@ +#include "asl/io/print.hpp" + +#include + +// @Todo Optimize this, maybe make buffered +class ConsoleWriter : public asl::Writer +{ + FILE* m_handle; + +public: + explicit ConsoleWriter(FILE* handle) + : m_handle{handle} + {} + + void write(asl::span s) override + { + fwrite(s.data(), 1, static_cast(s.size()), m_handle); + } +}; + +asl::Writer* asl::print_internals::get_stdout_writer() +{ + static ConsoleWriter s_writer{stdout}; + return &s_writer; +} + +asl::Writer* asl::print_internals::get_stderr_writer() +{ + static ConsoleWriter s_writer{stderr}; + return &s_writer; +} -- cgit