cuSBF
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cusbf::Error Struct Reference

Error payload carried in Result on failure. More...

#include <error.hpp>

Public Member Functions

ErrorCategory category () const noexcept
 
const std::string & message () const noexcept
 
const CudaErroras_cuda () const noexcept
 
const IoErroras_io () const noexcept
 
const FastxParseErroras_fastx_parse () const noexcept
 
const InvalidArgumentErroras_invalid_argument () const noexcept
 
const ResourceErroras_resource () const noexcept
 

Static Public Member Functions

static Error cuda (cudaError_t code, std::source_location location=std::source_location::current())
 
static Error io (std::string message)
 
static Error fastx_parse (SourceLocation site, std::string_view detail)
 
static Error invalid_argument (std::string message)
 
static Error resource (std::string message)
 

Public Attributes

std::variant< CudaError, IoError, FastxParseError, InvalidArgumentError, ResourceErrorkind
 

Detailed Description

Error payload carried in Result on failure.

Definition at line 76 of file error.hpp.

Member Function Documentation

◆ as_cuda()

const CudaError * cusbf::Error::as_cuda ( ) const
inlinenoexcept

Definition at line 89 of file error.hpp.

89 {
90 return std::get_if<CudaError>(&kind);
91 }
std::variant< CudaError, IoError, FastxParseError, InvalidArgumentError, ResourceError > kind
Definition error.hpp:77

◆ as_fastx_parse()

const FastxParseError * cusbf::Error::as_fastx_parse ( ) const
inlinenoexcept

Definition at line 97 of file error.hpp.

97 {
98 return std::get_if<FastxParseError>(&kind);
99 }

◆ as_invalid_argument()

const InvalidArgumentError * cusbf::Error::as_invalid_argument ( ) const
inlinenoexcept

Definition at line 101 of file error.hpp.

101 {
102 return std::get_if<InvalidArgumentError>(&kind);
103 }

◆ as_io()

const IoError * cusbf::Error::as_io ( ) const
inlinenoexcept

Definition at line 93 of file error.hpp.

93 {
94 return std::get_if<IoError>(&kind);
95 }

◆ as_resource()

const ResourceError * cusbf::Error::as_resource ( ) const
inlinenoexcept

Definition at line 105 of file error.hpp.

105 {
106 return std::get_if<ResourceError>(&kind);
107 }

◆ category()

ErrorCategory cusbf::Error::category ( ) const
inlinenoexcept

Definition at line 79 of file error.hpp.

79 {
80 return static_cast<ErrorCategory>(kind.index());
81 }
ErrorCategory
Error category for Result failures.
Definition error.hpp:67

◆ cuda()

static Error cusbf::Error::cuda ( cudaError_t  code,
std::source_location  location = std::source_location::current() 
)
inlinestatic

Definition at line 110 of file error.hpp.

110 {
111 const SourceLocation site = SourceLocation::from(location);
112 return Error{CudaError{
113 code,
114 site,
115 std::format("{}: {}", site.to_string(), cudaGetErrorString(code)),
116 }};
117 }
static SourceLocation from(std::source_location location)
Definition error.hpp:25
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fastx_parse()

static Error cusbf::Error::fastx_parse ( SourceLocation  site,
std::string_view  detail 
)
inlinestatic

Definition at line 123 of file error.hpp.

123 {
124 const std::string location_text = site.to_string();
125 return Error{FastxParseError{
126 std::move(site),
127 std::format("{}: {}", location_text, detail),
128 }};
129 }
Here is the call graph for this function:

◆ invalid_argument()

static Error cusbf::Error::invalid_argument ( std::string  message)
inlinestatic

Definition at line 131 of file error.hpp.

131 {
132 return Error{InvalidArgumentError{std::move(message)}};
133 }
const std::string & message() const noexcept
Definition error.hpp:83
Here is the call graph for this function:
Here is the caller graph for this function:

◆ io()

static Error cusbf::Error::io ( std::string  message)
inlinestatic

Definition at line 119 of file error.hpp.

119 {
120 return Error{IoError{std::move(message)}};
121 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ message()

const std::string & cusbf::Error::message ( ) const
inlinenoexcept

Definition at line 83 of file error.hpp.

83 {
84 return std::visit(
85 [](const auto& error) -> const std::string& { return error.message; }, kind
86 );
87 }
Here is the caller graph for this function:

◆ resource()

static Error cusbf::Error::resource ( std::string  message)
inlinestatic

Definition at line 135 of file error.hpp.

135 {
136 return Error{ResourceError{std::move(message)}};
137 }
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kind

std::variant<CudaError, IoError, FastxParseError, InvalidArgumentError, ResourceError> cusbf::Error::kind

Definition at line 77 of file error.hpp.


The documentation for this struct was generated from the following file: