skip_list_types.h
Go to the documentation of this file.
1 /******************************************************************************/
35 /******************************************************************************/
36 
37 #if !defined(SKIP_LIST_TYPES_H_)
38 #define SKIP_LIST_TYPES_H_
39 
40 #if defined(__cplusplus)
41 extern "C" {
42 #endif
43 
44 #include "../dictionary_types.h"
45 #include "./../dictionary.h"
46 
47 #include "../../key_value/kv_system.h"
48 
49 typedef int ion_sl_level_t;
54 typedef struct sl_node {
57  ion_sl_level_t height;
59  struct sl_node **next;
62 
67 typedef struct skiplist {
72  ion_sl_level_t maxheight;
74  int pnum;
75  int pden;
77 
78 typedef struct
83 
84 #if defined(__cplusplus)
85 }
86 #endif
87 
88 #endif /* SKIP_LIST_TYPES_H_ */
ion_value_t value
Struct of the Skiplist, holds metadata and the entry point into the skiplist.
ion_sl_level_t height
int ion_sl_level_t
struct sl_node ** next
ion_dictionary_parent_t super
ion_dict_cursor_t super
struct sldict_cursor ion_sldict_cursor_t
This is the super type for all dictionaries.
ion_sl_node_t * head
Struct of a node in the skiplist.
void * ion_key_t
A dictionary key.
Definition: kv_system.h:241
void * ion_value_t
A dictionary value.
Definition: kv_system.h:246
struct skiplist ion_skiplist_t
Struct of the Skiplist, holds metadata and the entry point into the skiplist.
ion_sl_level_t maxheight
A supertype for dictionary cursor objects.
ion_key_t key
ion_sl_node_t * current
struct sl_node ion_sl_node_t
Struct of a node in the skiplist.