#pragma once #include #include class Loggable { public: enum Severity { debug, info, minor, major, warning, error, fatal }; typedef std::pair Message; Loggable(Severity severity); ~Loggable(); void log (Severity severity, const std::string& comment) const; std::list getHistory() const; private: const Severity currentSeverity; mutable std::list history; };