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)

    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

Vec

Vec Description Typesafe vector definition. This is much like C++ template std::vector

Read More

BitVecCapacity

BitVecCapacity Description Get capacity of bitvector in bits.

Read More

IterSize

IterSize Description Get total size of this Iter object

Read More