ext_utilities.html revision 1.1.1.1.2.1
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"><html xmlns="http://www.w3.org/1999/xhtml"><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.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><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="ext_sgi.html" title="Deprecated" /><link rel="next" href="ext_algorithms.html" title="Chapter��25.��Algorithms" /></head><body><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="ext_sgi.html">Prev</a>��</td><th width="60%" align="center">Part��III.�� 3 Extensions 4 5</th><td width="20%" align="right">��<a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter��24.��Utilities</h2></div></div></div><p> 6 The <code class="filename"><functional></code> header 7 contains many additional functors 8 and helper functions, extending section 20.3. They are 9 implemented in the file stl_function.h: 10 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication. 11 </p></li><li class="listitem"><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code> 12 returns the argument unchanged. 13 </p></li><li class="listitem"><p>Composition functors <code class="code">unary_function</code> and 14 <code class="code">binary_function</code>, and their helpers <code class="code">compose1</code> 15 and <code class="code">compose2</code>. 16 </p></li><li class="listitem"><p><code class="code">select1st</code> and <code class="code">select2nd</code>, to strip pairs. 17 </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 18 are <code class="code">constant_void_fun</code>, <code class="code">constant_binary_fun</code>, 19 <code class="code">constant_unary_fun</code>, <code class="code">constant0</code>, 20 <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 21 <code class="code">mem_fun1_ref</code> are provided for backwards compatibility. </p></li></ul></div><p> 22 20.4.1 can use several different allocators; they are described on the 23 main extensions page. 24</p><p> 25 20.4.3 is extended with a special version of 26 <code class="code">get_temporary_buffer</code> taking a second argument. The 27 argument is a pointer, which is ignored, but can be used to specify 28 the template type (instead of using explicit function template 29 arguments like the standard version does). That is, in addition to 30</p><pre class="programlisting"> 31get_temporary_buffer<int>(5); 32</pre><p> 33you can also use 34</p><pre class="programlisting"> 35get_temporary_buffer(5, (int*)0); 36</pre><p> 37 A class <code class="code">temporary_buffer</code> is given in stl_tempbuf.h. 38</p><p> 39 The specialized algorithms of section 20.4.4 are extended with 40 <code class="code">uninitialized_copy_n</code>. 41</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_sgi.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>