The Gaudi Framework
v30r4 (9b837755)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IDataStoreAgent.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_IDATASTOREAGENT_H
2
#define GAUDIKERNEL_IDATASTOREAGENT_H
3
4
// Framework include files
5
#include "
GaudiKernel/Kernel.h
"
6
#include "
GaudiKernel/invoke.h
"
7
8
// Forward declarations:
9
class
IRegistry
;
10
17
class
GAUDI_API
IDataStoreAgent
18
{
19
public
:
21
virtual
~
IDataStoreAgent
() =
default
;
22
26
virtual
bool
analyse(
IRegistry
* pObject,
int
level
) = 0;
27
};
28
29
namespace
details
30
{
31
template
<
typename
F>
32
class
GenericDataStoreAgent
final :
public
IDataStoreAgent
33
{
34
F
f
;
35
36
public
:
37
template
<
typename
G>
38
GenericDataStoreAgent
( G&&
g
) : f{std::forward<G>(
g
)}
39
{
40
}
41
42
bool
analyse
(
IRegistry
* pObj,
int
level
)
override
{
return
Gaudi::invoke
( f, pObj, level ); }
43
};
44
}
45
46
template
<
typename
F>
47
::details::GenericDataStoreAgent<F>
makeDataStoreAgent
( F&& f )
48
{
49
return
{std::forward<F>( f )};
50
}
51
52
#endif // GAUDIKERNEL_IDATASTOREAGENT_H
Kernel.h
details::GenericDataStoreAgent::analyse
bool analyse(IRegistry *pObj, int level) override
Analyse the data object.
Definition:
IDataStoreAgent.h:42
details::GenericDataStoreAgent::f
F f
Definition:
IDataStoreAgent.h:34
invoke.h
details::GenericDataStoreAgent
Definition:
IDataStoreAgent.h:32
details::GenericDataStoreAgent::GenericDataStoreAgent
GenericDataStoreAgent(G &&g)
Definition:
IDataStoreAgent.h:38
details
Definition:
AnyDataWrapper.h:10
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition:
IRegistry.h:22
IDataStoreAgent
Generic data agent interface.
Definition:
IDataStoreAgent.h:17
gaudirun.g
dictionary g
Definition:
gaudirun.py:452
gaudirun.level
level
Definition:
gaudirun.py:271
Gaudi::invoke
auto invoke(F &&f, ArgTypes &&...args) noexcept(noexcept(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))) -> decltype(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))
Definition:
invoke.h:93
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:71
makeDataStoreAgent
::details::GenericDataStoreAgent< F > makeDataStoreAgent(F &&f)
Definition:
IDataStoreAgent.h:47
GaudiKernel
GaudiKernel
IDataStoreAgent.h
Generated on Fri Nov 2 2018 17:40:09 for The Gaudi Framework by
1.8.11