The Gaudi Framework
master (b0ffa919)
Toggle main menu visibility
Loading...
Searching...
No Matches
IDataStoreAgent.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 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
#pragma once
12
13
#include <
GaudiKernel/Kernel.h
>
14
#include <functional>
15
16
class
IRegistry
;
17
24
class
GAUDI_API
IDataStoreAgent
{
25
public
:
27
virtual
~IDataStoreAgent
() =
default
;
28
32
virtual
bool
analyse
(
IRegistry
* pObject,
int
level ) = 0;
33
};
34
35
namespace
details
{
36
template
<
typename
F>
37
class
GenericDataStoreAgent
final :
public
IDataStoreAgent
{
38
F
f
;
39
40
public
:
41
template
<
typename
G>
42
GenericDataStoreAgent
( G&& g ) :
f
{
std
::forward<G>( g ) } {}
43
44
bool
analyse
(
IRegistry
* pObj,
int
level )
override
{
return
std::invoke(
f
, pObj, level ); }
45
};
46
}
// namespace details
47
48
template
<
typename
F>
49
::details::GenericDataStoreAgent<F>
makeDataStoreAgent
( F&& f ) {
50
return
{ std::forward<F>( f ) };
51
}
makeDataStoreAgent
::details::GenericDataStoreAgent< F > makeDataStoreAgent(F &&f)
Definition
IDataStoreAgent.h:49
Kernel.h
GAUDI_API
#define GAUDI_API
Definition
Kernel.h:49
IDataStoreAgent
Generic data agent interface.
Definition
IDataStoreAgent.h:24
IDataStoreAgent::~IDataStoreAgent
virtual ~IDataStoreAgent()=default
destructor
IDataStoreAgent::analyse
virtual bool analyse(IRegistry *pObject, int level)=0
Analyse the data object.
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition
IRegistry.h:29
details::GenericDataStoreAgent
Definition
IDataStoreAgent.h:37
details::GenericDataStoreAgent::analyse
bool analyse(IRegistry *pObj, int level) override
Analyse the data object.
Definition
IDataStoreAgent.h:44
details::GenericDataStoreAgent::GenericDataStoreAgent
GenericDataStoreAgent(G &&g)
Definition
IDataStoreAgent.h:42
details::GenericDataStoreAgent::f
F f
Definition
IDataStoreAgent.h:38
details
Definition
AnyDataWrapper.h:19
std
STL namespace.
GaudiKernel
include
GaudiKernel
IDataStoreAgent.h
Generated on
for The Gaudi Framework by
1.17.0