diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-13 14:35:27 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-13 14:35:27 +0100 |
commit | 1df510f4a2dbe0fcb8c9f8a34695abf8d33f9ddc (patch) | |
tree | 2a901a09957abe1363f5b21ee259036f23f66087 /src/crepe/Exception.h | |
parent | daf2a06ac778f203e1473431afe09476e8182f65 (diff) |
update logging to use C++20 format and classes
Diffstat (limited to 'src/crepe/Exception.h')
-rw-r--r-- | src/crepe/Exception.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/crepe/Exception.h b/src/crepe/Exception.h index 80af068..ed3ab15 100644 --- a/src/crepe/Exception.h +++ b/src/crepe/Exception.h @@ -2,21 +2,31 @@ #include <exception> #include <string> +#include <format> namespace crepe { -//! Exception class with printf-style constructor +//! Exception class class Exception : public std::exception { public: - //! printf - Exception(const char * fmt, ...); + //! Exception with plain message + Exception(const std::string & msg); + + //! Exception with \c std::format message + template<class... Args> + Exception(std::format_string<Args...> fmt, Args&&... args); + //! Get formatted error message const char * what() const noexcept; protected: Exception() = default; + //! Formatted error message std::string error; }; } // namespace crepe + +#include "Exception.hpp" + |