void convert(const boost::property_tree::ptree & in, boost::property_tree::wptree & out) { out.data() = deutf8(in.data()); for(boost::property_tree::ptree::const_iterator i = in.begin(), end = in.end(); i != end; ++i) { out.push_back(boost::property_tree::wptree::value_type(deutf8(i->first), boost::property_tree::wptree())); convert(i->second, out.back().second); } }
inline std::wstring wfname(const boost::filesystem::wpath & path) { #if BOOST_WINDOWS #if BOOST_FILESYSTEM_VERSION >= 3 return path.native(); #else return path.external_file_string(); #endif #else #if BOOST_FILESYSTEM_VERSION >= 3 return deutf8(path.native()); #else return deutf8(path.external_file_string()); #endif #endif }
std::wstring operator()(const std::string & input) const { return deutf8(input); }