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.
|
1.4.4