VecMergeR
- Macro
- August 22, 2025
Table of Contents
VecMergeR
VecMergeR
Description
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
Insert.h:198
:
/// FAILURE : NULL
///
#define StrMergeR(str, str2) VecMergeR((str), (str2))
///
- In
Str.c:78
:
dst->alignment = src->alignment;
VecMergeR(dst, src);
ValidateStr(dst);
- 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]
// 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