idxset: Allow deep copying with pa_idxset_copy()

This commit is contained in:
Tanu Kaskinen 2013-11-17 22:47:59 +02:00
parent 5c860fe06d
commit d1fd31d50f
4 changed files with 9 additions and 13 deletions

View file

@ -49,6 +49,7 @@ int pa_idxset_string_compare_func(const void *a, const void *b);
typedef unsigned (*pa_hash_func_t)(const void *p);
typedef int (*pa_compare_func_t)(const void *a, const void *b);
typedef void *(*pa_copy_func_t)(const void *p);
typedef struct pa_idxset pa_idxset;
@ -105,8 +106,10 @@ unsigned pa_idxset_size(pa_idxset*s);
/* Return true of the idxset is empty */
bool pa_idxset_isempty(pa_idxset *s);
/* Duplicate the idxset. This will not copy the actual indexes */
pa_idxset *pa_idxset_copy(pa_idxset *s);
/* Duplicate the idxset. This will not copy the actual indexes. If copy_func is
* set, each entry is copied using the provided function, otherwise a shallow
* copy will be made. */
pa_idxset *pa_idxset_copy(pa_idxset *s, pa_copy_func_t copy_func);
/* A macro to ease iteration through all entries */
#define PA_IDXSET_FOREACH(e, s, idx) \