<!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" xml:lang="en" lang="en">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />

  <title>hash_exponential_size_policy Interface</title>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii" />
  </head>

<body>
  <div id="page">
    <h1><tt>hash_exponential_size_policy</tt> Interface</h1>

    <p>A size policy whose sequence of sizes form an exponential
    sequence (typically powers of 2)</p>

    <p>Defined in: <a href=
    "../../../../include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p>

    <h2><a name="link1" id="link1">Template Parameters</a></h2>

    <table class="c1" width="100%" border="1" summary=
    "Template Parameters">
      <tr>
        <td width="20%" align="left"><b>Parameter</b></td>

        <td width="50%" align="left"><b>Description</b></td>

        <td width="30%" align="left"><b>Default Value</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Size_Type42920436" id=
"Size_Type42920436"><b>typename</b> Size_Type </a>
</pre>
        </td>

        <td>
          <p>Size type.</p>
        </td>

        <td>size_t</td>
      </tr>
    </table>

    <h2><a name="link2" id="link2">Public Types and
    Constants</a></h2>

    <h3><a name="link3" id="link3">General Definitions</a></h3>

    <table class="c1" width="100%" border="1" summary="Types">
      <tr>
        <td width="30%" align="left"><b>Type</b></td>

        <td width="55%" align="left"><b>Definition</b></td>

        <td width="15%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="size_type55424436" id="size_type55424436">size_type</a>
</pre>
        </td>

        <td>
          <pre>
<a href="#Size_Type42920436"><tt>Size_Type</tt></a>
</pre>
        </td>

        <td>
          <p>Size type.</p>
        </td>
      </tr>
    </table>

    <h2><a name="link4" id="link4">Public Methods</a></h2>

    <h3><a name="link5" id="link5">Constructors, Destructor, and
    Related</a></h3>

    <table class="c1" width="100%" border="1" summary="Methods">
      <tr>
        <td width="45%" align="left"><b>Method</b></td>

        <td width="55%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
  hash_exponential_size_policy
  (<a href=
"#size_type55424436"><tt>size_type</tt></a> start_size = 8, 
    <a href=
"#size_type55424436"><tt>size_type</tt></a> grow_factor = 2)
</pre>
        </td>

        <td>
          <p>Default constructor, or constructor taking a
          <span class="c1"><tt>start_size</tt></span>, or
          constructor taking a start size and <span class=
          "c1"><tt>grow_factor</tt></span>. The policy will use the
          sequence of sizes <span class=
          "c1"><tt>start_size</tt></span>, <span class=
          "c1"><tt>start_size</tt></span> * <span class=
          "c1"><tt>grow_factor</tt></span>, <span class=
          "c1"><tt>start_size</tt></span> * <span class=
          "c1"><tt>grow_factor</tt></span>^2, ...</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>void</b> 
  swap
  (<span class=
"c2"><tt>hash_exponential_size_policy</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Swaps content.</p>
        </td>
      </tr>
    </table>

    <h2><a name="link6" id="link6">Protected Methods</a></h2>

    <h3><a name="link7" id="link7">Size methods</a></h3>

    <table class="c1" width="100%" border="1" summary="Methods">
      <tr>
        <td width="45%" align="left"><b>Method</b></td>

        <td width="55%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a href="#size_type55424436"><tt>size_type</tt></a>
  get_nearest_larger_size
  (<a href=
"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
</pre>
        </td>

        <td>
          <p>Given a size <span class="c1"><tt>size</tt></span>,
          returns a size that is larger.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href="#size_type55424436"><tt>size_type</tt></a>
  get_nearest_smaller_size
  (<a href=
"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
</pre>
        </td>

        <td>
          <p>Given a size <span class="c1"><tt>size</tt></span>,
          returns a size that is smaller.</p>
        </td>
      </tr>
    </table>
  </div>
</body>
</html>
