<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the BFD library.

Copyright (C) 1991 - 2013 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Funding
Free Software", the Front-Cover texts being (a) (see below), and with
the Back-Cover Texts being (b) (see below).  A copy of the license is
included in the section entitled "GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Untitled Document: Creating and Freeing a Hash Table</title>

<meta name="description" content="Untitled Document: Creating and Freeing a Hash Table">
<meta name="keywords" content="Untitled Document: Creating and Freeing a Hash Table">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Hash-Tables.html#Hash-Tables" rel="up" title="Hash Tables">
<link href="Looking-Up-or-Entering-a-String.html#Looking-Up-or-Entering-a-String" rel="next" title="Looking Up or Entering a String">
<link href="Hash-Tables.html#Hash-Tables" rel="prev" title="Hash Tables">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Creating-and-Freeing-a-Hash-Table"></a>
<div class="header">
<p>
Next: <a href="Looking-Up-or-Entering-a-String.html#Looking-Up-or-Entering-a-String" accesskey="n" rel="next">Looking Up or Entering a String</a>, Previous: <a href="Hash-Tables.html#Hash-Tables" accesskey="p" rel="prev">Hash Tables</a>, Up: <a href="Hash-Tables.html#Hash-Tables" accesskey="u" rel="up">Hash Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="BFD-Index.html#BFD-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Creating-and-freeing-a-hash-table"></a>
<h4 class="subsection">2.18.1 Creating and freeing a hash table</h4>
<a name="index-bfd_005fhash_005ftable_005finit"></a>
<a name="index-bfd_005fhash_005ftable_005finit_005fn"></a>
<p>To create a hash table, create an instance of a <code>struct
bfd_hash_table</code> (defined in <code>bfd.h</code>) and call
<code>bfd_hash_table_init</code> (if you know approximately how many
entries you will need, the function <code>bfd_hash_table_init_n</code>,
which takes a <var>size</var> argument, may be used).
<code>bfd_hash_table_init</code> returns <code>FALSE</code> if some sort of
error occurs.
</p>
<a name="index-bfd_005fhash_005fnewfunc"></a>
<p>The function <code>bfd_hash_table_init</code> take as an argument a
function to use to create new entries.  For a basic hash
table, use the function <code>bfd_hash_newfunc</code>.  See <a href="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type">Deriving a New Hash Table Type</a>, for why you would want to use a
different value for this argument.
</p>
<a name="index-bfd_005fhash_005fallocate"></a>
<p><code>bfd_hash_table_init</code> will create an objalloc which will be
used to allocate new entries.  You may allocate memory on this
objalloc using <code>bfd_hash_allocate</code>.
</p>
<a name="index-bfd_005fhash_005ftable_005ffree"></a>
<p>Use <code>bfd_hash_table_free</code> to free up all the memory that has
been allocated for a hash table.  This will not free up the
<code>struct bfd_hash_table</code> itself, which you must provide.
</p>
<a name="index-bfd_005fhash_005fset_005fdefault_005fsize"></a>
<p>Use <code>bfd_hash_set_default_size</code> to set the default size of
hash table to use.
</p>



</body>
</html>
