VecDeleteRange

Table of Contents

VecDeleteRange

Description

Delete items in given range [start, start + count)

Success

return

Failure

Does not return

Usage example (Cross-references)

    // When we reach idx=3, delete several elements
    if (idx == 3) {
    VecDeleteRange(&vec, 0, 6); // Remove first 6 elements
    WriteFmt("Deleted first 6 elements, new length={}, idx = {}\n", vec.length, original_length, idx);
    }
    
    // Test VecDeleteRange (regular delete range)
    VecDeleteRange(&vec, 0, 2); // Delete 10 and 20
    
    // Check vector length after range deletion
    // Test VecDeleteRange function
    bool test_vec_delete_range(void) {
    WriteFmtLn("Testing VecDeleteRange");
    
    // Create a vector of integers
    
    // Delete range from index 2 to 4 (values 30, 40, 50)
    VecDeleteRange(&vec, 2, 3);
    
    // Check new length
    int start_index = 2;
    int count       = 3;
    VecDeleteRange(&vec, start_index, count); // Delete 30, 40, 50
    
    // Check vector after L-value range deletion
    
    // Test R-value delete range operation
    VecDeleteRange(&vec, 2, 3); // Delete 30, 40, 50
    
    // Check vector after R-value range deletion
    /// FAILURE : Does not return
    ///
    #define StrDeleteRange(str, start, count) VecDeleteRange((str), (start), (count))
    
    #ifdef __cplusplus
    uint64_t len = VecLen(vec);
    if (len > 0 && start < len && count > 0 && start + count <= len) {
    VecDeleteRange(vec, start, count);
    }
    break;
    size_t index = extract_u32(data, offset, size) % VecLen(vec);
    size_t count = extract_u32(data, offset, size) % (VecLen(vec) - index + 1);
    VecDeleteRange(vec, index, count);
    }
    break;
    size_t index = extract_u32(data, offset, size) % VecLen(vec);
    size_t count = extract_u32(data, offset, size) % (VecLen(vec) - index + 1);
    VecDeleteRange(vec, index, count);
    }
    break;

Share :