Concorde pqsets.h functions
CCpq_set_INIT
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_INIT(CCpq_set s)
Description:
initializes s to the empty set
CCpq_set_ISEMPTY
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_ISEMPTY(CCpq_set s)
Description:
is an expression which tests if s is empty
CCpq_set_SIZE
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_SIZE(CCpq_set s)
Description:
is the size of s
CCpq_set_PTR_TO
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_PTR_TO(CCpq_elem e, CCpq_node *q)
Description:
is the field of e which points to q
CCpq_set_PTR_REPLACE
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_PTR_REPLACE(CCpq_elem e, CCpq_node *q, CCpq_node *r)
Description:
replaces q with r in e
CCpq_set_PTR_AWAY
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_PTR_AWAY(CCpq_elem e, CCpq_node *q)
Description:
is the field of e which doesn't point to q
CCpq_set_ADD_WORK
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_ADD_WORK(CCpq_node *x, CCpq_set s, ELEM_FIELD efield,
DIRECTION dir)
Description:
adds x to s at the dir end, using the efield field to link things
together. It is intended to be an internal macro used by
CCpq_set_ADD_LEFT and CCpq_set_ADD_RIGHT.
CCpq_set_ADD_LEFT
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_ADD_LEFT(CCpq_node *x, CCpq_set s, ELEM_FIELD efield)
Description:
adds x to s at the left end.
CCpq_set_ADD_RIGHT
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_ADD_RIGHT(CCpq_node *x, CCpq_set s, ELEM_FIELD efield)
Description:
adds x to s at the right end.
CCpq_set_ADD
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_ADD(CCpq_node *x, CCpq_set s, ELEM_FIELD efield)
Description:
adds x to s
CCpq_set_DELETE
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_DELETE(CCpq_node *x, CCpq_set s, ELEM_FIELD efield)
Description:
deletes x from s
CCpq_set_DELETE2
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_DELETE2(CCpq_node *x, SET_FIELD sfield,
ELEM_FIELD efield)
Description:
deletes x from the sfield set of its parent. If x is an endmost
child in this set, then DELETE2 uses the parent pointer to find
the set field. Otherwise, the parent pointer is not used.
CCpq_set_LEFT_ELEM
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_LEFT_ELEM(CCpq_set s)
Description:
is the left element of s, or NULL if s is empty
CCpq_set_RIGHT_ELEM
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_RIGHT_ELEM(CCpq_set s)
Description:
is the right element of s, or NULL if s is empty
CCpq_set_FOREACH
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_FOREACH(CCpq_set s, CCpq_node *x, ELEM_FIELD efield,
CCpq_node *xprev, CCpq_node *xnext)
Description:
iterates x over elements of s using temporary variables xprev and
xnext.
CCpq_set_FOREACH_FROM
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_FOREACH_FROM(CCpq_node *x, ELEM_FIELD efield,
CCpq_node *xprev, CCpq_node *xnext)
Description:
iterates x over elements of s starting at x and going away from
xprev. xnext is a temporary variable used in the loop, which also
changes xprev and x
CCpq_set_FOREACH_DEL
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_FOREACH_DEL(CCpq_set s, CCpq_node *x, ELEM_FIELD efield,
CCpq_node *xprev, CCpq_node *xnext)
Description:
iterates x over elements of s using temporary variables xprev and
xnext. x may be deleted from the set in the body of the loop (but
delete any other element from s at your own risk).
CCpq_set_FOREACH_ADJ
File:
INCLUDE/pqsets.h
Header:
pqsets.h
Prototype:
CCpq_set_FOREACH_ADJ(CCpq_node *x, ELEM_FIELD efield, CCpq_node *z,
int itemp)
Description:
iterates z over the immediate neighbors of x using itemp as a
temporary variable. It is just used to save code replication when
you want to do something for each of the two neighbors.