VecMergeR
- Macro
- October 8, 2025
Table of Contents
VecMergeR
VecMergeRDescription
Merge two vectors and store the result in the first vector, with R-value semantics. Data is copied from v2 into v. If a copy_init method is provided in v, each element from v2 will be copied using that method. Otherwise, a raw memory copy is performed, which may be unsafe for complex or pointer-containing data.
Note
Unlike VecMergeL, this does NOT zero out the source vector’s data after merging.
Success
v
Failure
Does not return on failure
Usage example (Cross-references)
- In
Str.c:79:
dst->alignment = src->alignment;
VecMergeR(dst, src);
ValidateStr(dst);
// Merge vec2 into vec1
VecMergeR(&vec1, &vec2);
// Check vector lengths
// Check vector lengths
bool result = (vec1.length == 3);
result = result && (vec2.length == 2); // VecMergeR doesn't modify source vector
// Check items in vec1: item1, item2, item3
- In
Vec.Insert.c:286:
// Merge vec2 into vec1
VecMergeR(&vec1, &vec2);
// Check lengths
- In
Vec.Insert.c:290:
// Check lengths
bool result = (vec1.length == 6);
result = result && (vec2.length == 3); // VecMergeR doesn't modify source vector
// Expected result in vec1: [10, 20, 30, 40, 50, 60]
- In
Insert.h:198:
/// FAILURE : NULL
///
#define StrMergeR(str, str2) VecMergeR((str), (str2))
///