<HTML>
<HEAD>
<TITLE>negate</TITLE>
<LINK REL=StyleSheet HREF="../rw.css" TYPE="text/css" TITLE="Apache stdcxx Stylesheet"></HEAD>
<BODY BGCOLOR=#FFFFFF>
<A HREF="multiset.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="negators.html"><IMG SRC="images/bnext.gif" WIDTH=25 HEIGHT=21 ALT="Next file" BORDER=O></A><DIV CLASS="DOCUMENTNAME"><B>Apache C++ Standard Library Reference Guide</B></DIV>
<H2>negate</H2>
<P><B>Library:</B>&nbsp;&nbsp;<A HREF="2-4.html">General utilities</A></P>

<PRE><HR><B><I>Does not inherit</I></B><HR></PRE>

<UL>
<LI><A HREF="#sec1">Local Index</A></LI>
<LI><A HREF="#sec2">Summary</A></LI>
<LI><A HREF="#sec3">Synopsis</A></LI>
<LI><A HREF="#sec4">Description</A></LI>
<LI><A HREF="#sec5">Interface</A></LI>
<LI><A HREF="#sec6">See Also</A></LI>
<LI><A HREF="#sec7">Standards Conformance</A></LI>
</UL>
<A NAME="sec1"><H3>Local Index</H3></A>
No Entries
<A NAME="sec2"><H3>Summary</H3></A>
<P>Unary function object that returns the negation of its argument</P>
<A NAME="sec3"><H3>Synopsis</H3></A>

<PRE>#include &lt;functional&gt;

namespace std {
  template &lt;class T&gt;
  struct negate : public unary_function&lt;T, T&gt;;
}
</PRE>
<A NAME="sec4"><H3>Description</H3></A>
<P><B><I>negate</I></B> is a unary function object. Its <SAMP>operator()</SAMP> returns the inverse of its argument. For boolean arguments, <SAMP>operator()</SAMP> returns <SAMP>true</SAMP> if its argument is <SAMP>false</SAMP>, or <SAMP>false</SAMP> if its argument is <SAMP>true</SAMP>. For numeric arguments, <SAMP>operator()</SAMP> returns the additive inverse of the argument. You can pass a <B><I>negate</I></B> object to any algorithm that requires a unary function. For example, the <SAMP><A HREF="transform.html">transform()</A></SAMP> algorithm applies a unary operation to the values in a collection and stores the result.   <B><I>negate</I></B> could be used in that algorithm in the following manner:</P>

<UL><PRE>vector&lt;int&gt; vec1;
vector&lt;int&gt; vecResult;
.
.
.
transform(vec1.begin(), vec1.end(), vecResult.begin(),
          negate&lt;int&gt;());
</PRE></UL>
<P>After this call to <SAMP><A HREF="transform.html">transform()</A></SAMP>, <SAMP>vecResult(n)</SAMP> contains the negation of the element in <SAMP>vec1(n)</SAMP>.</P>
<A NAME="sec5"><H3>Interface</H3></A>

<UL><PRE>namespace std {

  template &lt;class T&gt;
  struct negate : unary_function&lt;T, T&gt; {
    T operator() (const T&amp;) const;
  };
}
</PRE></UL>
<A NAME="sec6"><H3>See Also</H3></A>
<P><A HREF="functionobjects.html">Function Objects</A>, <B><I><A HREF="unary-function.html">unary_function</A></I></B></P>
<A NAME="sec7"><H3>Standards Conformance</H3></A>
<P><I>ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.5</I></P>

<BR>
<HR>
<A HREF="multiset.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="negators.html"><IMG SRC="images/bnext.gif" WIDTH=20 HEIGHT=21 ALT="Next file" BORDER=O></A>

<!-- Google Analytics tracking code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
    _uacct = "UA-1775151-1";
    urchinTracker();
</script>
<!-- end of Google Analytics tracking code -->

</BODY>
</HTML>
