title: Is there a variant of min_element which takes a projection function?
body: <p><code>std::min_element</code> will return the smallest element as defined either by <code>operator&lt;(T,T)</code> or by a custom predicate <code>bool Pred(T,T)</code>. Is there a similar function which returns the element for which the projection function <code>f(T)-&gt;R</code> takes on the minimal value?</p>
  
  <p>Obviously I can define <code>bool Pred(t1,t2) { return f(t1) &lt; f(t2); }</code> but that's a bit inconvenient when f is a lambda.</p>