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; +}; +}