1
#ifndef FC_SOLVE_DBM_LRU_CACHE_H
2
#define FC_SOLVE_DBM_LRU_CACHE_H
9
#include "generic_tree.h"
10
#include "fcc_brfs_test.h"
12
struct fcs_cache_key_info_struct
14
fcs_encoded_state_buffer_t key;
15
fcs_fcc_move_t * moves_to_key;
16
/* lower_pri and higher_pri form a doubly linked list.
20
struct fcs_cache_key_info_struct * lower_pri, * higher_pri;
23
typedef struct fcs_cache_key_info_struct fcs_cache_key_info_t;
27
#if (FCS_RCS_CACHE_STORAGE == FCS_RCS_CACHE_STORAGE_JUDY)
28
Pvoid_t states_values_to_keys_map;
29
#elif (FCS_RCS_CACHE_STORAGE == FCS_RCS_CACHE_STORAGE_KAZ_TREE)
32
#error unknown FCS_RCS_CACHE_STORAGE
34
fcs_compact_allocator_t states_values_to_keys_allocator;
35
long count_elements_in_cache, max_num_elements_in_cache;
37
fcs_cache_key_info_t * lowest_pri, * highest_pri;
39
#define RECYCLE_BIN_NEXT(el) ((el)->higher_pri)
40
fcs_cache_key_info_t * recycle_bin;
47
#endif /* FC_SOLVE_DBM_LRU_CACHE_H */