libxml2

Loading...
Searching...
No Matches
Typedefs | Functions
dict.h File Reference

string dictionary More...

## Typedefs
typedef struct _xmlDict | xmlDict
| Dictionary (pool for interned strings)

## Functions
int | xmlInitializeDict (void)
xmlDict * | xmlDictCreate (void)
| Create a new dictionary.
size_t | xmlDictSetLimit (xmlDict *dict, size_t limit)
| Set a size limit for the dictionary Added in 2.9.0.
size_t | xmlDictGetUsage (xmlDict *dict)
| Get how much memory is used by a dictionary for strings Added in 2.9.0.
xmlDict * | xmlDictCreateSub (xmlDict *sub)
| Create a new dictionary, inheriting strings from the read-only dictionary `sub`.
int | xmlDictReference (xmlDict *dict)
| Increment the reference counter of a dictionary.
void | xmlDictFree (xmlDict *dict)
| Free the hash `dict` and its contents.
const xmlChar * | xmlDictLookup (xmlDict *dict, const xmlChar *name, int len)
| Lookup a string and add it to the dictionary if it wasn't found.
const xmlChar * | xmlDictExists (xmlDict *dict, const xmlChar *name, int len)
| Check if a string exists in the dictionary.
const xmlChar * | xmlDictQLookup (xmlDict *dict, const xmlChar *prefix, const xmlChar *name)
| Lookup the QName `prefix:name` and add it to the dictionary if it wasn't found.
int | xmlDictOwns (xmlDict *dict, const xmlChar *str)
| check if a string is owned by the dictionary
int | xmlDictSize (xmlDict *dict)
| Query the number of elements installed in the hash `dict`.
void | xmlDictCleanup (void)

## Detailed Description

string dictionary

dictionary of reusable strings, just used to avoid allocation and freeing operations.

Copyright
  See Copyright for the status of this software.

Author
  Daniel Veillard

## Function Documentation

## ◆ xmlDictCleanup()

void xmlDictCleanup | ( | void |  | ) |

Deprecated:
  This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don't have call cleanup functions at all.

## ◆ xmlDictCreate()

xmlDict * xmlDictCreate | ( | void |  | ) |

Create a new dictionary.

Returns
  the newly created dictionary, or NULL if an error occurred.

## ◆ xmlDictCreateSub()

xmlDict * xmlDictCreateSub | ( | xmlDict * | 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.

Parameters

  sub | an existing dictionary

Returns
  the newly created dictionary, or NULL if an error occurred.

## ◆ xmlDictExists()

const xmlChar * xmlDictExists | ( | xmlDict * | dict,
|  | const xmlChar * | name,
|  | int | len
| ) |  |

Check if a string exists in the dictionary.

Parameters

  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 | ( | xmlDict * | dict | ) |

Free the hash `dict` and its contents.

The userdata is deallocated with `f` if provided.

Parameters

  dict | the dictionary

## ◆ xmlDictGetUsage()

size_t xmlDictGetUsage | ( | xmlDict * | dict | ) |

Get how much memory is used by a dictionary for strings Added in 2.9.0.

Parameters

  dict | the dictionary

Returns
  the amount of strings allocated

## ◆ xmlDictLookup()

const xmlChar * xmlDictLookup | ( | xmlDict * | dict,
|  | const xmlChar * | name,
|  | int | len
| ) |  |

Lookup a string and add it to the dictionary if it wasn't found.

Parameters

  dict | dictionary
  name | string key
  len | length of the key, if -1 it is recomputed

Returns
  the interned copy of the string or NULL if a memory allocation failed.

## ◆ xmlDictOwns()

int xmlDictOwns | ( | xmlDict * | dict,
|  | const xmlChar * | str
| ) |  |

check if a string is owned by the dictionary

Parameters

  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 | ( | xmlDict * | dict,
|  | const xmlChar * | prefix,
|  | const xmlChar * | name
| ) |  |

Lookup the QName `prefix:name` and add it to the dictionary if it wasn't found.

Parameters

  dict | the dictionary
  prefix | the prefix
  name | the name

Returns
  the interned copy of the string or NULL if a memory allocation failed.

## ◆ xmlDictReference()

int xmlDictReference | ( | xmlDict * | dict | ) |

Increment the reference counter of a dictionary.

Parameters

  dict | the dictionary

Returns
  0 in case of success and -1 in case of error

## ◆ xmlDictSetLimit()

size_t xmlDictSetLimit | ( | xmlDict * | dict,
|  | size_t | limit
| ) |  |

Set a size limit for the dictionary Added in 2.9.0.

Parameters

  dict | the dictionary
  limit | the limit in bytes

Returns
  the previous limit of the dictionary or 0

## ◆ xmlDictSize()

int xmlDictSize | ( | xmlDict * | dict | ) |

Query the number of elements installed in the hash `dict`.

Parameters

  dict | the dictionary

Returns
  the number of elements in the dictionary or -1 in case of error

## ◆ xmlInitializeDict()

int xmlInitializeDict | ( | void |  | ) |

Deprecated:
  Alias for xmlInitParser.

Returns
  0.