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
IDataStoreAgent.h
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
#ifndef GAUDIKERNEL_IDATASTOREAGENT_H
12
#define GAUDIKERNEL_IDATASTOREAGENT_H
13
14
// Framework include files
15
#include <
GaudiKernel/Kernel.h
>
16
#include <functional>
17
18
// Forward declarations:
19
class
IRegistry
;
20
27
class
GAUDI_API
IDataStoreAgent
{
28
public
:
30
virtual
~IDataStoreAgent
() =
default
;
31
35
virtual
bool
analyse
(
IRegistry
* pObject,
int
level
) = 0;
36
};
37
38
namespace
details
{
39
template
<
typename
F>
40
class
GenericDataStoreAgent
final :
public
IDataStoreAgent
{
41
F
f
;
42
43
public
:
44
template
<
typename
G>
45
GenericDataStoreAgent
( G&&
g
) :
f
{ std::forward<G>(
g
) } {}
46
47
bool
analyse
(
IRegistry
* pObj,
int
level
)
override
{
return
std::invoke(
f
, pObj,
level
); }
48
};
49
}
// namespace details
50
51
template
<
typename
F>
52
::details::GenericDataStoreAgent<F>
makeDataStoreAgent
( F&& f ) {
53
return
{ std::forward<F>( f ) };
54
}
55
56
#endif // GAUDIKERNEL_IDATASTOREAGENT_H
details::GenericDataStoreAgent::GenericDataStoreAgent
GenericDataStoreAgent(G &&g)
Definition:
IDataStoreAgent.h:45
IDataStoreAgent::analyse
virtual bool analyse(IRegistry *pObject, int level)=0
Analyse the data object.
details::GenericDataStoreAgent::analyse
bool analyse(IRegistry *pObj, int level) override
Analyse the data object.
Definition:
IDataStoreAgent.h:47
details::GenericDataStoreAgent
Definition:
IDataStoreAgent.h:40
IRegistry
Definition:
IRegistry.h:32
details::GenericDataStoreAgent::f
F f
Definition:
IDataStoreAgent.h:41
details
Definition:
AnyDataWrapper.h:19
gaudirun.g
dictionary g
Definition:
gaudirun.py:582
gaudirun.level
level
Definition:
gaudirun.py:364
Kernel.h
IDataStoreAgent::~IDataStoreAgent
virtual ~IDataStoreAgent()=default
destructor
makeDataStoreAgent
::details::GenericDataStoreAgent< F > makeDataStoreAgent(F &&f)
Definition:
IDataStoreAgent.h:52
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:81
IDataStoreAgent
Definition:
IDataStoreAgent.h:27
GaudiKernel
include
GaudiKernel
IDataStoreAgent.h
Generated on Mon Apr 7 2025 16:26:22 for The Gaudi Framework by
1.8.18