OSDN Git Service

2009-03-17 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / doc / html / manual / bk01pt12ch34.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 34. Utilities</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.0" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part XII. Extensions" /><link rel="prev" href="bk01pt12ch33s03.html" title="Deprecated HP/SGI" /><link rel="next" href="bk01pt12ch35.html" title="Chapter 35. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 34. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch33s03.html">Prev</a> </td><th width="60%" align="center">Part XII. Extensions</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch35.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 34. Utilities</h2></div></div></div><p>
4     The &lt;functional&gt; header contains many additional functors
5     and helper functions, extending section 20.3.  They are
6     implemented in the file stl_function.h:
7   </p><div class="itemizedlist"><ul type="disc"><li><p><code class="code">identity_element</code> for addition and multiplication. * 
8   </p></li><li><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
9       returns the argument unchanged. * 
10   </p></li><li><p>Composition functors <code class="code">unary_function</code> and
11       <code class="code">binary_function</code>, and their helpers <code class="code">compose1</code>
12       and <code class="code">compose2</code>. * 
13     </p></li><li><p><code class="code">select1st</code> and <code class="code">select2nd</code>, to strip pairs. * 
14   </p></li><li><p><code class="code">project1st</code> and <code class="code">project2nd</code>. * </p></li><li><p>A set of functors/functions which always return the same result.  They
15       are <code class="code">constant_void_fun</code>, <code class="code">constant_binary_fun</code>,
16       <code class="code">constant_unary_fun</code>, <code class="code">constant0</code>,
17       <code class="code">constant1</code>, and <code class="code">constant2</code>. * </p></li><li><p>The class <code class="code">subtractive_rng</code>. * </p></li><li><p>mem_fun adaptor helpers <code class="code">mem_fun1</code> and
18       <code class="code">mem_fun1_ref</code> are provided for backwards compatibility. </p></li></ul></div><p>
19   20.4.1 can use several different allocators; they are described on the
20    main extensions page.
21 </p><p>
22   20.4.3 is extended with a special version of
23   <code class="code">get_temporary_buffer</code> taking a second argument.  The
24   argument is a pointer, which is ignored, but can be used to specify
25   the template type (instead of using explicit function template
26   arguments like the standard version does).  That is, in addition to
27 </p><pre class="programlisting">
28 get_temporary_buffer&lt;int&gt;(5);
29 </pre><p>
30 you can also use
31 </p><pre class="programlisting">
32 get_temporary_buffer(5, (int*)0);
33 </pre><p>
34   A class <code class="code">temporary_buffer</code> is given in stl_tempbuf.h. *
35 </p><p>
36   The specialized algorithms of section 20.4.4 are extended with
37   <code class="code">uninitialized_copy_n</code>. *
38 </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt12ch33s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt12ch35.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Deprecated HP/SGI </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 35. Algorithms</td></tr></table></div></body></html>