libxml2 Reference Manual |
---|
dict
dict - string dictionary
dictionary of reusable strings, just used to avoid allocation and freeing operations.
Author(s): Daniel Veillard
Synopsis
typedef struct _xmlDict xmlDict; typedef xmlDict * xmlDictPtr; size_t xmlDictGetUsage (xmlDictPtr dict); int xmlDictReference (xmlDictPtr dict); void xmlDictCleanup (void); int xmlDictSize (xmlDictPtr dict); const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len); size_t xmlDictSetLimit (xmlDictPtr dict,
size_t limit); int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str); const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name); int xmlInitializeDict (void); xmlDictPtr xmlDictCreateSub (xmlDictPtr sub); void xmlDictFree (xmlDictPtr dict); const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len); xmlDictPtr xmlDictCreate (void);
Description
Details
Structure xmlDict
struct _xmlDict { The content of this structure is not made public by the API. } xmlDict;
xmlDictCleanup ()
void xmlDictCleanup (void)
Free the dictionary mutex. Do not call unless sure the library is not in use anymore !
xmlDictCreate ()
xmlDictPtr xmlDictCreate (void)
Create a new dictionary
Returns: | the newly created dictionary, or NULL if an error occurred. |
xmlDictCreateSub ()
xmlDictPtr xmlDictCreateSub (xmlDictPtr sub)
Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.
sub: | an existing dictionary |
Returns: | the newly created dictionary, or NULL if an error occurred. |
xmlDictExists ()
const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len)
Check if the @name exists in the dictionary @dict.
dict: | the dictionary |
name: | the name of the userdata |
len: | the length of the name, if -1 it is recomputed |
Returns: | the internal copy of the name or NULL if not found. |
xmlDictFree ()
void xmlDictFree (xmlDictPtr dict)
Free the hash @dict and its contents. The userdata is deallocated with @f if provided.
dict: | the dictionary |
xmlDictGetUsage ()
size_t xmlDictGetUsage (xmlDictPtr dict)
Get how much memory is used by a dictionary for strings Added in 2.9.0
dict: | the dictionary |
Returns: | the amount of strings allocated |
xmlDictLookup ()
const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len)
Add the @name to the dictionary @dict if not present.
dict: | the dictionary |
name: | the name of the userdata |
len: | the length of the name, if -1 it is recomputed |
Returns: | the internal copy of the name or NULL in case of internal error |
xmlDictOwns ()
int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str)
check if a string is owned by the dictionary
dict: | the dictionary |
str: | the string |
Returns: | 1 if true, 0 if false and -1 in case of error -1 in case of error |
xmlDictQLookup ()
const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name)
Add the QName @prefix:@name to the hash @dict if not present.
dict: | the dictionary |
prefix: | the prefix |
name: | the name |
Returns: | the internal copy of the QName or NULL in case of internal error |
xmlDictReference ()
int xmlDictReference (xmlDictPtr dict)
Increment the reference counter of a dictionary
dict: | the dictionary |
Returns: | 0 in case of success and -1 in case of error |
xmlDictSetLimit ()
size_t xmlDictSetLimit (xmlDictPtr dict,
size_t limit)
Set a size limit for the dictionary Added in 2.9.0
dict: | the dictionary |
limit: | the limit in bytes |
Returns: | the previous limit of the dictionary or 0 |
xmlDictSize ()
int xmlDictSize (xmlDictPtr dict)
Query the number of elements installed in the hash @dict.
dict: | the dictionary |
Returns: | the number of elements in the dictionary or -1 in case of error |
xmlInitializeDict ()
int xmlInitializeDict (void)
Do the dictionary mutex initialization. this function is deprecated
Returns: | 0 if initialization was already done, and 1 if that call led to the initialization |