Typedefs | |
typedef _Set | Set |
Represents a set of data. | |
typedef unsigned long(* | SetHashFunc )(void *data) |
Hash function. | |
typedef int(* | SetEqualFunc )(void *data1, void *data2) |
Equality function. | |
typedef void *(* | SetCopyFunc )(void *data) |
Copy function. | |
typedef void(* | SetIterator )(void *data, void *user_data) |
Set iterator. | |
typedef void(* | SetFreeFunc )(void *data) |
Function used to free values stored in a set. | |
Functions | |
Set * | set_new (SetHashFunc hash_func, SetEqualFunc equal_func) |
Create a new set. | |
void | set_free (Set *set) |
Destroy a set. | |
void | set_register_free_function (Set *set, SetFreeFunc free_func) |
Register a function to be called when values are removed from the set. | |
int | set_insert (Set *set, void *data) |
Add a value to a set. | |
int | set_remove (Set *set, void *data) |
Remove a value from a set. | |
int | set_query (Set *set, void *data) |
Query if a particular value is in a set. | |
void | set_foreach (Set *set, SetIterator callback, void *user_data) |
Iterate over all values in a set. | |
int | set_num_entries (Set *set) |
Retrieve the number of entries in a set. | |
void ** | set_to_array (Set *set) |
Create an array containing all entries in a set. | |
Set * | set_union (Set *set1, Set *set2, SetCopyFunc copy_func) |
Perform a union of two sets. | |
Set * | set_intersection (Set *set1, Set *set2, SetCopyFunc copy_func) |
Perform an intersection of two sets. |
A set stores a collection of values. Each value can only exist once in the set.
To create a new set, use set_new. To destroy a set, use set_free.
To add a value to a set, use set_insert. To remove a value from a set, use set_remove.
To find the number of entries in a set, use set_num_entries.
To query if a particular value is in a set, use set_query.
To iterate over all values in a set, use set_foreach.
|
Represents a set of data. Created using the set_new function and destroyed using the set_free function.
|
|
Copy function. Given a pointer to some data, return a copy of it. Used by set_intersection and set_union. |
|
Equality function. Compares two values to determine if they are equivalent. |
|
Function used to free values stored in a set. |
|
Hash function. Generates a hash key for data to be stored in a set. |
|
Set iterator. Callback function used to iterate over values in a set. |
|
Iterate over all values in a set.
|
|
Destroy a set.
|
|
Add a value to a set.
|
|
Perform an intersection of two sets.
|
|
Create a new set.
|
|
Retrieve the number of entries in a set.
|
|
Query if a particular value is in a set.
|
|
Register a function to be called when values are removed from the set.
|
|
Remove a value from a set.
|
|
Create an array containing all entries in a set.
|
|
Perform a union of two sets.
|