aboutsummaryrefslogtreecommitdiff
dict: string dictionary

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;


Typedef xmlDictPtr

xmlDict * xmlDictPtr;



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