exception: Make constructors explicit
Ensures that exception construction is always explicit.
This commit is contained in:
		| @@ -36,21 +36,21 @@ private: | ||||
| class LogicError : public Exception { | ||||
| public: | ||||
|     template <typename... Args> | ||||
|     LogicError(const char* message, Args&&... args) | ||||
|     explicit LogicError(const char* message, Args&&... args) | ||||
|         : Exception{fmt::format(fmt::runtime(message), std::forward<Args>(args)...)} {} | ||||
| }; | ||||
|  | ||||
| class RuntimeError : public Exception { | ||||
| public: | ||||
|     template <typename... Args> | ||||
|     RuntimeError(const char* message, Args&&... args) | ||||
|     explicit RuntimeError(const char* message, Args&&... args) | ||||
|         : Exception{fmt::format(fmt::runtime(message), std::forward<Args>(args)...)} {} | ||||
| }; | ||||
|  | ||||
| class NotImplementedException : public Exception { | ||||
| public: | ||||
|     template <typename... Args> | ||||
|     NotImplementedException(const char* message, Args&&... args) | ||||
|     explicit NotImplementedException(const char* message, Args&&... args) | ||||
|         : Exception{fmt::format(fmt::runtime(message), std::forward<Args>(args)...)} { | ||||
|         Append(" is not implemented"); | ||||
|     } | ||||
| @@ -59,7 +59,7 @@ public: | ||||
| class InvalidArgument : public Exception { | ||||
| public: | ||||
|     template <typename... Args> | ||||
|     InvalidArgument(const char* message, Args&&... args) | ||||
|     explicit InvalidArgument(const char* message, Args&&... args) | ||||
|         : Exception{fmt::format(fmt::runtime(message), std::forward<Args>(args)...)} {} | ||||
| }; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user