piojo-0.9
 All Classes Functions Variables Typedefs Enumerations Enumerator Groups
Piojo Disjoint-set

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
 

Detailed Description

Piojo Disjoint-set implementation.

Typedef Documentation

Set id.

Function Documentation

piojo_diset_t* piojo_diset_alloc ( void  )

Allocates a new diset. Uses default allocator.

Returns
New diset.
piojo_diset_t* piojo_diset_alloc_cb ( piojo_alloc_if  allocator)

Allocates a new diset.

Parameters
[in]allocatorAllocator to be used.
Returns
New diset.
void piojo_diset_clear ( piojo_diset_t *  diset)

Deletes all sets in diset.

Parameters
[out]disetDiset being cleared.
piojo_diset_t* piojo_diset_copy ( const piojo_diset_t *  diset)

Copies diset and all its sets.

Parameters
[in]disetDiset being copied.
Returns
New diset.
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.

Parameters
[in]setSet.
[out]disetDiset.
Returns
set subset.
void piojo_diset_free ( const piojo_diset_t *  diset)

Frees diset and all its sets.

Parameters
[in]disetDiset being freed.
void piojo_diset_insert ( piojo_diset_sid_t  set,
piojo_diset_t *  diset 
)

Inserts new set to diset.

Parameters
[in]setSet.
[out]disetDiset.
void piojo_diset_union ( piojo_diset_sid_t  set1,
piojo_diset_sid_t  set2,
piojo_diset_t *  diset 
)

Joins two sets in diset.

Parameters
[in]set1Set.
[in]set2Set.
[out]disetDiset.

Variable Documentation

const size_t piojo_diset_sizeof

Size of diset in bytes