メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

st.h

説明を見る。
00001 
00008 #ifndef ST_INCLUDED
00009 #define ST_INCLUDED
00010 
00011 #include "dkcOSIndependent.h"
00012 
00013 
00014 struct st_hash_type {
00015     int (*compare)();
00016     int (*hash)();
00017 };
00018 typedef struct st_table {
00019     struct st_hash_type *type;
00020     int num_bins;
00021     int num_entries;
00022     struct st_table_entry **bins;
00023 }st_table;
00024 
00025 #define st_is_member(table,key) st_lookup(table,key,(char **)0)
00026 
00027 enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE};
00028 
00029 
00030 
00031 DKC_EXTERN st_table* st_init_table_with_size(
00032                 struct st_hash_type *type,     int size
00033 );
00034 
00035 DKC_EXTERN st_table* st_init_table( struct st_hash_type *type);
00036 
00037 DKC_EXTERN st_table *st_init_numtable();
00038 
00039 DKC_EXTERN st_table* st_init_numtable_with_size(    int size);
00040 
00041 DKC_EXTERN st_table* st_init_strtable();
00042 
00043 DKC_EXTERN st_table* st_init_strtable_with_size(int size);
00044 
00045 DKC_EXTERN void st_free_table(    st_table *table);
00046 
00047 
00048 
00049 DKC_EXTERN int st_lookup(    st_table *table,register char *key,char **value);
00050 
00051 
00052 DKC_EXTERN int st_insert( st_table *table, char *key,char *value);
00053 
00054 
00055 DKC_EXTERN void st_add_direct(    st_table *table,
00056     char *key,
00057     char *value);
00058 
00059 
00060 DKC_EXTERN st_table* st_copy(    st_table *old_table);
00061 
00062 DKC_EXTERN int st_delete(st_table *table,char **key,char **value);
00063 
00064 DKC_EXTERN int st_delete_safe(st_table *table,char **key,char **value,char *never);
00065 
00066 DKC_EXTERN void st_cleanup_safe(   st_table *table,
00067     char *never);
00068 
00069 
00070 /*DKC_EXTERN void st_foreach(    st_table *table,
00071     enum st_retval (*func)(),
00072     char *arg);
00073 */
00074 DKC_EXTERN void st_foreach(st_table *table,int (*func)(),char *arg);
00075 /*
00076 DKC_EXTERN st_table *st_init_table();
00077 DKC_EXTERN st_table *st_init_table_with_size();
00078 DKC_EXTERN st_table *st_init_numtable();
00079 DKC_EXTERN st_table *st_init_numtable_with_size();
00080 DKC_EXTERN st_table *st_init_strtable();
00081 DKC_EXTERN st_table *st_init_strtable_with_size();
00082 DKC_EXTERN int st_delete();
00083 DKC_EXTERN int st_delete_safe();
00084 DKC_EXTERN int st_insert();
00085 DKC_EXTERN int st_lookup();
00086 DKC_EXTERN void st_foreach();
00087 DKC_EXTERN void st_add_direct();
00088 DKC_EXTERN void st_free_table();
00089 DKC_EXTERN void st_cleanup_safe();
00090 DKC_EXTERN st_table *st_copy();
00091 
00092 #define ST_NUMCMP   ((int (*)()) 0)
00093 #define ST_NUMHASH  ((int (*)()) -2)
00094 
00095 #define st_numcmp   ST_NUMCMP
00096 #define st_numhash  ST_NUMHASH
00097 
00098 DKC_EXTERN int st_strhash();
00099 */
00100 
00101 /*
00102 #ifndef ST_INCLUDED_C
00103 #   ifndef __cplusplus
00104 #       include "st.c"
00105 #   endif
00106 #endif
00107 */
00108 
00109 #endif /* ST_INCLUDED */

dkutil_cに対してSat Sep 10 09:23:57 2005に生成されました。  doxygen 1.4.4