VecReserve
- Macro
- October 8, 2025
Table of Contents
VecReserve
VecReserve
Description
Reserve space for vector.
Parameters
Name | Direction | Description |
---|---|---|
vec | in,out | Vector to be resized. |
len | in | New capacity of vector. |
Success
return
Failure
Does not return
Usage example (Cross-references)
- In
Vec.Memory.c:24
:
// Reserve more space than needed
VecReserve(&vec, 100);
// Add some data
- In
Vec.Memory.c:99
:
// Test VecReserve function
bool test_vec_reserve(void) {
WriteFmt("Testing VecReserve\n");
// Create a vector of integers
- In
Vec.Memory.c:109
:
// Reserve space for 50 elements
VecReserve(&vec, 50);
// Capacity should now be at least 50
- In
Vec.Memory.c:130
:
// Reserve less space (should be a no-op)
VecReserve(&vec, 20);
// Capacity should still be at least 50
// Ensure we have enough capacity to avoid reallocation during the test
VecReserve(&vec2, vec2.length + 10);
// Try inserting just one element first with fast insert
// Reserve zero capacity
VecReserve(&vec, 0);
result = result && (vec.capacity == 0);
// Make sure we have enough capacity to avoid reallocation issues
VecReserve(&vec, 10);
// Create several dummy items to populate the vector
- In
Memory.h:63
:
/// FAILURE : Does not return
///
#define StrReserve(str, n) VecReserve((str), (n))
///
- In
VecInt.c:131
:
uint16_t capacity = extract_u16(data, offset, size);
capacity = capacity % 1000; // Limit to reasonable capacity
VecReserve(vec, capacity);
break;
}
- In
VecStr.c:166
:
if (*offset + 4 <= size) {
size_t capacity = extract_u32(data, offset, size) % 1000; // Limit to reasonable size
VecReserve(vec, capacity);
}
break;
- In
VecCharPtr.c:168
:
if (*offset + 4 <= size) {
size_t capacity = extract_u32(data, offset, size) % 1000; // Limit to reasonable size
VecReserve(vec, capacity);
}
break;