24#ifndef __BITPIT_CONFIGURATION_TREE_HPP__
25#define __BITPIT_CONFIGURATION_TREE_HPP__
27#include "configuration_config.hpp"
28#include "configuration_common.hpp"
30#include "bitpit_common.hpp"
32#include <boost/property_tree/json_parser.hpp>
33#include <boost/property_tree/ptree.hpp>
34#include <boost/property_tree/xml_parser.hpp>
42template<
typename Source>
43void readConfiguration(Source &source, SourceFormat format,
const std::string &rootName,
44 bool checkVersion,
int version, Config *rootConfig);
45template<
typename Destination>
46void writeConfiguration(Destination &destination, SourceFormat format,
const std::string &rootName,
47 int version,
const Config *rootConfig);
49void importTree(boost::property_tree::ptree
const &
root, Config *config);
50void exportTree(
const Config &config,
bool areArraysAllowed, boost::property_tree::ptree *
root);
52template<
typename Destination>
53void writeTree(Destination &destination, SourceFormat format, boost::property_tree::ptree &propertyTree);
55void writeTree(
const std::string &filename, SourceFormat format, boost::property_tree::ptree &propertyTree);
57std::string readNodeValue(
const boost::property_tree::ptree &node);
66#include "configuration_tree.tpp"
GlobalConfigParser & root