Common handling of the error case for RResult<T> (T != void) and RResult<void>
RResultBase captures a possible runtime error that might have occured. If the RResultBase leaves the scope unchecked, it will throw an exception. RResultBase should only be allocated on the stack, which is helped by deleting the new operator. RResultBase is movable but not copyable to avoid throwing multiple exceptions about the same failure.
Definition at line 135 of file RError.hxx.
Public Member Functions | |
RResultBase (const RResultBase &other)=delete | |
RResultBase (RResultBase &&other)=default | |
~RResultBase () noexcept(false) | |
RError * | GetError () |
void * | operator new (std::size_t size)=delete |
void * | operator new (std::size_t, void *)=delete |
void * | operator new[] (std::size_t)=delete |
void * | operator new[] (std::size_t, void *)=delete |
RResultBase & | operator= (const RResultBase &other)=delete |
RResultBase & | operator= (RResultBase &&other)=default |
void | Throw () |
Throws an RException with fError. More... | |
Protected Member Functions | |
RResultBase ()=default | |
RResultBase (RError &&error) | |
bool | Check () |
Used by the RResult<T> bool operator. More... | |
Protected Attributes | |
std::unique_ptr< RError > | fError |
This is the nullptr for an RResult representing success. More... | |
bool | fIsChecked {false} |
Switches to true once the user of an RResult object checks the object status. More... | |
#include <ROOT/RError.hxx>
|
protecteddefault |
|
inlineexplicitprotected |
Definition at line 143 of file RError.hxx.
|
delete |
|
default |
|
noexcept |
Definition at line 51 of file RError.cxx.
|
inlineprotected |
Used by the RResult<T> bool operator.
Definition at line 146 of file RError.hxx.
|
inline |
Definition at line 159 of file RError.hxx.
|
delete |
|
delete |
|
delete |
|
default |
void ROOT::Experimental::Internal::RResultBase::Throw | ( | ) |
Throws an RException with fError.
Definition at line 69 of file RError.cxx.
|
protected |
This is the nullptr for an RResult representing success.
Definition at line 138 of file RError.hxx.
|
protected |
Switches to true once the user of an RResult object checks the object status.
Definition at line 140 of file RError.hxx.