title: How does the third argument act as a unary function here
body: <p><code>Scooby_STEntry</code> is a class (with <code>page</code> as one of its members), <code>signature_table</code> is a deque of pointers to objects of class <code>Scooby_STEntry</code> and <code>page</code> is also a local variable.</p>
  <p>I understand that the third parameter in the <code>find_if</code> method is a unary function but I can't understand that bit of code as in how it works.</p>
  <p>My end goal is to translate this bit of code in Python, but just an explanation would do too.</p>
  <pre><code>Scooby_STEntry *stentry = NULL;
  auto st_index = find_if(signature_table.begin(), signature_table.end(), [page](Scooby_STEntry *stentry){return stentry-&gt;page == page;});
  </code></pre>