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.
slipslip field is some pointer providing for the necessary record space
of the cycles detection algorithm. It needs be NULL outside the cycles
detection algorithm.
missmiss 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.