src/base/outcome_throw.hpp¶
Namespaces¶
| Name |
|---|
| sgns |
| sgns::base |
Functions¶
| Name | |
|---|---|
| template <typename T ,typename =std::enable_if_t void |
raise(T t) throws outcome::result error as boost exception |
| template <typename T ,typename =std::enable_if_t<!std::is_enum_v void |
raise(const T & t) throws outcome::result error made of error as boost exception |
Functions Documentation¶
function raise¶
throws outcome::result error as boost exception
Parameters:
- t error value
Template Parameters:
- T enum error type, only outcome::result enums are allowed
function raise¶
throws outcome::result error made of error as boost exception
Parameters:
- t outcome error value
Template Parameters:
- T outcome error type
Source code¶
#ifndef SUPERGENIUS_SRC_COMMON_OUTCOME_THROW_HPP
#define SUPERGENIUS_SRC_COMMON_OUTCOME_THROW_HPP
#include <boost/system/system_error.hpp>
#include <boost/throw_exception.hpp>
namespace sgns::base {
template <typename T, typename = std::enable_if_t<std::is_enum_v<T>>>
void raise(T t) {
std::error_code ec = make_error_code(t);
boost::throw_exception(std::system_error(ec));
}
template <typename T, typename = std::enable_if_t<!std::is_enum_v<T>>>
void raise(const T &t) {
boost::throw_exception(std::system_error(t.value(), t.category()));
}
} // namespace sgns::base
#endif // SUPERGENIUS_SRC_COMMON_OUTCOME_THROW_HPP
Updated on 2026-03-04 at 13:10:44 -0800