what does it mean: 'std::ios_base& (*f)(std::ios_base&))'
<p>I was looking for the best way to convert string to int and I came across a function I don't understand:</p>

<pre><code>template &lt;class T&gt;
bool from_string(T&amp; t, 
                 const std::string&amp; s, 
                 std::ios_base&amp; (*f)(std::ios_base&amp;))
{
  std::istringstream iss(s);
  return !(iss &gt;&gt; f &gt;&gt; t).fail();
}
</code></pre>

<p>I know what template is, I don't know what it means:</p>

<pre><code>std::ios_base&amp; (*f)(std::ios_base&amp;)
</code></pre>

<p>Is a new pointer being created here, why are there 2 expressions enclosed in parenthesis next to each other?</p>
