Skip to content

ListNodeBegin

Description

Reference to head node in list

Parameters

Name Direction Description
l in List to get node from

Success

Reference to head node.

Failure

NULL

Usage example (Cross-references)

Usage examples (Cross-references)
    
        GenericListNode *node1   = GENERIC_LIST_NODE(ListNodePtrAt(&list, 1));
        GenericListNode *begin   = GENERIC_LIST_NODE(ListNodeBegin(&list));
        GenericListNode *end     = GENERIC_LIST_NODE(ListNodeEnd(&list));
        GenericListNode *same    = ListNodeRelative(ListNodeBegin(&list), 0);
        GenericListNode *begin   = GENERIC_LIST_NODE(ListNodeBegin(&list));
        GenericListNode *end     = GENERIC_LIST_NODE(ListNodeEnd(&list));
        GenericListNode *same    = ListNodeRelative(ListNodeBegin(&list), 0);
        GenericListNode *rel_f2  = ListNodeRelative(ListNodeBegin(&list), 2);
        GenericListNode *rel_b2  = ListNodeRelative(ListNodeEnd(&list), -2);
        GenericListNode *end     = GENERIC_LIST_NODE(ListNodeEnd(&list));
        GenericListNode *same    = ListNodeRelative(ListNodeBegin(&list), 0);
        GenericListNode *rel_f2  = ListNodeRelative(ListNodeBegin(&list), 2);
        GenericListNode *rel_b2  = ListNodeRelative(ListNodeEnd(&list), -2);
        ListNode(int) *null_node = NULL;
        result      = result && ListNodeData(&ListNodeFirst(&list)) && (*ListNodeData(&ListNodeFirst(&list)) == 10);
        result      = result && ListNodeData(&ListNodeLast(&list)) && (*ListNodeData(&ListNodeLast(&list)) == 40);
        result      = result && ListNodeNext(ListNodeBegin(&list)) && ListNodeData(ListNodeNext(ListNodeBegin(&list))) &&
                 (*ListNodeData(ListNodeNext(ListNodeBegin(&list))) == 20);
        result = result && ListNodePrev(ListNodeEnd(&list)) && ListNodeData(ListNodePrev(ListNodeEnd(&list))) &&
        result      = result && ListNodeData(&ListNodeLast(&list)) && (*ListNodeData(&ListNodeLast(&list)) == 40);
        result      = result && ListNodeNext(ListNodeBegin(&list)) && ListNodeData(ListNodeNext(ListNodeBegin(&list))) &&
                 (*ListNodeData(ListNodeNext(ListNodeBegin(&list))) == 20);
        result = result && ListNodePrev(ListNodeEnd(&list)) && ListNodeData(ListNodePrev(ListNodeEnd(&list))) &&
                 (*ListNodeData(ListNodePrev(ListNodeEnd(&list))) == 30);
        result = result && rel_f2 && ListNodeData(rel_f2) && (*(int *)ListNodeData(rel_f2) == 30);
        result = result && rel_b2 && ListNodeData(rel_b2) && (*(int *)ListNodeData(rel_b2) == 20);
        result = result && (ListNodeRelative(ListNodeBegin(&list), -1) == NULL);
        result = result && (ListNodeRelative(ListNodeEnd(&list), 1) == NULL);
        result = result && (ListNodeNext(null_node) == NULL);
        for (TYPE_OF(l) UNPL(pl) = (l); UNPL(pl); UNPL(pl) = NULL)                                                                   \
            if ((ValidateList(UNPL(pl)), 1) && (UNPL(pl)->head))                                                                     \
                for (GenericListNode * UNPL(node) = (GenericListNode *)ListNodeBegin(UNPL(pl)); UNPL(node);                          \
                     UNPL(node)                   = ListNodeNext(UNPL(node)))                                                        \
                    if (((void *)UNPL(node)->next != (void *)UNPL(node)) &&                                        \
        for (TYPE_OF(l) UNPL(pl) = (l); UNPL(pl); UNPL(pl) = NULL)                                                                 \
            if ((ValidateList(UNPL(pl)), 1) && (UNPL(pl)->head))                                                                   \
                for (GenericListNode * UNPL(node) = (GenericListNode *)ListNodeBegin(UNPL(pl)); UNPL(node);                        \
                     UNPL(node)                   = ListNodeNext(UNPL(node)))                                                      \
                    if (((void *)UNPL(node)->next != (void *)UNPL(node)) &&                                      \
        for (TYPE_OF(l) UNPL(pl) = (l); UNPL(pl); UNPL(pl) = NULL)                                                                           \
            if ((ValidateList(UNPL(pl)), 1) && UNPL(pl)->head)                                                                               \
                for (GenericListNode * UNPL(node) = (GenericListNode *)ListNodeBegin(UNPL(pl)); UNPL(node);                                  \
                     UNPL(node)                   = ListNodeNext(UNPL(node)))                                                                \
                    for (u64 UNPL(i) = 0; UNPL(node) && UNPL(i) < (end); UNPL(node) = ListNodeNext(UNPL(node)), ++UNPL(i)) \
        for (TYPE_OF(l) UNPL(pl) = (l); UNPL(pl); UNPL(pl) = NULL)                                                                           \
            if ((ValidateList(UNPL(pl)), 1) && UNPL(pl)->head)                                                                               \
                for (GenericListNode * UNPL(node) = (GenericListNode *)ListNodeBegin(UNPL(pl)); UNPL(node);                                  \
                     UNPL(node)                   = ListNodeNext(UNPL(node)))                                                                \
                    for (u64 UNPL(i) = 0; UNPL(node) && UNPL(i) < (end); UNPL(node) = ListNodeNext(UNPL(node)), ++UNPL(i)) \
Last updated on