#ifndef HOS_IO_BASE_H #define HOS_IO_BASE_H namespace hos::io { enum log_level { DEBUG, INFO, WARN, ERROR, FATAL }; /// Ah, the glorious CRTP... template class logger { public: logger (enum log_level level); void set_level (enum log_level level); void write (enum log_level level, const char *message, ...); protected: char buffer[512]; private: enum log_level level; }; } #endif