Project
Loading...
Searching...
No Matches
Condition.h
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
#ifndef O2_FRAMEWORK_CONDITION_H_
12
#define O2_FRAMEWORK_CONDITION_H_
13
#include <string>
14
15
namespace
o2::framework
16
{
17
18
template
<
typename
T>
19
struct
Condition
{
20
std::string
path
;
21
T*
instance
;
22
using
type
= T;
23
24
Condition
(std::string
path
)
25
:
path
(
std
::move(
path
))
26
{
27
}
28
29
T*
get
()
30
{
31
return
this->
instance
;
32
}
33
34
operator
T()
35
{
36
return
*this->
instance
;
37
}
38
39
T
const
*
operator->
()
const
40
{
41
return
this->
instance
;
42
}
43
};
44
45
template
<
typename
T>
46
concept
is_condition
=
requires
(T t) {
47
typename
T::type;
48
requires
std::same_as<
typename
T::type*,
decltype
(t.instance)>;
49
requires
std::same_as<std::string,
decltype
(t.path)>;
50
};
51
65
struct
ConditionGroup
{
66
};
67
68
template
<
typename
T>
69
concept
is_condition_group
= std::derived_from<T, ConditionGroup>;
70
71
}
// namespace o2::framework
72
#endif
// O2_FRAMEWORK_CONDITION_H_
o2::framework::is_condition_group
Definition
Condition.h:69
o2::framework::is_condition
Definition
Condition.h:46
path
GLsizei const GLchar *const * path
Definition
glcorearb.h:3591
o2::framework
Defining PrimaryVertex explicitly as messageable.
Definition
TFIDInfo.h:20
std
Defining DataPointCompositeObject explicitly as copiable.
Definition
CcdbObjectInfo.h:121
o2::framework::ConditionGroup
Definition
Condition.h:65
o2::framework::Condition
Definition
Condition.h:19
o2::framework::Condition::instance
T * instance
Definition
Condition.h:21
o2::framework::Condition::get
T * get()
Definition
Condition.h:29
o2::framework::Condition::Condition
Condition(std::string path)
Definition
Condition.h:24
o2::framework::Condition::operator->
T const * operator->() const
Definition
Condition.h:39
o2::framework::Condition::path
std::string path
Definition
Condition.h:20
o2::framework::Condition::type
T type
Definition
Condition.h:22
Framework
Core
include
Framework
Condition.h
Generated on Tue Feb 25 2025 23:16:38 for Project by
1.9.8