Skip to content

List

List

Description

Double linked list.

Fields

Name Description
head Reference to head node of linked list.
tail Reference to tail node of linked list.
copy_init A user-provided type-specific method to initialize copies of types.
copy_deinit A user-provided type-specific method deinitialize already created copies of types.
length Length of this linked list.

Usage example (Cross-references)

Usage examples (Cross-references)
    #include "../Harness.h"
    #include "ListInt.h"
    #include <Misra/Std/Container/List.h>
    #include <Misra/Std/Log.h>
    #define FUZZ_LIST_INT_H
    
    #include <Misra/Std/Container/List.h>
    #include <Misra/Types.h>
    
    // List(i32) typedef
    typedef List(i32) IntList;
    
    // List(i32) function enumeration
    #include <Misra/Std/Container/List.h>
    #include <Misra/Std/Log.h>
    
        if (start + count > list->length) {
            LOG_FATAL("List range out of bounds.");
        }
    void validate_list(const GenericList *l) {
        if (!(l)) {
            LOG_FATAL("List pointer is NULL.");
        }
        if ((l)->__magic != MISRA_LIST_MAGIC) {
        int total_deadend_tests = sizeof(deadend_tests) / sizeof(deadend_tests[0]);
    
        typedef List(int) LI;
        LI li = ListInit();
        ListForeach(&li, i) {
    #include <Misra/Std/Container/Str.h>
    #include <Misra/Std/Container/Vec.h>
    #include <Misra/Std/Container/List.h>
    #include <Misra/Std/Container/Map.h>
    #include <Misra/Std/Container/BitVec.h>
    
    // clang-format off
    #include "List/Type.h"
    #include "List/Init.h"
    #include "List/Insert.h"
    // clang-format off
    #include "List/Type.h"
    #include "List/Init.h"
    #include "List/Insert.h"
    #include "List/Remove.h"
    #include "List/Type.h"
    #include "List/Init.h"
    #include "List/Insert.h"
    #include "List/Remove.h"
    #include "List/Access.h"
    #include "List/Init.h"
    #include "List/Insert.h"
    #include "List/Remove.h"
    #include "List/Access.h"
    #include "List/Foreach.h"
    #include "List/Insert.h"
    #include "List/Remove.h"
    #include "List/Access.h"
    #include "List/Foreach.h"
    #include "List/Ops.h"
    #include "List/Remove.h"
    #include "List/Access.h"
    #include "List/Foreach.h"
    #include "List/Ops.h"
    #include "List/Private.h"
    #include "List/Access.h"
    #include "List/Foreach.h"
    #include "List/Ops.h"
    #include "List/Private.h"
    // clang-format on
    #include "List/Foreach.h"
    #include "List/Ops.h"
    #include "List/Private.h"
    // clang-format on
Last updated on