Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  htable.h

  Sprache: C
 

#ifndef _HTABLE_H_INCLUDED_
#define _HTABLE_H_INCLUDED_

/*++
/* NAME
/* htable 3h
/* SUMMARY
/* hash table manager
/* SYNOPSIS
/* #include <htable.h>
/* DESCRIPTION
/* .nf

 /* Structure of one hash table entry. */


typedef struct HTABLE_INFO {
    char   *key;   /* lookup key */
    void   *value;   /* associated value */
    struct HTABLE_INFO *next;  /* colliding entry */
    struct HTABLE_INFO *prev;  /* colliding entry */
} HTABLE_INFO;

 /* Structure of one hash table. */

typedef struct HTABLE {
    ssize_t size;   /* length of entries array */
    ssize_t used;   /* number of entries in table */
    HTABLE_INFO **data;   /* entries array, auto-resized */
    HTABLE_INFO **seq_bucket;  /* current sequence hash bucket */
    HTABLE_INFO **seq_element;  /* current sequence element */
} HTABLE;

extern HTABLE *htable_create(ssize_t);
extern HTABLE_INFO *htable_enter(HTABLE *, const char *, void *);
extern HTABLE_INFO *htable_locate(HTABLE *, const char *);
extern void *htable_find(HTABLE *, const char *);
extern void htable_delete(HTABLE *, const char *, void (*) (void *));
extern void htable_free(HTABLE *, void (*) (void *));
extern void htable_walk(HTABLE *, void (*) (HTABLE_INFO *, void *), void *);
extern HTABLE_INFO **htable_list(HTABLE *);
extern HTABLE_INFO *htable_sequence(HTABLE *, int);

#define HTABLE_SEQ_FIRST 0
#define HTABLE_SEQ_NEXT  1
#define HTABLE_SEQ_STOP  (-1)

 /*
  * Correct only when casting (char *) to (void *).
  */

#define HTABLE_ACTION_FN_CAST(f) ((void *)(HTABLE_INFO *, void *)) (f)
#define HTABLE_FREE_FN_CAST(f) ((void *)(void *)) (f)

/* LICENSE
/* .ad
/* .fi
/* The Secure Mailer license must be distributed with this software.
/* AUTHOR(S)
/* Wietse Venema
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
/* CREATION DATE
/* Fri Feb 14 13:43:19 EST 1997
/* LAST MODIFICATION
/* %E% %U%
/* VERSION/RELEASE
/* %I%
/*--*/


#endif

Messung V0.5 in Prozent
C=67 H=96 G=82

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002