*: Regenerate.
[gcc.git] / libstdc++-v3 / doc / html / manual / ext_utilities.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 24. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"><meta name="keywords" content="
2 ISO C++
3 ,
4 library
5 "><meta name="keywords" content="
6 ISO C++
7 ,
8 runtime
9 ,
10 library
11 "><link rel="home" href="../index.html" title="The GNU C++ Library"><link rel="up" href="extensions.html" title="Part III.  Extensions"><link rel="prev" href="bk01pt03ch23s02.html" title="Deprecated"><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
12 Extensions
13
14 </th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 24. Utilities"><div class="titlepage"><div><div><h2 class="title"><a name="manual.ext.util"></a>Chapter 24. Utilities</h2></div></div></div><p>
15 The <code class="filename">&lt;functional&gt;</code> header
16 contains many additional functors
17 and helper functions, extending section 20.3. They are
18 implemented in the file stl_function.h:
19 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication.
20 </p></li><li class="listitem"><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
21 returns the argument unchanged.
22 </p></li><li class="listitem"><p>Composition functors <code class="code">unary_function</code> and
23 <code class="code">binary_function</code>, and their helpers <code class="code">compose1</code>
24 and <code class="code">compose2</code>.
25 </p></li><li class="listitem"><p><code class="code">select1st</code> and <code class="code">select2nd</code>, to strip pairs.
26 </p></li><li class="listitem"><p><code class="code">project1st</code> and <code class="code">project2nd</code>. </p></li><li class="listitem"><p>A set of functors/functions which always return the same result. They
27 are <code class="code">constant_void_fun</code>, <code class="code">constant_binary_fun</code>,
28 <code class="code">constant_unary_fun</code>, <code class="code">constant0</code>,
29 <code class="code">constant1</code>, and <code class="code">constant2</code>. </p></li><li class="listitem"><p>The class <code class="code">subtractive_rng</code>. </p></li><li class="listitem"><p>mem_fun adaptor helpers <code class="code">mem_fun1</code> and
30 <code class="code">mem_fun1_ref</code> are provided for backwards compatibility. </p></li></ul></div><p>
31 20.4.1 can use several different allocators; they are described on the
32 main extensions page.
33 </p><p>
34 20.4.3 is extended with a special version of
35 <code class="code">get_temporary_buffer</code> taking a second argument. The
36 argument is a pointer, which is ignored, but can be used to specify
37 the template type (instead of using explicit function template
38 arguments like the standard version does). That is, in addition to
39 </p><pre class="programlisting">
40 get_temporary_buffer&lt;int&gt;(5);
41 </pre><p>
42 you can also use
43 </p><pre class="programlisting">
44 get_temporary_buffer(5, (int*)0);
45 </pre><p>
46 A class <code class="code">temporary_buffer</code> is given in stl_tempbuf.h.
47 </p><p>
48 The specialized algorithms of section 20.4.4 are extended with
49 <code class="code">uninitialized_copy_n</code>.
50 </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch23s02.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="ext_algorithms.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Deprecated </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html>