30 #include <boost/foreach.hpp>
31 #include <boost/lexical_cast.hpp>
37 #include <boost/property_tree/ptree.hpp>
42 void te::common::Convert(
const boost::property_tree::ptree& p, std::map<std::string, std::string>& dict)
44 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
50 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v2, v.second.get_child(
""))
52 const std::string& f = v2.first.data();
53 const std::string& s = v2.second.data();
60 void te::common::Convert(
const boost::property_tree::ptree& p, std::vector<std::pair<std::string, std::string> > & vp)
62 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
64 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v2, v.second.get_child(
""))
68 std::pair<std::string, std::string> in_pair;
69 in_pair.first = v2.first.data();
70 in_pair.second = v2.second.data();
71 vp.push_back(in_pair);
78 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
80 vect.push_back(v.second.data());
87 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
90 vectd.push_back(boost::lexical_cast<unsigned char>(v.second.data()));
97 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
99 vectd.push_back(boost::lexical_cast<double>(v.second.data()));
106 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
108 vect.push_back(boost::lexical_cast<size_t>(v.second.data()));
115 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
117 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v2, v.second.get_child(
""))
119 std::vector<double> envrep;
130 vect.push_back(envrep);
135 void te::common::Convert(
const boost::property_tree::ptree& p, std::vector<std::map<std::string, std::string> >& vectm)
137 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v, p)
140 std::map<std::string, std::string> dict;
141 BOOST_FOREACH(
const boost::property_tree::ptree::value_type& v2, v.second.get_child(
""))
143 const std::string& f = v2.first.data();
144 const std::string& s = v2.second.data();
148 vectm.push_back(dict);
TECOMMONEXPORT std::string ConvertLatin1UTFString(const std::string &data, const bool &toUtf=true)
Converts a string from latin1 to utf8 and vice-versa.
TECOMMONEXPORT void Convert(const boost::property_tree::ptree &p, std::map< std::string, std::string > &dict)
Converts a property tree node into a std::map.
This file contains several utility functions for dealing with Boost containers and algorithms...