| /** |
| * @file |
| * |
| * @brief 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 |
| */ |
| |
| #ifndef __XML_DICT_H__ |
| #define __XML_DICT_H__ |
| |
| #include <stddef.h> |
| #include <libxml/xmlversion.h> |
| #include <libxml/xmlstring.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * Dictionary (pool for interned strings) |
| */ |
| typedef struct _xmlDict xmlDict; |
| typedef xmlDict *xmlDictPtr; |
| |
| /* |
| * Initializer |
| */ |
| XML_DEPRECATED |
| XMLPUBFUN int xmlInitializeDict(void); |
| |
| /* |
| * Constructor and destructor. |
| */ |
| XMLPUBFUN xmlDict * |
| xmlDictCreate (void); |
| XMLPUBFUN size_t |
| xmlDictSetLimit (xmlDict *dict, |
| size_t limit); |
| XMLPUBFUN size_t |
| xmlDictGetUsage (xmlDict *dict); |
| XMLPUBFUN xmlDict * |
| xmlDictCreateSub(xmlDict *sub); |
| XMLPUBFUN int |
| xmlDictReference(xmlDict *dict); |
| XMLPUBFUN void |
| xmlDictFree (xmlDict *dict); |
| |
| /* |
| * Lookup of entry in the dictionary. |
| */ |
| XMLPUBFUN const xmlChar * |
| xmlDictLookup (xmlDict *dict, |
| const xmlChar *name, |
| int len); |
| XMLPUBFUN const xmlChar * |
| xmlDictExists (xmlDict *dict, |
| const xmlChar *name, |
| int len); |
| XMLPUBFUN const xmlChar * |
| xmlDictQLookup (xmlDict *dict, |
| const xmlChar *prefix, |
| const xmlChar *name); |
| XMLPUBFUN int |
| xmlDictOwns (xmlDict *dict, |
| const xmlChar *str); |
| XMLPUBFUN int |
| xmlDictSize (xmlDict *dict); |
| |
| /* |
| * Cleanup function |
| */ |
| XML_DEPRECATED |
| XMLPUBFUN void |
| xmlDictCleanup (void); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* ! __XML_DICT_H__ */ |