X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fdict.h;h=8d1edf200a466fb629a326887a151be0b8d66d11;hb=b04a1cdb1a0345252a78caa8f7731089df314ad0;hp=54c9c80a003bb74cb4c054c99110d2eb9757737a;hpb=1f61b7e564e0ed44176f4c26302c828c45dd121c;p=idzebra-moved-to-github.git diff --git a/include/idzebra/dict.h b/include/idzebra/dict.h index 54c9c80..8d1edf2 100644 --- a/include/idzebra/dict.h +++ b/include/idzebra/dict.h @@ -1,4 +1,4 @@ -/* $Id: dict.h,v 1.8 2006-08-29 11:28:44 adam Exp $ +/* $Id: dict.h,v 1.13 2006-12-12 13:42:23 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -101,9 +101,11 @@ char *dict_lookup(Dict dict, const char *p); \param p string-z with prefix \param client client data to be supplied to function f \param f function which gets called for each item in tree - \retval 0 OK (0 or more entries deleted) + \retval 0 OK (0 or more entries deleted) \retval 1 OK (1 or more entries delete) \retval -1 ERROR + + Function f is called for each item to be deleted. */ YAZ_EXPORT int dict_delete_subtree(Dict dict, const char *p, void *client, @@ -114,9 +116,11 @@ int dict_delete_subtree(Dict dict, const char *p, void *client, \param dict dictionary handle \param p string-z with lookup string \param range number of allowed errors(extra/substituted/missing char) - \param f function be called for each match + \param f function be called for each match (NULL for no call of f) \retval 0 OK \retval -1 error + + Function f is called for each item matched. */ YAZ_EXPORT int dict_lookup_ec(Dict dict, char *p, int range, int (*f)(char *name)); @@ -129,9 +133,13 @@ int dict_lookup_ec(Dict dict, char *p, int range, int (*f)(char *name)); \param max_pos on return holds maximum number of chars that match (prefix) \param init_pos number of leading non-error corrected chars. \param f function be called for each match - \retval 0 OK - \retval 1 OK + \retval 0 Operation complete. Function f returned zero value always + \retval >0 Operation incomplete. Function f returned a non-zero value \retval -1 error (such as bad regular expression) + + The function f is called for each match. If function f returns + non-zero value the grep operation is stopped and the returned + non-zero value is also returned by dict_lookup_ec. */ YAZ_EXPORT int dict_lookup_grep(Dict dict, const char *p, int range, void *client, @@ -145,9 +153,12 @@ int dict_lookup_grep(Dict dict, const char *p, int range, void *client, \param after number of terms to be visited following str \param client client data pointer to be passed to match function f \param f function be called for each matching term - \retval 0 OK, and no terms visited - \retval 1 OK, and some terms have been visited + \retval 0 Successful \retval -1 error + + If the callback function f returns 0 the scan operation visits + all terms in range (before to after); if the function returns non-zero + the scan operation is cancelled. */ YAZ_EXPORT int dict_scan(Dict dict, char *str, @@ -168,9 +179,41 @@ void dict_grep_cmap(Dict dict, void *vp, const char **(*cmap)(void *vp, const char **from, int len)); +/** \brief copies one dictionary to another + \param bfs block file handle + \param from source dictionary file + \param to destination dictionary file +*/ YAZ_EXPORT int dict_copy_compact(BFiles bfs, const char *from, const char *to); +/** \brief reset Dictionary (makes it empty) + \param dict dictionary handle +*/ +YAZ_EXPORT +void dict_clean(Dict dict); + +/** \brief get number of lookup operations, since dict_open + \param dict dictionary handle + \returns number of operatons +*/ +YAZ_EXPORT +zint dict_get_no_lookup(Dict dict); + +/** \brief get number of insert operations, since dict_open + \param dict dictionary handle + \returns number of operatons +*/ +YAZ_EXPORT +zint dict_get_no_insert(Dict dict); + +/** \brief get number of page split operations, since dict_open + \param dict dictionary handle + \returns number of operatons +*/ +YAZ_EXPORT +zint dict_get_no_split(Dict dict); + YAZ_END_CDECL #endif