title: Intersection of two `std::map`s
body: <p>Given that I have two <code>std::map</code>s, say:</p>
  
  <pre><code>map&lt;int, double&gt; A;
  map&lt;int, double&gt; B;
  </code></pre>
  
  <p>I'd like to get the intersection of the two maps, something of the form:</p>
  
  <pre><code>map&lt;int, pair&lt;double,double&gt; &gt; C;
  </code></pre>
  
  <p>Where the keys are the values in <em>both</em> <code>A</code> and <code>B</code> and the value is a pair of the values from <code>A</code> and <code>B</code> respectively.
  Is there a clean way using the standard-library?</p>