title: c++ templated map, common interface for different type of parameters
body: <p>I have parameter class, which contains different types of parameters. </p>
  
  <pre><code>  std::map&lt;std::string, std::string &gt;        _params_string;
    std::map&lt;std::string, int    &gt;             _params_int;
    std::map&lt;std::string, double      &gt;        _params_double;
    std::map&lt;std::string, bool        &gt;        _params_bool;
  </code></pre>
  
  <p>I would like to have one method, where user can set parameters as: </p>
  
  <pre><code>  template&lt;class type&gt;
    inline void set(const std::string &amp;key, const type &amp;value)
    {
        _params[key] = value;
    }
  </code></pre>
  
  <p>but, since I have different storage for different types of params, it is becoming mess. </p>
  
  <p>Does anybody have any suggestion for common interface/ storage for different type of parameters? </p>