The cached critical bit tree associative array stores a small number of bits adjacent to the critical bit with the tree nodes. The caching renders the final string comparison unnecessary when it continuously tiles the tree descending path.
The improvements over the plain critical bit tree associative array are dubious, and the data structure is designed more as a testbed for the caching technique which is of more general interest.
See String Key Pointer Value Array Library.
fastassociative array constructor routine:
extern int x1f4_fast_s8deck(void *, unsigned, struct x1f4_s8deck_type *);
findplain search routine:
extern int x1f4_find_s8path(void *, const char *, unsigned, const void **);
finiassociative array regular destructor routine:
extern int x1f4_fini_s8deck(void **);
flatassociative array destructor routine:
extern int x1f4_flat_s8deck(void *);
initassociative array regular constructor routine:
extern int x1f4_init_s8deck(void **, unsigned, struct x1f4_s8deck_type *);
notedata traversal routine:
extern int x1f4_note_s8deck (void *, void *, int (*) (void *, const char *, unsigned));
passplain data deletion routine:
extern int x1f4_pass_s8path(void *, const char *, unsigned);
postplain data insertion routine:
extern int x1f4_post_s8path(void *, const char *, unsigned, const void *);