1 #ifndef GAUDIKERNEL_STATUSCODE_H 2 #define GAUDIKERNEL_STATUSCODE_H 39 m_severity = std::make_shared<const IssueSeverity>(
std::move( sev ) );
52 StatusCode(
unsigned long code,
bool checked =
false ) : d_code( code ), m_checked( checked ) {}
54 StatusCode(
const StatusCode& rhs ) : d_code( rhs.d_code ), m_checked( rhs.m_checked ), m_severity( rhs.m_severity )
61 : d_code( rhs.d_code ), m_checked( rhs.m_checked ), m_severity(
std::move( rhs.m_severity ) )
69 if (
UNLIKELY( s_checking ) ) check();
90 return ( d_code == RECOVERABLE );
112 operator unsigned long()
const {
return getCode(); }
125 if (
this == &rhs )
return *
this;
183 mutable bool m_checked =
false;
195 return s <<
"SUCCESS";
198 return s <<
"RECOVERABLE";
204 #endif // GAUDIKERNEL_STATUSCODES_H StatusCode(unsigned long code, IssueSeverity &&sev)
StatusCode(unsigned long code, bool checked=false)
void setCode(unsigned long value)
Set the status code by value.
unsigned long getCode() const
Get the status code by value.
bool isSuccess() const
Test for a status code of SUCCESS.
bool m_checked
If the Status code has been checked.
static GAUDI_API void enableChecking()
std::ostream & operator<<(std::ostream &s, const StatusCode &sc)
bool isFailure() const
Test for a status code of FAILURE.
friend bool operator<(const StatusCode &a, const StatusCode &b)
Comparison operator.
This class is used for returning status codes from appropriate routines.
Simple RAII class to ignore unchecked StatusCode instances in a scope.
StatusCode(IssueSeverity &&is)
The IMessage is the interface implemented by the message service.
static bool s_checking
Global flag to control if StatusCode need to be checked.
unsigned long d_code
The status code.
bool isRecoverable() const
StatusCode(const StatusCode &rhs)
StatusCode & operator=(const StatusCode &rhs)
static GAUDI_API void disableChecking()
friend bool operator>(const StatusCode &a, const StatusCode &b)
Comparison operator.
StatusCode(StatusCode &&rhs) noexcept
Move constructor.
std::shared_ptr< const IssueSeverity > m_severity
Pointer to a IssueSeverity.
void setChecked() const
Ignore the checking code;.
StatusCode & operator=(unsigned long value)
Assignment operator.