]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html
Imported gcc-4.4.3
[msp430-gcc.git] / libstdc++-v3 / doc / html / ext / pb_ds / hash_load_check_resize_trigger.html
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html
new file mode 100644 (file)
index 0000000..b22b7b5
--- /dev/null
@@ -0,0 +1,583 @@
+<!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_load_check_resize_trigger Interface</title>
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii" />
+  </head>
+
+<body>
+  <div id="page">
+    <h1><tt>hash_load_check_resize_trigger</tt> Interface</h1>
+
+    <p>A resize trigger policy based on a load check. It keeps the
+    load factor between some load factors load_min and
+    load_max.</p>
+
+    <p>Defined in: <a href=
+    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/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="External_Load_Access1313998607" id=
+"External_Load_Access1313998607"><b>bool</b> External_Load_Access </a>
+</pre>
+        </td>
+
+        <td>
+          <p>Specifies whether the load factor can be accessed
+          externally. The two options have different trade-offs in
+          terms of flexibility, genericity, and encapsulation.</p>
+        </td>
+
+        <td><tt><b>false</b></tt></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>
+
+      <tr>
+        <td>
+          <pre>
+<a name="external_load_access3976598639" id=
+"external_load_access3976598639">external_load_access</a>
+</pre>
+        </td>
+
+        <td>
+          <pre>
+<a href=
+"#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
+</pre>
+        </td>
+
+        <td>
+          <p>Indicates whether loads can be accessed externally</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_load_check_resize_trigger
+  (float load_min = 0.125, 
+    float load_max = 0.5)
+</pre>
+        </td>
+
+        <td>
+          <p>Default constructor, or constructor taking
+          <span class="c1"><tt>load_min</tt></span> and
+          <span class="c1"><tt>load_max</tt></span> load factors
+          between which this policy will keep the actual load.</p>
+
+          <p>It is the responsibility of the user to ensure that
+          <span class="c1"><tt>load_min</tt></span> is smaller than
+          <span class="c1"><tt>load_max</tt></span>.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>void</b>
+  swap
+  (<span class=
+"c2"><tt>hash_load_check_resize_trigger</tt></span> &amp;other)
+</pre>
+        </td>
+
+        <td>
+          <p>Swaps content.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+  <b>virtual</b>
+    ~hash_load_check_resize_trigger
+    ()
+</pre>
+        </td>
+
+        <td>
+          <p>Destructor.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link6" id="link6">Load Access Methods</a></h3>
+
+    <p>These methods are only available if the external access
+    parameter is set.</p>
+
+    <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>
+<b>inline</b> std::pair&lt;float, float&gt;
+  get_loads
+  () <b>const</b>
+</pre>
+        </td>
+
+        <td>
+          <p>Returns a pair of the minimal and maximal loads,
+          respectively.</p>
+
+          <p>Calling this method will not compile when <a href=
+          "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
+          == <tt><b>false</b></tt>.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>void</b> 
+  set_loads
+  (std::pair&lt;float, float&gt; load_pair)
+</pre>
+        </td>
+
+        <td>
+          <p>Sets the loads through a pair of the minimal and
+          maximal loads, respectively.</p>
+
+          <p>Calling this method resizes the container, and might
+          throw an exception. It is the responsibility of the user
+          to pass appropriate loads to this function. Calling this
+          method will not compile when <a href=
+          "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
+          == <tt><b>false</b></tt>.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h2><a name="link7" id="link7">Protected Methods</a></h2>
+
+    <h3><a name="link8" id="link8">Insert Search
+    Notifications.</a></h3>
+
+    <p>Notifications called during an insert operation.</p>
+
+    <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>
+<b>inline</b> <b>void</b>
+  notify_insert_search_start
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search started.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_insert_search_collision
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search encountered a collision.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_insert_search_end
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search ended.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link9" id="link9">Find Search
+    Notifications.</a></h3>
+
+    <p>Notifications called during a find operation.</p>
+
+    <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>
+<b>inline</b> <b>void</b>
+  notify_find_search_start
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search started.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_find_search_collision
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search encountered a collision.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_find_search_end
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search ended.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link10" id="link10">Erase Search
+    Notifications.</a></h3>
+
+    <p>Notifications called during an insert operation.</p>
+
+    <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>
+<b>inline</b> <b>void</b>
+  notify_erase_search_start
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search started.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_erase_search_collision
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search encountered a collision.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_erase_search_end
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies a search ended.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link11" id="link11">Content Change
+    Notifications.</a></h3>
+
+    <p>Notifications called when the content of the table changes
+    in a way that can affect the resize policy.</p>
+
+    <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>
+<b>inline</b> <b>void</b>
+  notify_inserted
+  (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries)
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies an element was inserted. the total number of
+          entries in the table is <span class=
+          "c1"><tt>num_entries</tt></span>.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>void</b>
+  notify_erased
+  (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries)
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies an element was erased.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>void</b> 
+  notify_cleared
+  ()
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies the table was cleared.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link12" id="link12">Size Change
+    Notifications.</a></h3>
+
+    <p>Notifications called when the table changes size.</p>
+
+    <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>
+<b>void</b>
+  notify_resized
+  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies the table was resized as a result of this
+          object's signifying that a resize is needed.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>void</b>
+  notify_externally_resized
+  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
+</pre>
+        </td>
+
+        <td>
+          <p>Notifies the table was resized externally.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a name="link13" id="link13">Queries</a></h3>
+
+    <p>Called to query whether/how to resize.</p>
+
+    <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>
+<b>inline</b> <b>bool</b> 
+  is_resize_needed
+  () <b>const</b>
+</pre>
+        </td>
+
+        <td>
+          <p>Queries whether a resize is needed.</p>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          <pre>
+<b>inline</b> <b>bool</b>
+  is_grow_needed
+  (<a href="#size_type55424436"><tt>size_type</tt></a> size, 
+    <a href=
+"#size_type55424436"><tt>size_type</tt></a> num_entries) <b>const</b>
+</pre>
+        </td>
+
+        <td>
+          <p>Queries whether a grow is needed.</p>
+
+          <p>This method is called only if this object indicated
+          resize is needed. The actual <span class=
+          "c1"><tt>size</tt></span> of the table is <span class=
+          "c1"><tt>size</tt></span>, and the number of entries in
+          it is <span class="c1"><tt>num_entries</tt></span>.</p>
+        </td>
+      </tr>
+    </table>
+
+    <h2><a name="link14" id="link14">Private Methods</a></h2>
+
+    <h3><a name="link15" id="link15">Overrides</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>
+<b>virtual</b> <b>void</b>
+  do_resize
+  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
+</pre>
+        </td>
+
+        <td>
+          <p>Resizes to <span class=
+          "c1"><tt>new_size</tt></span>.</p>
+        </td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>