Init
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#include <sonus/detail/errors.hpp>
|
||||
|
||||
#include <cassert>
|
||||
#include <cstdint>
|
||||
#include <expected>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include <modulus.hpp>
|
||||
|
||||
auto sonus::detail::make_error(std::int32_t code, std::string message, modulus::source_location location) -> modulus::error {
|
||||
return modulus::make_error("sonus", code, std::move(message), location);
|
||||
}
|
||||
|
||||
auto sonus::detail::fail_void(modulus::error error) -> std::expected<void, modulus::error> {
|
||||
return std::unexpected(std::move(error));
|
||||
}
|
||||
|
||||
auto sonus::detail::fail_void(std::int32_t code, std::string message, modulus::source_location location) -> std::expected<void, modulus::error> {
|
||||
return sonus::detail::fail_void(sonus::detail::make_error(code, std::move(message), location));
|
||||
}
|
||||
|
||||
auto sonus::detail::fail_void(std::expected<void, modulus::error> const& result) -> std::expected<void, modulus::error> {
|
||||
assert(!result);
|
||||
return sonus::detail::fail_void(result.error());
|
||||
}
|
||||
Reference in New Issue
Block a user