title: std::multimap getting two ranges
body: <p>I'm using a C++ <code>std::multimap</code> and I have to loop over two different keys.  Is there an efficient way to do this other than creating two ranges and looping over those ranges seperately?</p>
  
  <p>This is the way im doing it now:</p>
  
  <pre><code>std::pair&lt;std::multimap&lt;String, Object*&gt;::iterator,std::multimap&lt;String, Object*&gt;::iterator&gt; range;
  std::pair&lt;std::multimap&lt;String, Object*&gt;::iterator,std::multimap&lt;String, Object*&gt;::iterator&gt; range2;
  
  // get the range of String key
  range = multimap.equal_range(key1);
  range2 = multimap.equal_range(key2);
  
  for (std::multimap&lt;String, Object*&gt;::iterator it = range.first; it != range.second; ++it)
  {
      ...
  }
  for (std::multimap&lt;String, Object*&gt;::iterator it2 = range2.first; it2 != range2.second; ++it2)
  {
      ...
  }
  </code></pre>