<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!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>Deprecated</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="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p>
     The SGI hashing classes <code class="classname">hash_set</code> and
     <code class="classname">hash_set</code> have been deprecated by the
     unordered_set, unordered_multiset, unordered_map,
     unordered_multimap containers in TR1 and C++11, and
     may be removed in future releases.
   </p><p>The SGI headers</p><pre class="programlisting">
     &lt;hash_map&gt;
     &lt;hash_set&gt;
     &lt;rope&gt;
     &lt;slist&gt;
     &lt;rb_tree&gt;
   </pre><p>are all here;
      <code class="filename">&lt;backwards/hash_map&gt;</code> and
      <code class="filename">&lt;backwards/hash_set&gt;</code>
      are deprecated but available as backwards-compatible extensions,
      as discussed further below.
      <code class="filename">&lt;ext/rope&gt;</code> is the SGI
      specialization for large strings ("rope," "large strings," get it? Love
      that geeky humor.)
      <code class="filename">&lt;ext/slist&gt;</code> (superseded in
      C++11 by <code class="filename">&lt;forward_list&gt;</code>)
      is a singly-linked list, for when the doubly-linked <code class="code">list&lt;&gt;</code>
      is too much space overhead, and
      <code class="filename">&lt;ext/rb_tree&gt;</code> exposes the
      red-black tree classes used in the implementation of the standard maps
      and sets.
   </p><p>Each of the associative containers map, multimap, set, and multiset
      have a counterpart which uses a
      <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html" target="_top">hashing
      function</a> to do the arranging, instead of a strict weak ordering
      function.  The classes take as one of their template parameters a
      function object that will return the hash value; by default, an
      instantiation of
      <a class="link" href="http://www.sgi.com/tech/stl/hash.html" target="_top">hash</a>.
      You should specialize this functor for your class, or define your own,
      before trying to use one of the hashing classes.
   </p><p>The hashing classes support all the usual associative container
      functions, as well as some extra constructors specifying the number
      of buckets, etc.
   </p><p>Why would you want to use a hashing class instead of the
      <span class="quote">“<span class="quote">normal</span>”</span>implementations?  Matt Austern writes:
   </p><div class="blockquote"><blockquote class="blockquote"><p>
       <span class="emphasis"><em>[W]ith a well chosen hash function, hash tables
       generally provide much better average-case performance than
       binary search trees, and much worse worst-case performance.  So
       if your implementation has hash_map, if you don't mind using
       nonstandard components, and if you aren't scared about the
       possibility of pathological cases, you'll probably get better
       performance from hash_map.
     </em></span>
     </p></blockquote></div><p>
      The deprecated hash tables are superseded by the standard unordered
      associative containers defined in the ISO C++ 2011 standard in the
      headers <code class="filename">&lt;unordered_map&gt;</code>
      and <code class="filename">&lt;unordered_set&gt;</code>.
   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html>