From c0a28fc242589a2f17d792c8ad52764047af7fa0 Mon Sep 17 00:00:00 2001 From: Attila Body Date: Sun, 29 Jun 2025 17:04:37 +0200 Subject: [PATCH] Add output stream interface --- inc/f4ll/output_stream.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 inc/f4ll/output_stream.h diff --git a/inc/f4ll/output_stream.h b/inc/f4ll/output_stream.h new file mode 100644 index 0000000..7440f8a --- /dev/null +++ b/inc/f4ll/output_stream.h @@ -0,0 +1,20 @@ +#pragma once +#include + +namespace f4ll { +class ioutput_stream +{ +public: + enum class format { dec, hex_padded, hex_trimmed }; + + virtual ioutput_stream &operator<<(format fmt) = 0; + virtual ioutput_stream &operator<<(char const *str) = 0; + virtual ioutput_stream &operator<<(char chr) = 0; + virtual ioutput_stream &operator<<(uint8_t byte) = 0; + virtual ioutput_stream &operator<<(uint16_t ui16) = 0; + virtual ioutput_stream &operator<<(int16_t i16) = 0; + virtual ioutput_stream &operator<<(uint32_t ui32) = 0; + virtual ioutput_stream &operator<<(int32_t i32) = 0; + virtual ~ioutput_stream() = default; +}; +}