Skip to content
VecDeleteRange

VecDeleteRange

VecDeleteRange

Description

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

Success

return

Failure

Does not return

Usage example (Cross-references)

Usage examples (Cross-references)
                    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;
                uint64_t len = VecLen(vec);
                if (len > 0 && start < len && count > 0 && start + count <= len) {
                    VecDeleteRange(vec, start, count);
                }
                break;
    // 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
            // 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
    /// FAILURE : Does not return
    ///
    #define StrDeleteRange(str, start, count) VecDeleteRange((str), (start), (count))
    
    #ifdef __cplusplus
Last updated on