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)

    
    // 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
    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);
    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", {                                                                               \
    
    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;

Share :

Related Posts

IterRemainingLength

IterRemainingLength Description Get remaining length left to read this memory iterator.

Read More

IterSize

IterSize Description Get total size of this Iter object

Read More

StrIterRemainingLength

StrIterRemainingLength Description Get remaining elements left to read

Read More