Next: struct x1f4_nodetype_type, Previous: struct x1f4_linetext_type, Up: Application Interface Types
typedef struct x1f4_nodelink_type { int (*miss) (void *, struct x1f4_nodelink_type **, struct x1f4_nodelink_type *); void *slip; } x1f4_nodelink_type;
The struct x1f4_nodelink_type
record describes some reference holding
object and the object associated mechanics of cycle detection.
See Detecting Cycles.
See Reference Tracking Mechanics.
Data types accomodating the libx1f4i0 libraries type system and for
which data may be referred and may hold references are expected to include
some struct x1f4_nodelink_type
record field in their definition.
See Object Classes.
See Libraries For Interpreted Languages.
Such field is not expected to be used outside cycle detection logic.
slip
slip
field is some pointer providing for the necessary record space
of the cycles detection algorithm. It needs be NULL
outside the cycles
detection algorithm.
miss
miss
field is the address of the routine determining whether the
object embedding this very record is part of some set of objects referring one
each other and being not referred from outside this set. In effect, the
routine is the cycle detector itself.
When called, the miss
routine is supplied the execution context, some
address of some struct x1f4_nodelink_type
pointer and the address at
which the struct x1f4_nodelink_type
record from which the miss
method was picked up is stored (it is expected that the address of the object
embedding this struct x1f4_nodelink_type
record may be derived from this
last argument), as arguments, in this order.
How the miss
method is expected to derive its result from its input is
detailed in the cycle detection algorithm description.
See Detecting Cycles.