Sane C++ Libraries
C++ Platform Abstraction Libraries
Loading...
Searching...
No Matches
SC::ResultPlugin Struct Reference

Plugin result retaining a stable operation detail and one scalar diagnostic context. More...

#include <PluginError.h>

Public Member Functions

constexpr ResultPlugin (bool valid=true)
 
constexpr ResultPlugin (PluginError error, PluginErrorDetail detail=PluginErrorDetail::None)
 
constexpr ResultPlugin (PluginError error, PluginErrorDetail detail, PluginErrorContextKind contextKind, PluginErrorContext context)
 
constexpr ResultPlugin (Result result)
 
template<typename ResultLike >
constexpr ResultPlugin (const ResultLike &other)
 
constexpr operator bool () const
 
constexpr operator Result () const
 
constexpr Result toResult () const
 
constexpr bool isError (PluginError error) const
 

Static Public Member Functions

static constexpr ResultPlugin withNativeError (PluginError error, PluginErrorDetail detail, uint32_t nativeError)
 
static constexpr ResultPlugin withExitCode (PluginError error, PluginErrorDetail detail, int32_t exitCode)
 
static constexpr ResultPlugin withRequiredBytes (PluginError error, PluginErrorDetail detail, uint32_t requiredBytes)
 
static constexpr ResultPlugin withRequiredElements (PluginError error, PluginErrorDetail detail, uint32_t requiredElements)
 

Public Attributes

Result result
 
PluginErrorDetail detail = PluginErrorDetail::None
 
PluginErrorContextKind contextKind = PluginErrorContextKind::None
 
PluginErrorContext context = {}
 

Detailed Description

Plugin result retaining a stable operation detail and one scalar diagnostic context.

The composed Result is authoritative. Plain and foreign conversions clear Plugin-specific context, while same-domain copies retain it. Conversion to Result preserves only the category/error identity.


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