Control group
New to the concepts? See Tools — PolyNode first.
reset
- Clears intrusive link pointers (
prev,nextto null). Intrusive means the list pointers live inside your struct, not in a separate list node.
is_linked
- Returns true if the node has neighbours —
prevornextis set. -
Not a membership test.
std.DoublyLinkedListnever sets the links of a list's only member, so a list of exactly one reports false. -
The
!is_linkedasserts insideMbox.send,Pool.put,PolyHelper.destroyandPolyHelper.moveFromSlotcatch the multi-element
case and are blind for a list of one. -
To find out whether a list holds an item, ask the list. The insert asserts do — see Std compatibility.
One place, one state — read-only ops
These operations never move a handle:
- tag checks
- typed casts
@fieldParentPtrrecovery
Read-only inspections of an existing node.