Project
Loading...
Searching...
No Matches
ConfigurableHelpers.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_CONFIGURABLEHELPERS_H_
12
#define O2_FRAMEWORK_CONFIGURABLEHELPERS_H_
13
14
#include "
Framework/ConfigParamSpec.h
"
15
#include "
Framework/Configurable.h
"
16
#include "
Framework/RootConfigParamHelpers.h
"
17
18
namespace
o2::framework
19
{
20
21
struct
ConfigurableHelpers
{
22
template
<
typename
T, ConfigParamKind K,
typename
IP>
23
static
bool
appendOption
(std::vector<ConfigParamSpec>& options,
Configurable<T, K, IP>
& what)
24
{
25
if
constexpr
(variant_trait_v<typename std::decay<T>::type> !=
VariantType::Unknown
) {
26
options.emplace_back(
ConfigParamSpec
{what.
name
, variant_trait_v<std::decay_t<T>>, what.
value
, {what.
help
}, what.
kind
});
27
}
else
{
28
auto
specs = RootConfigParamHelpers::asConfigParamSpecs<T>(what.
name
, what.
value
);
29
options.insert(options.end(), specs.begin(), specs.end());
30
}
31
return
true
;
32
}
33
};
34
35
}
// namespace o2::framework
36
#endif
// O2_FRAMEWORK_CONFIGURABLEHELPERS_H_
ConfigParamSpec.h
Configurable.h
RootConfigParamHelpers.h
o2::framework
Defining PrimaryVertex explicitly as messageable.
Definition
TFIDInfo.h:20
o2::framework::VariantType::Unknown
@ Unknown
o2::framework::ConfigParamSpec
Definition
ConfigParamSpec.h:31
o2::framework::ConfigurableBase::name
std::string name
Definition
Configurable.h:31
o2::framework::ConfigurableBase::kind
static constexpr ConfigParamKind kind
Definition
Configurable.h:34
o2::framework::ConfigurableBase::help
std::string help
Definition
Configurable.h:33
o2::framework::ConfigurableBase::value
T value
Definition
Configurable.h:32
o2::framework::ConfigurableHelpers
Definition
ConfigurableHelpers.h:21
o2::framework::ConfigurableHelpers::appendOption
static bool appendOption(std::vector< ConfigParamSpec > &options, Configurable< T, K, IP > &what)
Definition
ConfigurableHelpers.h:23
o2::framework::Configurable
Definition
Configurable.h:72
Framework
Core
include
Framework
ConfigurableHelpers.h
Generated on Tue Feb 25 2025 23:16:38 for Project by
1.9.8