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;                            \ 
 
   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