Add output stream interface

This commit is contained in:
Attila Body 2025-06-29 17:04:37 +02:00
parent e5eac07702
commit c0a28fc242
Signed by: abody
GPG key ID: BD0C6214E68FB5CF

20
inc/f4ll/output_stream.h Normal file
View file

@ -0,0 +1,20 @@
#pragma once
#include <cstdint>
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;
};
}