PostgreSQL Source Code git master
Data Structures | Macros | Typedefs | Enumerations | Functions
simplehash.h File Reference
#include "port/pg_bitutils.h"
Include dependency graph for simplehash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct   SH_TYPE
 
struct   SH_ITERATOR
 

Macros

#define  SH_MAKE_PREFIX(a)   CppConcat(a,_)
 
 
#define  SH_MAKE_NAME_(a, b)   CppConcat(a,b)
 
#define  SH_TYPE   SH_MAKE_NAME(hash)
 
#define  SH_STATUS   SH_MAKE_NAME(status)
 
#define  SH_STATUS_EMPTY   SH_MAKE_NAME(SH_EMPTY)
 
#define  SH_STATUS_IN_USE   SH_MAKE_NAME(SH_IN_USE)
 
#define  SH_ITERATOR   SH_MAKE_NAME(iterator)
 
#define  SH_CREATE   SH_MAKE_NAME(create)
 
#define  SH_DESTROY   SH_MAKE_NAME(destroy)
 
#define  SH_RESET   SH_MAKE_NAME(reset)
 
#define  SH_INSERT   SH_MAKE_NAME(insert)
 
#define  SH_INSERT_HASH   SH_MAKE_NAME(insert_hash)
 
 
#define  SH_DELETE   SH_MAKE_NAME(delete)
 
#define  SH_LOOKUP   SH_MAKE_NAME(lookup)
 
#define  SH_LOOKUP_HASH   SH_MAKE_NAME(lookup_hash)
 
#define  SH_GROW   SH_MAKE_NAME(grow)
 
#define  SH_START_ITERATE   SH_MAKE_NAME(start_iterate)
 
#define  SH_START_ITERATE_AT   SH_MAKE_NAME(start_iterate_at)
 
#define  SH_ITERATE   SH_MAKE_NAME(iterate)
 
#define  SH_ALLOCATE   SH_MAKE_NAME(allocate)
 
#define  SH_FREE   SH_MAKE_NAME(free)
 
#define  SH_STAT   SH_MAKE_NAME(stat)
 
#define  SH_COMPUTE_SIZE   SH_MAKE_NAME(compute_size)
 
#define  SH_UPDATE_PARAMETERS   SH_MAKE_NAME(update_parameters)
 
#define  SH_NEXT   SH_MAKE_NAME(next)
 
#define  SH_PREV   SH_MAKE_NAME(prev)
 
#define  SH_DISTANCE_FROM_OPTIMAL   SH_MAKE_NAME(distance)
 
#define  SH_INITIAL_BUCKET   SH_MAKE_NAME(initial_bucket)
 
#define  SH_ENTRY_HASH   SH_MAKE_NAME(entry_hash)
 
#define  SH_INSERT_HASH_INTERNAL   SH_MAKE_NAME(insert_hash_internal)
 
#define  SH_LOOKUP_HASH_INTERNAL   SH_MAKE_NAME(lookup_hash_internal)
 

Typedefs

typedef struct SH_TYPE  SH_TYPE
 
typedef enum SH_STATUS  SH_STATUS
 
typedef struct SH_ITERATOR  SH_ITERATOR
 

Enumerations

enum   SH_STATUS { SH_STATUS_EMPTY = 0x00 , SH_STATUS_IN_USE = 0x01 }
 

Functions

SH_SCOPE SH_TYPESH_CREATE (MemoryContext ctx, uint32 nelements, void *private_data)
 
 
SH_SCOPE void  SH_RESET (SH_TYPE *tb)
 
SH_SCOPE void  SH_GROW (SH_TYPE *tb, uint64 newsize)
 
 
 
 
 
 
 
 
 
 
SH_SCOPE void  SH_STAT (SH_TYPE *tb)
 

Macro Definition Documentation

SH_ALLOCATE

#define SH_ALLOCATE   SH_MAKE_NAME(allocate)

Definition at line 126 of file simplehash.h.

SH_COMPUTE_SIZE

