Project
Loading...
Searching...
No Matches
Mergeable.h
Go to the documentation of this file.
1
// Copyright 2019-2024 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
12
#ifndef ALICEO2_MERGERS_H
13
#define ALICEO2_MERGERS_H
14
19
20
#include <concepts>
21
22
class
TObject
;
23
class
TH1;
24
class
TCollection;
25
class
TObjArray;
26
class
TH1;
27
class
TTree;
28
class
THnBase;
29
class
TEfficiency;
30
class
TGraph;
31
class
TCanvas;
32
33
namespace
o2::mergers
34
{
35
36
class
MergeInterface;
37
38
template
<
typename
T
,
typename
... Ts>
39
constexpr
bool
IsDerivedFrom
= (std::derived_from<T, Ts> || ...);
40
41
// \brief Concept to be used to test if some parameter is mergeable
42
//
43
// \parameter T type to be restricted
44
template
<
typename
T>
45
concept
Mergeable
= IsDerivedFrom<std::remove_pointer_t<T>, mergers::MergeInterface, TCollection, TH1, TTree, TGraph, TEfficiency, THnBase, TCanvas>;
46
47
// \brief runtime check whether TObject is mergeable
48
bool
isMergeable
(
TObject
* obj);
49
50
}
// namespace o2::mergers
51
52
#endif
TObject
o2::mergers::Mergeable
Definition
Mergeable.h:45
o2::math_utils::detail::T
T
Definition
SMatrixGPU.h:747
o2::mergers
Definition
CustomMergeableObject.h:23
o2::mergers::isMergeable
bool isMergeable(TObject *obj)
Definition
Mergeable.cxx:26
o2::mergers::IsDerivedFrom
constexpr bool IsDerivedFrom
Definition
Mergeable.h:39
Utilities
Mergers
include
Mergers
Mergeable.h
Generated on Tue Feb 25 2025 17:03:28 for Project by
1.9.8