All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dict.h File Reference

Public dictionary API. More...

#include <stdint.h>
#include "version.h"

Go to the source code of this file.

Data Structures

struct  AVDictionaryEntry


#define AV_DICT_MATCH_CASE   1
 Only get an entry with exact-case key match.
 Return first entry in a dictionary whose first part corresponds to the search key, ignoring the suffix of the found key string.
 Take ownership of a key that's been allocated with av_malloc() or another memory allocation function.
 Take ownership of a value that's been allocated with av_malloc() or another memory allocation function.
 Don't overwrite existing entries.
#define AV_DICT_APPEND   32
 If the entry already exists, append to it.


AVDictionaryEntryav_dict_get (FF_CONST_AVUTIL53 AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
 Get a dictionary entry with matching key.
int av_dict_count (const AVDictionary *m)
 Get number of entries in dictionary.
int av_dict_set (AVDictionary **pm, const char *key, const char *value, int flags)
 Set the given entry in *pm, overwriting an existing entry.
int av_dict_set_int (AVDictionary **pm, const char *key, int64_t value, int flags)
 Convenience wrapper for av_dict_set that converts the value to a string and stores it.
int av_dict_parse_string (AVDictionary **pm, const char *str, const char *key_val_sep, const char *pairs_sep, int flags)
 Parse the key/value pairs list and add the parsed entries to a dictionary.
void av_dict_copy (AVDictionary **dst, FF_CONST_AVUTIL53 AVDictionary *src, int flags)
 Copy entries from one AVDictionary struct into another.
void av_dict_free (AVDictionary **m)
 Free all the memory allocated for an AVDictionary struct and all keys and values.

Detailed Description

Public dictionary API.

AVDictionary is provided for compatibility with libav. It is both in implementation as well as API inefficient. It does not scale and is extremely slow with large dictionaries. It is recommended that new code uses our tree container from tree.c/h where applicable, which uses AVL trees to achieve O(log n) performance.

Definition in file dict.h.