VecInit

Table of Contents

VecInit

Description

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

Usage example (from documentation)

  Vec(HttpRequest) requests = VecInit();

Usage example (Cross-references)

    /// FAILURE : NULL
    ///
    #    define StrInit() ((Str)VecInit())
    #endif
    }
    
    SysDirContents dc = VecInit();
    
    // Construct the search path with a wildcard
    }
    
    SysDirContents dc = VecInit();
    
    DIR* dir = opendir(path);
    ValidateStr(s);
    
    StrIters sv     = VecInit();
    size     keylen = ZstrLen(key);
    ReadCompleteFile(input_filename, &code.data, &code.length, &code.capacity);
    
    EnumEntries entries = VecInit();
    
    StrIter json        = StrIterFromStr(code);
    
    // recursively explore directories and get files that need documentation
    Strs file_paths = VecInit();
    Scope(&file_paths, VecDeinit, {
    // temporary vector to store all directory paths to explore files in
    Str  json    = StrInit();
    
    Vec(i32) empty_numbers = VecInit();
    Vec(Str) empty_strings = VecInitWithDeepCopy(NULL, StrDeinit);
    Str  json    = StrInit();
    
    Vec(i32) empty_list = VecInit();
    
    JW_OBJ(json, {
    Str  json    = StrInit();
    
    Vec(i32) empty_arr  = VecInit();
    Vec(i32) filled_arr = VecInit();
    i32 val1 = 1, val2 = 2;
    
    Vec(i32) empty_arr  = VecInit();
    Vec(i32) filled_arr = VecInit();
    i32 val1 = 1, val2 = 2;
    VecPushBack(&filled_arr, val1);
    StrIter si1   = StrIterFromStr(json1);
    
    Vec(i32) items = VecInit();
    
    JR_OBJ(si1, {
    i32 x_value;
    Vec(i32) filled_items;
    } obj = {0, VecInit()};
    
    JR_OBJ(si, {
    Str  json    = StrInit();
    
    Vec(u32) numbers = VecInit();
    u32 num1 = 1, num2 = 2, num3 = 3;
    VecPushBack(&numbers, num1);
    VecPushBack(&strings, str3);
    
    Vec(bool) booleans = VecInit();
    bool bool1 = true, bool2 = false, bool3 = true;
    VecPushBack(&booleans, bool1);
    
    // Original data
    Vec(i32) original_numbers = VecInit();
    Vec(Str) original_strings = VecInitWithDeepCopy(NULL, StrDeinit);
    
    // Read back from JSON
    Vec(i32) parsed_numbers = VecInit();
    Vec(Str) parsed_strings = VecInitWithDeepCopy(NULL, StrDeinit);
    
    // Original empty data
    Vec(i32) empty_numbers = VecInit();
    Vec(Str) empty_strings = VecInitWithDeepCopy(NULL, StrDeinit);
    Str empty_str          = StrInit();
    
    // Read back from JSON
    Vec(i32) parsed_numbers = VecInit();
    Vec(Str) parsed_strings = VecInitWithDeepCopy(NULL, StrDeinit);
    Str  parsed_str         = StrInit();
    
    // Create a valid Strs
    Strs sv = VecInit();
    
    // This should not crash
    
    // Create an invalid Strs by corrupting its fields
    Strs sv = VecInit();
    
    // Corrupt the vector to make it invalid
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Check initial size and length
    // Create a vector of integers with default alignment (1)
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Check offsets
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Push some elements to the back
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Push some elements to the front
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Insert at index 0 (empty vector)
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Push an array to the back
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Push an array to the front of empty vector
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Push some elements first
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some initial elements
    
    // Create another vector with elements to insert
    IntVec src          = VecInit();
    int    src_values[] = {40, 50, 60};
    VecPushBackArrR(&src, src_values, 3);
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec1 = VecInit();
    
    // Add some elements to first vector
    
    // Create second vector
    IntVec vec2 = VecInit();
    
    // Add some elements to second vector
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Test R-value insert operations
    // Create a vector of integers without copy_init
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Test VecPushBackL
    
    // Test VecMergeL
    IntVec vec2         = VecInit();
    int    merge_vals[] = {140, 150, 160};
    for (int i = 0; i < 3; i++) {
    // Define a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Check initial state
    // Test with a struct type
    typedef Vec(TestItem) TestVec;
    TestVec test_vec = VecInit();
    
    // Check initial state
    // Create a valid vector
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // This should not abort
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Reserve more space than needed
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Initial capacity should be 0
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Test VecPushBackL
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some initial elements
    
    // Now test VecInsertRangeFastR in isolation
    IntVec vec2 = VecInit();
    
    // Add some initial elements
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some initial elements
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Test pushing to empty vector
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add several elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add several elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add several elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add several elements
    
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add several elements
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Test basic vector initialization
    bool test_vec_init_basic(void) {
    printf("Testing VecInit\n");
    
    // Test with int type
    // Test with int type
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Check initial state
    // Test with struct type
    typedef Vec(TestItem) TestVec;
    TestVec test_vec = VecInit();
    
    // Check initial state
    // Create a source vector
    typedef Vec(int) IntVec;
    IntVec src = VecInit();
    
    // Add some data
    
    // Create a destination vector
    IntVec clone = VecInit();
    
    // Clone the source vector into the destination
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data
    // Create a vector of integers
    typedef Vec(int) IntVec;
    IntVec vec = VecInit();
    
    // Add some data in unsorted order

Share :

Related Posts

IterRemainingSize

IterRemainingSize Description Get remaining size left to read this memory iterator.

Read More

BitVecResize

BitVecResize Description Reu64 bitvector to hold exactly n bits. May grow or shrink the bitvector.

Read More

StrIterRemainingLength

StrIterRemainingLength Description Get remaining elements left to read

Read More