title: decltype for map value type?
body: <p>Is this legal in c++11:</p>
  
  <pre><code>std::unordered_map&lt;X, Y&gt; xy_map;
  X my_x;
  Y my_y;
  xy_map.insert(decltype(xy_map)::value_type(my_x, my_y));
  </code></pre>
  
  <p>I tried this in gcc 4.6.3 and it did not work. GCC complains:  </p>
  
  <pre><code>expected primary-expression before 'decltype'
  </code></pre>
  
  <p>I was hoping not to do:</p>
  
  <pre><code>typedef std::unordered_map&lt;X, Y&gt; MyMap;
  xy_map.insert(MyMap::value_type(my_x, my_y));
  </code></pre>
  
  <p>I guess c++11 doesn't solve that or make it any easier.</p>