Implement throw_on_error functionality, rename some template parameters

This commit is contained in:
ado
2023-06-29 23:41:03 +02:00
parent 3eefac93b1
commit eeac30651a
5 changed files with 124 additions and 53 deletions

30
include/ss/exception.hpp Normal file
View File

@@ -0,0 +1,30 @@
#pragma once
#include <exception>
#include <string>
namespace ss {
////////////////
// exception
////////////////
class exception : public std::exception {
std::string msg_;
public:
exception(const std::string& msg): msg_{msg} {
}
virtual char const* what() const noexcept {
return msg_.c_str();
}
};
template <bool throw_on_error>
void throw_if_throw_on_error(const std::string& msg) {
if constexpr (throw_on_error) {
throw ss::exception(msg);
}
}
} /* ss */