• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

spl/collection/chashtable.h

00001 #error "Plain Old C no longer supported"
00002 
00003 
00004 //#ifndef _hashtable_h
00005 //#define _hashtable_h
00006 //
00007 //#ifdef _WIN32
00008 //#include <spl/configwin32.h>
00009 //#endif
00010 //
00011 //#include <spl/debug.h>
00012 //#include <spl/cstring.h>
00013 //#include <spl/collection/clist.h>
00014 //
00015 //#ifdef __cplusplus
00016 //extern "C" {
00017 //#endif
00018 //
00019 //#define HT_BIG_SIZE 7919
00020 //#define HT_DEF_SIZE 701
00021 //#define HT_SMALL_SIZE 63
00022 //
00023 //typedef struct _hashtable
00024 //{
00025 //      list **map;
00026 //      int tablesize;
00027 //} hashtable;
00028 //
00029 //hashtable *hashtableConstruct();
00030 //hashtable *hashtableConstructSized( const int tablesize );
00031 //hashtable *hashtableConstructDupStrKey( const hashtable *ht );
00032 //void hashtableDestruct( hashtable *ht );
00033 //bool hashtableAdd( hashtable *ht, const string *key, void *value );
00034 //bool hashtableAddChar( hashtable *ht, const char *key, const int len, void *value );
00035 //bool hashtableRemove( hashtable *ht, const string *key );
00036 //bool hashtableRemoveChar( hashtable *ht, const char *key, const int len );
00037 //void *hashtableGet( hashtable *ht, const string *key );
00038 //void *hashtableGetChar( hashtable *ht, const char *key, const int len );
00039 //bool hashtableSet( hashtable *ht, const string *key, void *value );
00040 //bool hashtableSetChar( hashtable *ht, const char *key, const int len, void *value );
00041 //vector *hashtableKeys( const hashtable *ht );
00042 //vector *hashtableValues( const hashtable *ht );
00043 //bool hashtableContainsKeyChar( hashtable *ht, const char *key, const int len );
00044 //bool hashtableContainsKeyInt( hashtable *ht, const int key );
00045 //
00046 //bool hashtableIntAdd( hashtable *ht, const int key, void *value );
00047 //bool hashtableIntRemove( hashtable *ht, const int key );
00048 //void *hashtableIntGet( hashtable *ht, const int key );
00049 //bool hashtableIntSet( hashtable *ht, const int key, void *value );
00050 //
00051 //#if defined( DEBUG ) || defined( _DEBUG )
00052 //void hashtableValidateMem( const hashtable *ht );
00053 //void hashtableValidateContentMem( const hashtable *ht );
00054 //void hashtableCheckMem( const hashtable *ht );
00055 //void hashtableCheckContentMem( const hashtable *ht );
00056 //#else
00057 //#define hashtableValidateMem( A )
00058 //#define hashtableValidateContentMem( A )
00059 //#define hashtableCheckMem( A )
00060 //#define hashtableCheckContentMem( A )
00061 //#endif
00062 //
00063 //#ifdef __cplusplus
00064 //}
00065 //#endif
00066 //
00067 //#endif