VecPushBackR
- Macro
- August 22, 2025
Table of Contents
VecPushBackR
VecPushBackR
Description
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
Insert.h:148
:
/// FAILURE : Returns `NULL` otherwise.
///
#define StrPushBack(str, chr) VecPushBackR((str), (chr))
///
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]);
}
int values[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
VecPushBackR(&vec, values[i]);
}
- 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.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
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);
// 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.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]);
}