Skip to content

GraphInit

Description

Initialize an empty shallow-copy Graph. Inside a Scope block the allocator argument may be omitted; otherwise pass a typed allocator handle.

Success

Returns a live, empty graph with NULL copy callbacks (bitwise-copy semantics).

Failure

Cannot fail at construction; first allocation failures surface from later inserts.

Usage example (Cross-references)

Usage examples (Cross-references)
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(Zstr) ZstrGraph;
        ZstrGraph graph = GraphInit(&alloc);
    
        GraphNodeId red   = GraphAddNodeR(&graph, "red");
    
        typedef Graph(int) IntGraph;
        IntGraph  graph_a = GraphInit(&alloc);
        IntGraph  graph_b = GraphInit(&alloc);
        GraphNode node    = GraphGetNode(&graph_a, GraphAddNodeR(&graph_a, 10));
        typedef Graph(int) IntGraph;
        IntGraph  graph_a = GraphInit(&alloc);
        IntGraph  graph_b = GraphInit(&alloc);
        GraphNode node    = GraphGetNode(&graph_a, GraphAddNodeR(&graph_a, 10));
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        ValidateGraph(&graph);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId node_id = GraphAddNodeR(&graph, 11);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a    = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a    = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a         = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a    = GraphAddNodeR(&graph, 10);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphReserve(&graph, 8);
        aligned_64.base.retry_limit = 31;
    
        StrGraph graph_a = GraphInit(&alloc);
        StrGraph graph_b = GraphInitT(graph_b, &alloc);
        StrGraph graph_c = GraphInitWithDeepCopy(str_init_copy, str_deinit, &alloc);
        StrGraph graph_c = GraphInitWithDeepCopy(str_init_copy, str_deinit, &alloc);
        StrGraph graph_d = GraphInitWithDeepCopyT(graph_d, str_init_copy, str_deinit, &alloc);
        StrGraph graph_e = GraphInit(&aligned_8);
        StrGraph graph_f = GraphInitT(graph_f, &aligned_16);
        StrGraph graph_g = GraphInitWithDeepCopy(str_init_copy, str_deinit, &aligned_32);
    
        typedef Graph(int) IntGraph;
        IntGraph graph  = GraphInit(&alloc);
        int      owned  = 42;
        int      shared = 7;
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 1);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 1);
        typedef Map(GraphNodeId, u64) CountMap;
    
        IntGraph graph  = GraphInit(&alloc);
        CountMap counts = MapInit(node_id_hash, node_id_compare, &alloc);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 1);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphAddNodeR(&graph, 1);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 1);
    
        typedef Graph(int) IntGraph;
        IntGraph graph = GraphInit(&alloc);
    
        GraphNodeId a = GraphAddNodeR(&graph, 1);
Last updated on