11#ifndef O2_FRAMEWORK_PROPERTYTREEHELPERS_H_
12#define O2_FRAMEWORK_PROPERTYTREEHELPERS_H_
16#define BOOST_BIND_GLOBAL_PLACEHOLDERS
17#include <boost/property_tree/ptree_fwd.hpp>
18#include <boost/program_options/variables_map.hpp>
31 boost::property_tree::ptree&
tree,
32 boost::property_tree::ptree& provenance);
39 boost::property_tree::ptree&
tree,
40 boost::program_options::variables_map
const& vmap,
41 boost::property_tree::ptree& provenance);
48 boost::property_tree::ptree&
tree,
49 boost::property_tree::ptree
const& in,
50 boost::property_tree::ptree& provenance,
51 std::string
const& propertyLabel);
54 template <
typename T>
using WalkerFunction = std::function<
void(boost::property_tree::ptree
const&,
typename T::path_type, boost::property_tree::ptree
const&)>;
61 static void merge(boost::property_tree::ptree& dest,
62 boost::property_tree::ptree
const&
source,
63 typename T::path_type
const& mergePoint);
std::shared_ptr< arrow::Schema > schema
GLsizei GLsizei GLchar * source
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
Defining PrimaryVertex explicitly as messageable.
Helpers to manipulate property_trees.
static void traverse(boost::property_tree::ptree const &parent, WalkerFunction< T > &method)
Traverse the tree recursively calling WalkerFunction on each leaf.
static void populate(std::vector< ConfigParamSpec > const &schema, boost::property_tree::ptree &tree, boost::program_options::variables_map const &vmap, boost::property_tree::ptree &provenance)
static void merge(boost::property_tree::ptree &dest, boost::property_tree::ptree const &source, typename T::path_type const &mergePoint)
Merge source ptree into dest.
std::function< void(boost::property_tree::ptree const &, typename T::path_type, boost::property_tree::ptree const &)> WalkerFunction
static void populateDefaults(std::vector< ConfigParamSpec > const &schema, boost::property_tree::ptree &tree, boost::property_tree::ptree &provenance)
std::unique_ptr< TTree > tree((TTree *) flIn.Get(std::string(o2::base::NameConf::CTFTREENAME).c_str()))