VecReserve
- Macro
- August 22, 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
Memory.h:63
:
/// FAILURE : Does not return
///
#define StrReserve(str, n) VecReserve((str), (n))
///
- 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) {
printf("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