/* @@@HEAD@@@ // Declarations for ColdC dictionaries. */ #ifndef _dict_h_ #define _dict_h_ #include "cdc_types.h" #if 0 #include "data.h" #endif Dict * dict_new(list_t * keys, list_t * values); Dict * dict_new_empty(void); Dict * dict_from_slices(list_t * slices); Dict * dict_dup(Dict * dict); void dict_discard(Dict * dict); int dict_cmp(Dict * dict1, Dict * dict2); Dict * dict_add(Dict * dict, data_t * key, data_t * value); Dict * dict_del(Dict * dict, data_t * key); long dict_find(Dict * dict, data_t * key, data_t * ret); int dict_contains(Dict * dict, data_t * key); list_t * dict_keys(Dict * dict); list_t * dict_key_value_pair(Dict * mapping, int i); int dict_size(Dict * dict); string_t * dict_add_literal_to_str(string_t * str, Dict * dict); #endif