Definitions & utilities for arc lists, Deprecated .
More...
#include <gfsmArc.h>
#include <gfsmMem.h>
#include <gfsmArcList.hi>
Go to the source code of this file.
Functions |
|
static gfsmArcList * | gfsm_arclist_prepend_node (gfsmArcList *al, gfsmArcList *nod) |
static gfsmArcList * | gfsm_arclist_new_full (gfsmStateId src, gfsmStateId dst, gfsmLabelVal lo, gfsmLabelVal hi, gfsmWeight wt, gfsmArcList *nxt) |
static gfsmArcList * | gfsm_arclist_insert (gfsmArcList *al, gfsmStateId src, gfsmStateId dst, gfsmLabelVal lo, gfsmLabelVal hi, gfsmWeight wt, gfsmArcCompData *acdata) |
static gfsmArcList * | gfsm_arclist_insert_node (gfsmArcList *al, gfsmArcList *nod, gfsmArcCompData *acdata) |
gfsmArcList * | gfsm_arclist_insert_node_sorted (gfsmArcList *al, gfsmArcList *link, gfsmArcCompData *acdata) |
gfsmArcList * | gfsm_arclist_clone (gfsmArcList *src) |
void | gfsm_arclist_free (gfsmArcList *al) |
static void | gfsm_arclist_free_1 (gfsmArcList *nod) |
Detailed Description
Macro Definition Documentation
#define gfsm_arclist_arc |
( |
|
al | ) |
((al) ? (&(al->arc)) : NULL) |
Typedef Documentation
Function Documentation
Allocate and return a new arc-list node
Insert an arc into a (possibly sorted) arclist.
- Parameters
-
al | gfsmArcList into which a new arc is to be inserted |
src | source state id for the new arc |
dst | target state id for the new arc |
lo | lower label for the new arc |
hi | upper label for the new arc wt weight for the new arc |
acdata | comparison data for 'smart' sorted insertion |
- Returns
- a pointer to the (possibly new) 1st node of the arc list
- Deprecated:
- in favor of gfsm_automaton_add_arc(), gfsm_arciter_insert()
Insert a single arc-link into a (possibly sorted) arclist.
- Parameters
-
al | arc list into which link is to be inserted |
link | arc list node to insert |
acdata | sort data for 'smart' sorted insertion |
- Returns
- a pointer to the (possibly new) 1st element of the arclist
- Deprecated:
- in favor of gfsm_automaton_add_arc(), gfsm_arciter_insert()
Create and return a (deep) copy of an existing arc-list
Destroy an arc-list node and all subsequent nodes
Concatenate 2 arc-lists
- Parameters
-
al1 | initial sublist |
al2 | final sublist |
- Returns
- pointer to head of the concatenated list
Splice a single node out from a gfsmArcList.
- Parameters
-
al | arc list |
nod | node to extract |
- Returns
- pointer to head of the new arc list, without nod
- Warning
- removed nod is not freed!
- See Also
- gfsm_arclist_delte_node()
Remove and free a single node from a gfsmArcList.
- Parameters
-
al | arc list |
nod | node to extract |
- Returns
- pointer to head of the new arc list, without nod
Reverse a gfsmArcList
- Parameters
-
- Returns
- pointer to head of the reversed arc list
Get length of an arc-list al (linear time)
Sort an arclist al using one of the builtin sort modes as specified by acdata.
- Parameters
-
al | arc list to sort |
acdata | sort data for builtin comparison |
- Returns
- pointer to the new head of the sorted arc list
Sort an arclist al using a user-defined arc comparison function.
- Parameters
-
al | arc list to sort |
cmpfunc | 3-way comparison function on gfsmArc* for sorting |
data | additional data for cmpfunc |
- Returns
- pointer to the new head of the sorted arc list