VecPushBackR
- Macro
- October 8, 2025
Table of Contents
VecPushBackR
VecPushBackRDescription
Push item into vector back.
Parameters
| Name | Direction | Description |
|---|---|---|
v | in,out | Vector to push item into |
rval | in | r-value to be pushed back |
Success
return
Failure
Does not return
Usage example (Cross-references)
- In
Vec.Foreach.c:39:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Foreach.c:78:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
// Add some elements
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, i * 10);
}
// Add some elements
for (int i = 0; i < 6; i++) {
VecPushBackR(&vec, i * 20);
}
// Add several elements
for (int i = 0; i < 6; i++) {
VecPushBackR(&vec, i * 15);
}
// Add several elements
for (int i = 0; i < 7; i++) {
VecPushBackR(&vec, i * 25);
}
// Add several elements
for (int i = 0; i < 8; i++) {
VecPushBackR(&vec, i * 35);
}
// Add several elements
for (int i = 0; i < 9; i++) {
VecPushBackR(&vec, i * 45);
}
// Add several elements
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, i * 30);
}
- In
Vec.Memory.c:29:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Memory.c:63:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Memory.c:120:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Memory.c:152:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
// Add the item to the vector
VecPushBackR(&vec, item);
// Check that the vector now has one item
// Push items to the vector
VecPushBackR(&vec, item1);
VecPushFrontR(&vec, item2);
VecPushBackR(&vec, item3);
VecPushBackR(&vec, item1);
VecPushFrontR(&vec, item2);
VecPushBackR(&vec, item3);
// Check vector length
// Add item1 to the vector
VecPushBackR(&vec, item1);
// Insert item2 at index 0
// Add items to vectors
VecPushBackR(&vec1, item1);
VecPushBackR(&vec2, item2);
VecPushBackR(&vec2, item3);
// Add items to vectors
VecPushBackR(&vec1, item1);
VecPushBackR(&vec2, item2);
VecPushBackR(&vec2, item3);
VecPushBackR(&vec1, item1);
VecPushBackR(&vec2, item2);
VecPushBackR(&vec2, item3);
// Merge vec2 into vec1
// Add some initial elements
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, i * 10);
}
// Add some initial elements
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec2, i * 10);
}
// Test pushing to empty vector
VecPushBackR(&vec, 10);
bool result = (vec.length == 1 && VecAt(&vec, 0) == 10);
const int large_count = 1000;
for (int i = 0; i < large_count; i++) {
VecPushBackR(&vec, i);
}
// Push an element (should auto-resize)
VecPushBackR(&vec, 42);
result = result && (vec.length == 1 && VecAt(&vec, 0) == 42);
- In
Vec.Access.c:26:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:27:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
VecPushBackR(&vec, 40);
- In
Vec.Access.c:28:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
VecPushBackR(&vec, 40);
VecPushBackR(&vec, 50);
- In
Vec.Access.c:29:
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
VecPushBackR(&vec, 40);
VecPushBackR(&vec, 50);
- In
Vec.Access.c:30:
VecPushBackR(&vec, 30);
VecPushBackR(&vec, 40);
VecPushBackR(&vec, 50);
// Check values using VecAt
- In
Vec.Access.c:58:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:59:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:60:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
// Get pointers to elements
- In
Vec.Access.c:95:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:96:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:97:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
// Check first and last elements
- In
Vec.Access.c:126:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:127:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:128:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
// Get begin and end pointers
- In
Vec.Access.c:162:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:163:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Access.c:164:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
// Check size and length after adding elements
- In
Vec.Access.c:181:
// Add some data
VecPushBackR(&aligned_vec, 10);
VecPushBackR(&aligned_vec, 20);
- In
Vec.Access.c:182:
// Add some data
VecPushBackR(&aligned_vec, 10);
VecPushBackR(&aligned_vec, 20);
// Check size and length with alignment
- In
Vec.Init.c:159:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Init.c:160:
// Add some data
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
- In
Vec.Init.c:161:
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
VecPushBackR(&vec, 30);
// Check that the data was added correctly
- In
Vec.Init.c:193:
item.id = 1;
item.value = 3.14;
VecPushBackR(&test_vec, item);
// Check that the item was added correctly
- In
Vec.Init.c:220:
// Add some data
VecPushBackR(&src, 1);
VecPushBackR(&src, 2);
VecPushBackR(&src, 3);
- In
Vec.Init.c:221:
// Add some data
VecPushBackR(&src, 1);
VecPushBackR(&src, 2);
VecPushBackR(&src, 3);
- In
Vec.Init.c:222:
VecPushBackR(&src, 1);
VecPushBackR(&src, 2);
VecPushBackR(&src, 3);
// Create a destination vector
- In
Vec.Ops.c:39:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Ops.c:74:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Ops.c:98:
int even_values[] = {10, 20, 30, 40};
for (int i = 0; i < 4; i++) {
VecPushBackR(&vec, even_values[i]);
}
- In
Vec.Ops.c:126:
int values[] = {30, 10, 50, 20, 40};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Insert.c:33:
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- In
Vec.Insert.c:204:
// Push some elements first
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
- In
Vec.Insert.c:205:
// Push some elements first
VecPushBackR(&vec, 10);
VecPushBackR(&vec, 20);
// Push an array at a specific index
- In
Vec.Insert.c:316:
// Test R-value insert operations
VecPushBackR(&vec, LVAL(42));
// Check that the element was added
- In
Vec.Insert.c:449:
int merge_vals[] = {140, 150, 160};
for (int i = 0; i < 3; i++) {
VecPushBackR(&vec2, merge_vals[i]);
}
- In
Insert.h:148:
/// FAILURE : Returns `NULL` otherwise.
///
#define StrPushBack(str, chr) VecPushBackR((str), (chr))
///