title: map with key which is combination of multiple values in c++
body: <p>I want a map in c++, in which its key is combination of multiple values. I can use both stl and boost also.</p>
  
  <p>Key values can be string/integers something like below</p>
  
  <pre><code>typedef value_type int;
  typedef key(string, template(string,int), template(string,int)) key_type;
  typedef map(key_type, value_type) map_type;
  
  map_type map_variable;
  map_variable.insert(key_type("keyStrning1", 1, "keyString2"), 4);
  map_variable.insert(key_type("keyStrning3", 1, "keyString2"), 5);
  </code></pre>
  
  <p>Now this map will contain two entries and i shall be able to find it like below:           </p>
  
  <pre><code>map_variable.find(key_type("keyStrning3", 1, "keyString2")).
  </code></pre>
  
  <p>I can use nested maps , but i want to know is there any convenient solution for this using either boost or c++ stl.</p>