title: Wrapping Boost ptree to keep a map of loaded xml tag
body: <p>As mentioned in title:
  <code></p>
  
  <pre><code>struct AXmlConfigurator : private boost::noncopyable {
  protected:
      std::string configuration_file_;
      std::map&lt;std::string, std::string&gt; parameters_;
      ptree ptree_;
  
  public:
  
      AXmlConfigurator(const std::string &amp;argConfigurationFile) :
          configuration_file_(argConfigurationFile) {
          read_xml(configuration_file_, ptree_);
      }
  
      ~AXmlConfigurator() {}
  
      template&lt;typename Type&gt; inline
      Type get(const std::string &amp; argPath, Type argDefault) const {
          Type value = ptree_.get&lt;Type&gt;(argPath, argDefault);
          parameters_.insert(std::pair&lt;std::string,std::string&gt;(argPath, value));
          return value;
      }
  
      template&lt;class Type , class Translator&gt; inline
      typename boost::enable_if&lt;detail::is_translator&lt;Translator&gt;, Type&gt;::type
      get(const std::string &amp;argPath, const Type &amp;argDefault, Translator tr) const {
          Type value = ptree_.get(argPath, argDefault);
          parameters_.insert(std::pair&lt;std::string,std::string&gt;(argPath, value));
          return value;
      }
      void logConfiguration() {
          for(std::map&lt;std::string, std::string&gt;::const_iterator it = parameters_.begin() ; it != parameters_.end() ; ++it) {
              std::cout &lt;&lt; (*it).first &lt;&lt; " =&gt; " &lt;&lt; (*it).second &lt;&lt; std::endl;
          }
      }
  
  };
  </code></pre>
  
  <p></code></p>
  
  <p>I want to wrap boost::property_tree::ptree to store the parameters/values as strings into a map and display them afterward through logConfiguration.</p>
  
  <p>The probleme is that map's insert does not accept value as a string because value type is unspecified...</p>
  
  <p>I'm out of ideas, so any help is appreciated!</p>