What does this C++ declaration mean?
<p>I am creating a class diagram for a class that has many definitions similar to this one inside of its header file.</p>

<pre><code>  1       2                                        3             4       5
const std::pair&lt;Controller&lt;_Tp,_Val&gt;*, _Val&gt;&amp; getHighestBidder(_Tp obj) const;
</code></pre>

<p>I know what several of them do, </p>

<pre><code>2) says that this method will return a std::pair&lt;Controller&lt;_Tp, _Val&gt;*, _Val&gt;
3) gives the name of the function
4) defines the type of object this function accepts as a parameter
</code></pre>

<p>But, what do 1 and 5 mean? </p>

<p>Any help/pointers would be great.
Thanks</p>
