VecInitT

Table of Contents

VecInitT

Description

Initialize given vector. Default alignment is 1 It is mandatory to initialize vectors before use. Not doing so is undefined behaviour.

Parameters

NameDirectionDescription
vinVariable or type of a vector to be initialized.

Usage example (from documentation)

    void SomeInterestingFn(DataVec* data_vec) {
        *data_vec = VecInitT(data);

        // use vector
    }

Usage example (Cross-references)

    
    void init_int_vec(IntVec *vec) {
    *vec = VecInitT(*vec);
    }
    
    case VEC_INT_MERGE : {
    IntVec  temp  = VecInitT(temp);
    uint8_t count = extract_u8(data, offset, size);
    count         = count % 4;
    
    case VEC_INT_INIT_CLONE : {
    IntVec  temp  = VecInitT(temp);
    uint8_t count = extract_u8(data, offset, size);
    count         = count % 4;
    do {                                                                                                               \
    Project p            = {0};                                                                                    \
    p.test_directories   = VecInitT(p.test_directories);                                                           \
    p.source_directories = VecInitT(p.source_directories);                                                         \
    JR_OBJ(json, {                                                                                                 \
    Project p            = {0};                                                                                    \
    p.test_directories   = VecInitT(p.test_directories);                                                           \
    p.source_directories = VecInitT(p.source_directories);                                                         \
    JR_OBJ(json, {                                                                                                 \
    JR_OBJ_KV(json, "project", {                                                                               \
    VecPushBack(&original.config.features, feature2);
    
    original.numbers = VecInitT(original.numbers);
    i32 vals[3]      = {10, 20, -5};
    for (size i = 0; i < 3; i++) {
    }
    
    original.flags = VecInitT(original.flags);
    bool bools[3]  = {true, false, true};
    for (size i = 0; i < 3; i++) {
    parsed.config.log_level  = StrInit();
    parsed.config.features   = VecInitWithDeepCopyT(parsed.config.features, NULL, StrDeinit);
    parsed.numbers           = VecInitT(parsed.numbers);
    parsed.flags             = VecInitT(parsed.flags);
    parsed.config.features   = VecInitWithDeepCopyT(parsed.config.features, NULL, StrDeinit);
    parsed.numbers           = VecInitT(parsed.numbers);
    parsed.flags             = VecInitT(parsed.flags);
    
    StrIter si = StrIterFromStr(json);
    
    // Create a new vector for testing fast delete operations
    vec = VecInitT(vec);
    
    // Add elements again
    
    // Test with an L-value index
    vec = VecInitT(vec);
    
    // Add elements again
    // Test with large number of elements
    VecDeinit(&vec);
    vec = VecInitT(vec);
    
    // Push a large number of elements
    // Test with zero-capacity vector
    VecDeinit(&vec);
    vec = VecInitT(vec);
    
    // Reserve zero capacity

Share :

Related Posts

VecForeachInRange

VecForeachInRange Description Iterate over elements in a specific range of the given vector v. This is a convenience macro that iterates over a range using an internally managed index. The variable var is declared and defined by this macro.

Read More

VecInit

VecInit Description Initialize vector. Default alignment is 1 It is mandatory to initialize vectors before use. Not doing so is undefined behaviour.

Read More

VecForeach

VecForeach Description Iterate over each element var of the given vector v. This is a convenience macro that iterates forward using an internally managed index. The variable var is declared and defined by this macro.

Read More