VecDeleteRange
- Macro
- October 8, 2025
Table of Contents
VecDeleteRange
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
- In
Vec.Remove.c:210
:
// Test VecDeleteRange function
bool test_vec_delete_range(void) {
WriteFmtLn("Testing VecDeleteRange");
// Create a vector of integers
- In
Vec.Remove.c:227
:
// Delete range from index 2 to 4 (values 30, 40, 50)
VecDeleteRange(&vec, 2, 3);
// Check new length
- In
Vec.Remove.c:615
:
int start_index = 2;
int count = 3;
VecDeleteRange(&vec, start_index, count); // Delete 30, 40, 50
// Check vector after L-value range deletion
- In
Vec.Remove.c:650
:
// Test R-value delete range operation
VecDeleteRange(&vec, 2, 3); // Delete 30, 40, 50
// Check vector after R-value range deletion
- In
Remove.h:95
:
/// FAILURE : Does not return
///
#define StrDeleteRange(str, start, count) VecDeleteRange((str), (start), (count))
#ifdef __cplusplus
- In
VecInt.c:199
:
uint64_t len = VecLen(vec);
if (len > 0 && start < len && count > 0 && start + count <= len) {
VecDeleteRange(vec, start, count);
}
break;
- In
VecStr.c:226
:
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;
- In
VecCharPtr.c:234
:
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;