libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gbl::StdException< StdType > Class Template Reference
Inheritance diagram for gbl::StdException< StdType >:
gbl::Exception gbl::CallRecord GblCallRecord

Public Member Functions

template<typename V >
requires std::is_constructible_v<CallRecord,V> && (std::is_default_constructible_v<StdType> && !std::is_constructible_v<StdType, const char*>)
 StdException (V &&v) noexcept
 
template<typename V1 , typename V2 >
requires std::is_constructible_v<CallRecord, V1> && std::is_constructible_v<StdType, V2>
 StdException (V1 &&v1, V2 &&v2) noexcept
 
template<typename V >
requires std::is_constructible_v<CallRecord,V> && std::is_constructible_v<StdType, const char*>
 StdException (V &&v) noexcept
 
virtual const char * what (void) const noexcept override
 
virtual const std::exception & asStdException (void) const override
 
virtual std::exception & asStdException (void) override
 
- Public Member Functions inherited from gbl::Exception
 Exception (const CallRecord &record) noexcept
 
 Exception (CallRecord &&record) noexcept
 
template<typename R >
requires (std::is_constructible_v<Result, R> && !std::same_as<Result, R>)
 CallRecord (R resultValue, const char *pMessage=nullptr, GblObject *pObject=nullptr, SourceLocation srcLoc={}) noexcept
 
 CallRecord (Result result, const char *pMessage=nullptr, GblObject *pObject=nullptr, SourceLocation srcLoc={}) noexcept
 
 CallRecord (const GblCallRecord &other)
 
- Public Member Functions inherited from gbl::CallRecord
template<typename R >
requires (std::is_constructible_v<Result, R> && !std::same_as<Result, R>)
 CallRecord (R resultValue, const char *pMessage=nullptr, GblObject *pObject=nullptr, SourceLocation srcLoc={}) noexcept
 
 CallRecord (Result result, const char *pMessage=nullptr, GblObject *pObject=nullptr, SourceLocation srcLoc={}) noexcept
 
 CallRecord (const GblCallRecord &other)
 
Handle * getHandle (void) const
 
Result getResult (void) const
 
const SourceLocationgetSource (void) const
 
const char * getMessage (void) const
 
std::string getSourceString (void) const
 
std::string toString (void) const
 
- Public Member Functions inherited from GblCallRecord
 GBL_ALIGNAS (8) char message[GBL_CTX_RESULT_MSG_BUFFER_SIZE]
 

Additional Inherited Members

- Static Public Member Functions inherited from gbl::Exception
static const CallRecordthrowException (const CallRecord &record)
 
static const CallRecordcheckThrow (const CallRecord &record)
 
static const CallRecordcheckThrow (std::invocable auto fn)
 
static CallRecord tryCatchRecord (std::invocable auto fn, SourceLocation loc=SourceLocation(SRC_FILE, nullptr, SRC_LN, SRC_COL)) noexcept
 
- Data Fields inherited from GblCallRecord
GblSourceLocation srcLocation
 
GBL_RESULT result
 

Detailed Description

template<typename StdType>
class gbl::StdException< StdType >

Definition at line 75 of file gimbal_exception.hpp.

Constructor & Destructor Documentation

◆ StdException() [1/3]

template<typename StdType >
template<typename V >
requires std::is_constructible_v<CallRecord,V> && (std::is_default_constructible_v<StdType> && !std::is_constructible_v<StdType, const char*>)
gbl::StdException< StdType >::StdException ( V &&  v)
inlinenoexcept

Definition at line 81 of file gimbal_exception.hpp.

81 :
82 Exception(std::move(v)) {}

◆ StdException() [2/3]

template<typename StdType >
template<typename V1 , typename V2 >
requires std::is_constructible_v<CallRecord, V1> && std::is_constructible_v<StdType, V2>
gbl::StdException< StdType >::StdException ( V1 &&  v1,
V2 &&  v2 
)
inlinenoexcept

Definition at line 86 of file gimbal_exception.hpp.

86 :
87 Exception(std::move(v1)),
88 StdType(std::forward<V2>(v2)) {}

◆ StdException() [3/3]

template<typename StdType >
template<typename V >
requires std::is_constructible_v<CallRecord,V> && std::is_constructible_v<StdType, const char*>
gbl::StdException< StdType >::StdException ( V &&  v)
inlinenoexcept

Definition at line 92 of file gimbal_exception.hpp.

92 :
93 Exception(std::move(v)),
94 StdType(getMessage()) {}

Member Function Documentation

◆ what()

template<typename StdType >
virtual const char * gbl::StdException< StdType >::what ( void  ) const
inlineoverridevirtualnoexcept

Reimplemented from gbl::Exception.

Definition at line 98 of file gimbal_exception.hpp.

98 {
99 return Exception::what();
100 }

◆ asStdException() [1/2]

template<typename StdType >
virtual const std::exception & gbl::StdException< StdType >::asStdException ( void  ) const
inlineoverridevirtual

Implements gbl::Exception.

Definition at line 102 of file gimbal_exception.hpp.

102 {
103 return *this;
104 }

◆ asStdException() [2/2]

template<typename StdType >
virtual std::exception & gbl::StdException< StdType >::asStdException ( void  )
inlineoverridevirtual

Implements gbl::Exception.

Definition at line 106 of file gimbal_exception.hpp.

106 {
107 return *this;
108 }

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