Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

taking the diff of two hash tables.

Taking the "diff" of two hash tables. More...

Typedefs

typedef svn_error_t *(* svn_hash_diff_func_t )(const void *key, apr_ssize_t klen, enum svn_hash_diff_key_status status, void *baton)
 Function type for expressing a key's status between two hash tables.


Enumerations

enum  svn_hash_diff_key_status
 Hash key status indicator for svn_hash_diff_func_t.


Functions

svn_error_tsvn_hash_diff (apr_hash_t *hash_a, apr_hash_t *hash_b, svn_hash_diff_func_t diff_func, void *diff_func_baton, apr_pool_t *pool)
 Take the diff of two hashtables.


Detailed Description

Taking the "diff" of two hash tables.


Function Documentation

svn_error_t* svn_hash_diff apr_hash_t *    hash_a,
apr_hash_t *    hash_b,
svn_hash_diff_func_t    diff_func,
void *    diff_func_baton,
apr_pool_t *    pool
 

Take the diff of two hashtables.

For each key in the union of hash_a's and hash_b's keys, invoke diff_func exactly once, passing the key, the key's length, an enum svn_hash_diff_key_status indicating which table(s) the key appears in, and diff_func_baton.

Process all keys of hash_a first, then all remaining keys of hash_b.

If diff_func returns error, return that error immediately, without applying diff_func to anything else.

hash_a or hash_b or both may be null; treat a null table as though empty.

Use pool for temporary allocation.


Generated on Wed Jun 7 11:02:40 2006 for Subversion by doxygen1.2.18