
  class unary_negate
    : public unary_function&lt;typename Predicate::argument_type,bool&gt; {
public:
  explicit unary_negate(const Predicate&amp; pred);
  bool operator()(<strong>const typename Predicate::argument_type&amp;</strong> x) const;
};
</pre>
  </blockquote>

  <p>Note that if the Predicate's <tt>argument_type</tt> is a reference, the
  type of <tt>operator()</tt>'s argument would be a reference to a reference.
  Currently this is illegal in C++ (but see the <a href=
  "http://anubis.dkuug.dk