18 #define SPA_API_DICT SPA_API_IMPL
20 #define SPA_API_DICT static inline
39#define SPA_DICT_ITEM(key,value) ((struct spa_dict_item) { (key), (value) })
40#define SPA_DICT_ITEM_INIT(key,value) SPA_DICT_ITEM(key,value)
43#define SPA_DICT_FLAG_SORTED (1<<0)
49#define SPA_DICT(items,n_items) ((struct spa_dict) { 0, (n_items), (items) })
50#define SPA_DICT_ARRAY(items) SPA_DICT((items),SPA_N_ELEMENTS(items))
51#define SPA_DICT_ITEMS(...) SPA_DICT_ARRAY(((struct spa_dict_item[]) { __VA_ARGS__}))
53#define SPA_DICT_INIT(items,n_items) SPA_DICT(items,n_items)
54#define SPA_DICT_INIT_ARRAY(items) SPA_DICT_ARRAY(items)
56#define spa_dict_for_each(item, dict) \
57 for ((item) = (dict)->items; \
51#define SPA_DICT_ITEMS(...) SPA_DICT_ARRAY(((struct spa_dict_item[]) { __VA_ARGS__})) {
…};
58 (item) < &(dict)->items[(dict)->n_items]; \
65 return strcmp(it1->
key, it2->key);
92 if (!strcmp(item->key,
key))
102 return item ? item->value : NULL;
SPA_API_DICT void spa_dict_qsort(struct spa_dict *dict)
Definition dict.h:83
SPA_API_DICT const struct spa_dict_item * spa_dict_lookup_item(const struct spa_dict *dict, const char *key)
Definition dict.h:91
#define SPA_DICT_ITEM_INIT(key, value)
Definition dict.h:49
SPA_API_DICT const char * spa_dict_lookup(const struct spa_dict *dict, const char *key)
Definition dict.h:114
SPA_API_DICT int spa_dict_item_compare(const void *i1, const void *i2)
Definition dict.h:76
#define SPA_DICT_FLAG_SORTED
items are sorted
Definition dict.h:53
#define spa_dict_for_each(item, dict)
Definition dict.h:71
#define SPA_FLAG_SET(field, flag)
Definition defs.h:93
#define SPA_FLAG_IS_SET(field, flag)
Definition defs.h:90
const char * key
Definition dict.h:42
const char * value
Definition dict.h:43
const struct spa_dict_item * items
Definition dict.h:56
uint32_t n_items
Definition dict.h:55
uint32_t flags
Definition dict.h:54
#define SPA_API_DICT
Definition dict.h:27