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
17
18namespace o2::framework
19{
20
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_
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
static constexpr ConfigParamKind kind
static bool appendOption(std::vector< ConfigParamSpec > &options, Configurable< T, K, IP > &what)