#define SH_COMPUTE_SIZE   SH_MAKE_NAME(compute_size)

Definition at line 131 of file simplehash.h.

SH_CREATE

#define SH_CREATE   SH_MAKE_NAME(create)

Definition at line 113 of file simplehash.h.

SH_DELETE

#define SH_DELETE   SH_MAKE_NAME(delete)

Definition at line 119 of file simplehash.h.

SH_DELETE_ITEM

#define SH_DELETE_ITEM   SH_MAKE_NAME(delete_item)

Definition at line 118 of file simplehash.h.

SH_DESTROY

#define SH_DESTROY   SH_MAKE_NAME(destroy)

Definition at line 114 of file simplehash.h.

SH_DISTANCE_FROM_OPTIMAL

#define SH_DISTANCE_FROM_OPTIMAL   SH_MAKE_NAME(distance)

Definition at line 135 of file simplehash.h.

SH_ENTRY_HASH

#define SH_ENTRY_HASH   SH_MAKE_NAME(entry_hash)

Definition at line 137 of file simplehash.h.

SH_FREE

#define SH_FREE   SH_MAKE_NAME(free)

Definition at line 127 of file simplehash.h.

SH_GROW

#define SH_GROW   SH_MAKE_NAME(grow)

Definition at line 122 of file simplehash.h.

SH_INITIAL_BUCKET

#define SH_INITIAL_BUCKET   SH_MAKE_NAME(initial_bucket)

Definition at line 136 of file simplehash.h.

SH_INSERT

#define SH_INSERT   SH_MAKE_NAME(insert)

Definition at line 116 of file simplehash.h.

SH_INSERT_HASH

#define SH_INSERT_HASH   SH_MAKE_NAME(insert_hash)

Definition at line 117 of file simplehash.h.

SH_INSERT_HASH_INTERNAL

#define SH_INSERT_HASH_INTERNAL   SH_MAKE_NAME(insert_hash_internal)

Definition at line 138 of file simplehash.h.

SH_ITERATE

#define SH_ITERATE   SH_MAKE_NAME(iterate)

Definition at line 125 of file simplehash.h.

SH_ITERATOR

#define SH_ITERATOR   SH_MAKE_NAME(iterator)

Definition at line 110 of file simplehash.h.

SH_LOOKUP

#define SH_LOOKUP   SH_MAKE_NAME(lookup)

Definition at line 120 of file simplehash.h.

SH_LOOKUP_HASH

#define SH_LOOKUP_HASH   SH_MAKE_NAME(lookup_hash)

Definition at line 121 of file simplehash.h.

SH_LOOKUP_HASH_INTERNAL

#define SH_LOOKUP_HASH_INTERNAL   SH_MAKE_NAME(lookup_hash_internal)

Definition at line 139 of file simplehash.h.

SH_MAKE_NAME

#define SH_MAKE_NAME (   name )    SH_MAKE_NAME_(SH_MAKE_PREFIX(SH_PREFIX),name)

Definition at line 100 of file simplehash.h.

SH_MAKE_NAME_

#define SH_MAKE_NAME_ (   a,
  b 
)    CppConcat(a,b)

Definition at line 101 of file simplehash.h.

SH_MAKE_PREFIX

#define SH_MAKE_PREFIX (   a )    CppConcat(a,_)

Definition at line 99 of file simplehash.h.

SH_NEXT

#define SH_NEXT   SH_MAKE_NAME(next)

Definition at line 133 of file simplehash.h.

SH_PREV

#define SH_PREV   SH_MAKE_NAME(prev)

Definition at line 134 of file simplehash.h.

SH_RESET

#define SH_RESET   SH_MAKE_NAME(reset)

Definition at line 115 of file simplehash.h.

SH_START_ITERATE

#define SH_START_ITERATE   SH_MAKE_NAME(start_iterate)

Definition at line 123 of file simplehash.h.

SH_START_ITERATE_AT

#define SH_START_ITERATE_AT   SH_MAKE_NAME(start_iterate_at)

