Typedefs | |
typedef piojo_id_t | piojo_diset_sid_t |
Functions | |
piojo_diset_t * | piojo_diset_alloc (void) |
piojo_diset_t * | piojo_diset_alloc_cb (piojo_alloc_if allocator) |
piojo_diset_t * | piojo_diset_copy (const piojo_diset_t *diset) |
void | piojo_diset_free (const piojo_diset_t *diset) |
void | piojo_diset_clear (piojo_diset_t *diset) |
void | piojo_diset_insert (piojo_diset_sid_t set, piojo_diset_t *diset) |
piojo_diset_sid_t | piojo_diset_find (piojo_diset_sid_t set, const piojo_diset_t *diset) |
void | piojo_diset_union (piojo_diset_sid_t set1, piojo_diset_sid_t set2, piojo_diset_t *diset) |
Variables | |
const size_t | piojo_diset_sizeof |
Piojo Disjoint-set implementation.
typedef piojo_id_t piojo_diset_sid_t |
Set id.
piojo_diset_t* piojo_diset_alloc | ( | void | ) |
Allocates a new diset. Uses default allocator.
piojo_diset_t* piojo_diset_alloc_cb | ( | piojo_alloc_if | allocator | ) |
Allocates a new diset.
[in] | allocator | Allocator to be used. |
void piojo_diset_clear | ( | piojo_diset_t * | diset | ) |
Deletes all sets in diset.
[out] | diset | Diset being cleared. |
piojo_diset_t* piojo_diset_copy | ( | const piojo_diset_t * | diset | ) |
Copies diset and all its sets.
[in] | diset | Diset being copied. |
piojo_diset_sid_t piojo_diset_find | ( | piojo_diset_sid_t | set, |
const piojo_diset_t * | diset | ||
) |
Finds the subset that set is member of.
[in] | set | Set. |
[out] | diset | Diset. |
void piojo_diset_free | ( | const piojo_diset_t * | diset | ) |
Frees diset and all its sets.
[in] | diset | Diset being freed. |
void piojo_diset_insert | ( | piojo_diset_sid_t | set, |
piojo_diset_t * | diset | ||
) |
Inserts new set to diset.
[in] | set | Set. |
[out] | diset | Diset. |
void piojo_diset_union | ( | piojo_diset_sid_t | set1, |
piojo_diset_sid_t | set2, | ||
piojo_diset_t * | diset | ||
) |
Joins two sets in diset.
[in] | set1 | Set. |
[in] | set2 | Set. |
[out] | diset | Diset. |
const size_t piojo_diset_sizeof |
Size of diset in bytes