Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework
master (f31105fd)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerations
a
c
d
e
f
i
l
m
n
o
p
q
r
s
t
v
Enumerator
a
b
c
d
e
f
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Properties
Related Functions
:
a
b
c
d
e
g
h
i
m
o
p
r
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
b
c
e
f
g
h
i
l
m
n
o
p
r
s
t
u
z
Variables
a
b
c
d
e
g
h
i
m
o
p
q
r
s
t
v
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
Enumerations
Enumerator
c
e
f
p
u
v
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
StatusCode.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#define GAUDIKERNEL_STATUSCODE_CPP 1
12
13
#include <
GaudiKernel/Bootstrap.h
>
14
#include <
GaudiKernel/GaudiException.h
>
15
#include <
GaudiKernel/IMessageSvc.h
>
16
#include <
GaudiKernel/ISvcLocator.h
>
17
#include <
GaudiKernel/MsgStream.h
>
18
#include <
GaudiKernel/StatusCode.h
>
19
#include <
GaudiKernel/System.h
>
20
#include <exception>
21
22
constexpr
const
StatusCode::ErrorCode
StatusCode::SUCCESS
;
23
constexpr
const
StatusCode::ErrorCode
StatusCode::FAILURE
;
24
constexpr
const
StatusCode::ErrorCode
StatusCode::RECOVERABLE
;
25
26
namespace
{
28
struct
DefaultCategory :
public
StatusCode::Category
{
29
30
const
char
*
name
()
const override
{
return
"Gaudi"
; }
31
32
std::string
message
(
StatusCode::code_t
code )
const override
{
33
switch
(
static_cast<
StatusCode::ErrorCode
>
( code ) ) {
34
case
StatusCode::ErrorCode::SUCCESS
:
35
return
"SUCCESS"
;
36
case
StatusCode::ErrorCode::FAILURE
:
37
return
"FAILURE"
;
38
case
StatusCode::ErrorCode::RECOVERABLE
:
39
return
"RECOVERABLE"
;
40
default
:
41
return
"UNKNOWN("
+
std::to_string
( code ) +
")"
;
42
}
43
}
44
};
45
}
// namespace
46
47
STATUSCODE_ENUM_IMPL
(
StatusCode::ErrorCode
, DefaultCategory )
48
49
void
StatusCode
::i_doThrow(
std
::string_view
message
,
std
::string_view tag )
const
{
50
throw
GaudiException
{
std::string
{
message
},
std::string
{ tag }, *
this
};
51
}
StatusCode::ErrorCode::SUCCESS
@ SUCCESS
precedence.message
message
Definition:
precedence.py:19
std::string
STL class.
System.h
GaudiException.h
GaudiException
Definition:
GaudiException.h:32
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition:
StatusCode.h:67
StatusCode.h
IMessageSvc.h
StatusCode
Definition:
StatusCode.h:65
StatusCode::Category
Definition:
StatusCode.h:78
std::to_string
T to_string(T... args)
StatusCode::ErrorCode
ErrorCode
Definition:
StatusCode.h:69
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition:
StatusCode.h:100
StatusCode::ErrorCode::RECOVERABLE
@ RECOVERABLE
STATUSCODE_ENUM_IMPL
#define STATUSCODE_ENUM_IMPL(...)
Assign a category to the StatusCode enum declared with STATUSCODE_ENUM_DECL( ENUM )
Definition:
StatusCode.h:296
std
STL namespace.
StatusCode::ErrorCode::FAILURE
@ FAILURE
Bootstrap.h
StatusCode::Category::name
virtual const char * name() const =0
Name of the category.
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition:
StatusCode.h:101
ISvcLocator.h
StatusCode::RECOVERABLE
constexpr static const auto RECOVERABLE
Definition:
StatusCode.h:102
MsgStream.h
StatusCode::Category::message
virtual std::string message(code_t code) const
Description for code within this category.
Definition:
StatusCode.h:86
GaudiKernel
src
Lib
StatusCode.cpp
Generated on Mon Apr 7 2025 16:26:24 for The Gaudi Framework by
1.8.18