pdf-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pdf-devel] Hash module API


From: gerel
Subject: [pdf-devel] Hash module API
Date: Sat, 05 Apr 2008 21:01:30 -0300

Ok. I have written a first version for the Hash Module API. 
Also added the Arch entry on the wiki page.

I don't know how the enum "pdf_hash_value_type_e" is going to be used yet.

Here is the patch:

##
Index: doc/gnupdf.texi
===================================================================
RCS file: /sources/pdf/libgnupdf/doc/gnupdf.texi,v
retrieving revision 1.38
diff -u -r1.38 gnupdf.texi
--- doc/gnupdf.texi     25 Mar 2008 15:53:32 -0000      1.38
+++ doc/gnupdf.texi     6 Apr 2008 00:02:41 -0000
@@ -888,6 +888,8 @@
 @menu
 * Hash Table Types::
 * Creating and Destroying Hash Tables::
+* Adding and removing elements::
+* Searching elements::
 @end menu
 
 @node Hash Table Types
@@ -918,6 +920,155 @@
 @node Creating and Destroying Hash Tables
 @subsection Creating and Destroying Hash Tables
 
address@hidden pdf_status_t pdf_hash_create (pdf_hash_dispose_fn_t 
@var{dispose_fn}, pdf_hash_t @var{*table})
+
+Create a new empty hash table. When some element is removed @var{dispose_fn} 
is called. Can be NULL.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden dispose_fn
+A pointer to a hash table dispose function.
address@hidden table
+A pointer to a hash table.
address@hidden table
address@hidden Returns
+A pdf status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden PDF_ENOMEM
+Not enough memory.
address@hidden PDF_EBADDATA
+Invalid @var{table} pointer.
address@hidden table
address@hidden Usage example
address@hidden
+XXX
address@hidden example
address@hidden table
address@hidden deftypefun
+
address@hidden pdf_status_t pdf_hash_destroy (pdf_hash_t @var{table})
+
+Destroy a hash table. The elements of the table are disposed first.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden table
+A hash table.
address@hidden table
address@hidden Returns
+A pdf status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden table
address@hidden Usage example
address@hidden
+XXX
address@hidden example
address@hidden table
address@hidden deftypefun
+
+
address@hidden Adding and removing elements
address@hidden Adding and removing elements
+
address@hidden pdf_status_t pdf_hash_add (pdf_hash_t @var{table}, const char 
@var{*key}, void @var{*element}) 
+
+Adds the element @var{element} with the associated key @var{key} to 
@var{table}.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden table
+A hash table.
address@hidden key
+A valid key string.
address@hidden element
+A pointer to the element being added.
address@hidden table
address@hidden Returns
+A pdf status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden PDF_ENOMEM
+Not enough memory.
address@hidden PDF_EBADDATA
+Either @var{table}, @var{key} or @var{element} is invalid.
address@hidden table
address@hidden Usage example
address@hidden
+XXX
address@hidden example
address@hidden table
address@hidden deftypefun
+
address@hidden pdf_status_t pdf_hash_remove (pdf_hash_t @var{table}, const char 
@var{*key})
+
+Removes the element associated with @var{key} from @var{table}. The element is 
disposed first.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden table
+A hash table.
address@hidden key
+A valid key string.
address@hidden table
address@hidden Returns
+A pdf status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden PDF_EBADDATA
+Invalid @var{table} or @var{key}.
address@hidden PDF_ERROR
+The @var{key} wasn't found.
address@hidden table
address@hidden Usage example
address@hidden
+XXX
address@hidden example
address@hidden table
address@hidden deftypefun
+
address@hidden Searching elements
address@hidden Searching elements
+
address@hidden pdf_status_t pdf_hash_search (pdf_hash_t @var{table}, const char 
@var{*key}, void address@hidden)
+
+Searches for the element associated with the given @var{key} in @var{table} 
and store it in @var{elem_pointer}.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden table
+A hash table.
address@hidden key
+A valid null-terminated string key.
address@hidden element
+A pointer where to store the element.
address@hidden table
address@hidden Returns
+A pdf status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden PDF_EBADDATA
+Either the @var{element} pointer is NULL, or the @var{table} is invalid.
address@hidden PDF_ERROR
+The @var{key} wasn't found.
address@hidden table
address@hidden Usage example
address@hidden
+XXX
address@hidden example
address@hidden table
address@hidden deftypefun
 
 @node Lists
 @section Lists

###


cheers

-gerel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]