World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
AVDictionary

Simple key:value store. Подробнее...

+ Граф связей класса AVDictionary:

Классы

struct  AVDictionaryEntry
 

Определения типов

typedef struct AVDictionaryEntry AVDictionaryEntry
 
typedef struct AVDictionary AVDictionary
 

Функции

AVDictionaryEntryav_dict_get (const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
 
int av_dict_count (const AVDictionary *m)
 
int av_dict_set (AVDictionary **pm, const char *key, const char *value, int flags)
 
int av_dict_set_int (AVDictionary **pm, const char *key, int64_t value, int flags)
 
int av_dict_parse_string (AVDictionary **pm, const char *str, const char *key_val_sep, const char *pairs_sep, int flags)
 
int av_dict_copy (AVDictionary **dst, const AVDictionary *src, int flags)
 
void av_dict_free (AVDictionary **m)
 
int av_dict_get_string (const AVDictionary *m, char **buffer, const char key_val_sep, const char pairs_sep)
 

Подробное описание

Simple key:value store.

Dictionaries are used for storing key:value pairs. To create an AVDictionary, simply pass an address of a NULL pointer to av_dict_set(). NULL can be used as an empty dictionary wherever a pointer to an AVDictionary is required. Use av_dict_get() to retrieve an entry or iterate over all entries and finally av_dict_free() to free the dictionary and all its contents.

AVDictionary *d = NULL; // "create" an empty dictionary
av_dict_set(&d, "foo", "bar", 0); // add an entry
char *k = av_strdup("key"); // if your strings are already allocated,
char *v = av_strdup("value"); // you can avoid copying them like this
av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) {
<....> // iterate over all entries in d
}

Типы

◆ AVDictionaryEntry

◆ AVDictionary

typedef struct AVDictionary AVDictionary

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

См. определение в файле dict.h строка 86

Функции

◆ av_dict_get()

AVDictionaryEntry* av_dict_get ( const AVDictionary m,
const char *  key,
const AVDictionaryEntry prev,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Get a dictionary entry with matching key.

The returned entry key or value must not be changed, or it will cause undefined behavior.

To iterate through all the dictionary entries, you can set the matching key to the null string "" and set the AV_DICT_IGNORE_SUFFIX flag.

Аргументы
prevSet to the previous matching element to find the next. If set to NULL the first matching element is returned.
keymatching key
flagsa collection of AV_DICT_* flags controlling how the entry is retrieved
Возвращает
found entry or NULL in case no matching entry was found in the dictionary

◆ av_dict_count()

int av_dict_count ( const AVDictionary m)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Get number of entries in dictionary.

Аргументы
mdictionary
Возвращает
number of entries in dictionary

◆ av_dict_set()

int av_dict_set ( AVDictionary **  pm,
const char *  key,
const char *  value,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Set the given entry in *pm, overwriting an existing entry.

Note: If AV_DICT_DONT_STRDUP_KEY or AV_DICT_DONT_STRDUP_VAL is set, these arguments will be freed on error.

Warning: Adding a new entry to a dictionary invalidates all existing entries previously returned with av_dict_get.

Аргументы
pmpointer to a pointer to a dictionary struct. If *pm is NULL a dictionary struct is allocated and put in *pm.
keyentry key to add to *pm (will either be av_strduped or added as a new key depending on flags)
valueentry value to add to *pm (will be av_strduped or added as a new key depending on flags). Passing a NULL value will cause an existing entry to be deleted.
Возвращает
>= 0 on success otherwise an error code <0

◆ av_dict_set_int()

int av_dict_set_int ( AVDictionary **  pm,
const char *  key,
int64_t  value,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Convenience wrapper for av_dict_set that converts the value to a string and stores it.

Note: If AV_DICT_DONT_STRDUP_KEY is set, key will be freed on error.

◆ av_dict_parse_string()

int av_dict_parse_string ( AVDictionary **  pm,
const char *  str,
const char *  key_val_sep,
const char *  pairs_sep,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Parse the key/value pairs list and add the parsed entries to a dictionary.

In case of failure, all the successfully set entries are stored in *pm. You may need to manually free the created dictionary.

Аргументы
key_val_sepa 0-terminated list of characters used to separate key from value
pairs_sepa 0-terminated list of characters used to separate two pairs from each other
flagsflags to use when adding to dictionary. AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL are ignored since the key/value tokens will always be duplicated.
Возвращает
0 on success, negative AVERROR code on failure

◆ av_dict_copy()

int av_dict_copy ( AVDictionary **  dst,
const AVDictionary src,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Copy entries from one AVDictionary struct into another.

Аргументы
dstpointer to a pointer to a AVDictionary struct. If *dst is NULL, this function will allocate a struct for you and put it in *dst
srcpointer to source AVDictionary struct
flagsflags to use when setting entries in *dst
Заметки
metadata is read using the AV_DICT_IGNORE_SUFFIX flag
Возвращает
0 on success, negative AVERROR code on failure. If dst was allocated by this function, callers should free the associated memory.

◆ av_dict_free()

void av_dict_free ( AVDictionary **  m)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Free all the memory allocated for an AVDictionary struct and all keys and values.

◆ av_dict_get_string()

int av_dict_get_string ( const AVDictionary m,
char **  buffer,
const char  key_val_sep,
const char  pairs_sep 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/dict.h>

Get dictionary entries as a string.

Create a string containing dictionary's entries. Such string may be passed back to av_dict_parse_string().

Заметки
String is escaped with backslashes ('\').
Аргументы
[in]mdictionary
[out]bufferPointer to buffer that will be allocated with string containg entries. Buffer must be freed by the caller when is no longer needed.
[in]key_val_sepcharacter used to separate key from value
[in]pairs_sepcharacter used to separate two pairs from each other
Возвращает
>= 0 on success, negative on error
Предупреждения
Separators cannot be neither '\' nor '\0'. They also cannot be the same.
v
const GLdouble * v
Definition: SDL_opengl.h:2064
AVDictionaryEntry
Definition: dict.h:81
av_dict_get
AVDictionaryEntry * av_dict_get(const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
av_dict_free
void av_dict_free(AVDictionary **m)
t
GLdouble GLdouble t
Definition: SDL_opengl.h:2071
AVDictionary
struct AVDictionary AVDictionary
Definition: dict.h:86
av_strdup
char * av_strdup(const char *s) av_malloc_attrib
av_dict_set
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)