VecDelete

Table of Contents

VecDelete

Description

Delete item at given index

Success

return

Failure

Does not return

Usage example (Cross-references)

    
    // Test VecDelete (regular delete)
    VecDelete(&vec, 2); // Delete 30
    
    // Check vector length after deletion
    
    // Use regular VecDelete with the L-value index
    VecDelete(&vec, index_to_delete);
    
    // Check vector length after deletion
    // Test VecDelete function
    bool test_vec_delete(void) {
    WriteFmtLn("Testing VecDelete");
    
    // Create a vector of integers
    
    // Delete element at index 2 (value 30)
    VecDelete(&vec, 2);
    
    // Check new length
    
    // Delete element at index 0 (value 10)
    VecDelete(&vec, 0);
    
    // Check new length
    // Test L-value delete operation
    int index_to_delete = 2; // Delete 30
    VecDelete(&vec, index_to_delete);
    
    // Check vector after L-value deletion
    
    // Test R-value delete operation
    VecDelete(&vec, 2); // Delete 30
    
    // Check vector after deletion
    /// FAILURE : Does not return
    ///
    #define StrDelete(str, idx) VecDelete((str), (idx))
    
    ///
    uint16_t idx = extract_u16(data, offset, size);
    if (idx < VecLen(vec)) {
    VecDelete(vec, idx);
    }
    break;
    if (VecLen(vec) > 0 && *offset + 4 <= size) {
    size_t index = extract_u32(data, offset, size) % VecLen(vec);
    VecDelete(vec, index);
    // StrDeinit is called automatically by the vector
    }
    if (VecLen(vec) > 0 && *offset + 4 <= size) {
    size_t index = extract_u32(data, offset, size) % VecLen(vec);
    VecDelete(vec, index);
    // char_ptr_deinit is called automatically by the vector
    }

Share :