Definition at line 124 of file simplehash.h.

SH_STAT

#define SH_STAT   SH_MAKE_NAME(stat)

Definition at line 128 of file simplehash.h.

SH_STATUS

#define SH_STATUS   SH_MAKE_NAME(status)

Definition at line 107 of file simplehash.h.

SH_STATUS_EMPTY

#define SH_STATUS_EMPTY   SH_MAKE_NAME(SH_EMPTY)

Definition at line 108 of file simplehash.h.

SH_STATUS_IN_USE

#define SH_STATUS_IN_USE   SH_MAKE_NAME(SH_IN_USE)

Definition at line 109 of file simplehash.h.

SH_TYPE

#define SH_TYPE   SH_MAKE_NAME(hash)

Definition at line 106 of file simplehash.h.

SH_UPDATE_PARAMETERS

#define SH_UPDATE_PARAMETERS   SH_MAKE_NAME(update_parameters)

Definition at line 132 of file simplehash.h.

Typedef Documentation

SH_ITERATOR

typedef struct SH_ITERATOR SH_ITERATOR

SH_STATUS

typedef enum SH_STATUS SH_STATUS

SH_TYPE

typedef struct SH_TYPE SH_TYPE

Enumeration Type Documentation

SH_STATUS

enum SH_STATUS
Enumerator
SH_STATUS_EMPTY 
SH_STATUS_IN_USE 

Definition at line 175 of file simplehash.h.

176{
177 SH_STATUS_EMPTY = 0x00,
178 SH_STATUS_IN_USE = 0x01
179} SH_STATUS;
#define SH_STATUS
Definition: simplehash.h:107
#define SH_STATUS_IN_USE
Definition: simplehash.h:109
#define SH_STATUS_EMPTY
Definition: simplehash.h:108

Function Documentation

SH_CREATE()

SH_SCOPE SH_TYPE * SH_CREATE ( MemoryContext  ctx,
uint32  nelements,
void *  private_data 
)

SH_DELETE()

SH_SCOPE bool SH_DELETE ( SH_TYPEtb,
SH_KEY_TYPE  key 
)

SH_DELETE_ITEM()

SH_SCOPE void SH_DELETE_ITEM ( SH_TYPEtb,
SH_ELEMENT_TYPEentry 
)

SH_DESTROY()

SH_SCOPE void SH_DESTROY ( SH_TYPEtb )

SH_GROW()

SH_SCOPE void SH_GROW ( SH_TYPEtb,
uint64  newsize 
)

SH_INSERT()

SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT ( SH_TYPEtb,
SH_KEY_TYPE  key,
bool *  found 
)

SH_INSERT_HASH()

SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT_HASH ( SH_TYPEtb,
SH_KEY_TYPE  key,
uint32  hash,
bool *  found 
)

SH_ITERATE()

SH_SCOPE SH_ELEMENT_TYPE * SH_ITERATE ( SH_TYPEtb,
SH_ITERATORiter 
)

SH_LOOKUP()

SH_SCOPE SH_ELEMENT_TYPE * SH_LOOKUP ( SH_TYPEtb,
SH_KEY_TYPE  key 
)

SH_LOOKUP_HASH()

SH_SCOPE SH_ELEMENT_TYPE * SH_LOOKUP_HASH ( SH_TYPEtb,
SH_KEY_TYPE  key,
uint32  hash 
)

SH_RESET()

SH_SCOPE void SH_RESET ( SH_TYPEtb )

SH_START_ITERATE()

SH_SCOPE void SH_START_ITERATE ( SH_TYPEtb,
SH_ITERATORiter 
)

SH_START_ITERATE_AT()

SH_SCOPE void SH_START_ITERATE_AT ( SH_TYPEtb,
SH_ITERATORiter,
uint32  at 
)

SH_STAT()

SH_SCOPE void SH_STAT ( SH_TYPEtb )

AltStyle によって変換されたページ (->オリジナル) /