VecInsertRangeFastL
- Macro
- August 22, 2025
Table of Contents
VecInsertRangeFastL
VecInsertRangeFastL
Description
Quickly insert array of items into vector, with L-value semantics. Ordering of elements is not guaranteed to be preserved. This call makes significant difference only for sufficiently large vectors and when idx
is quite less than (v)->length
. Insertion time is guaranteed to be constant for same data types.
Info
If copy_init
is set, then vector will create it’s own copy of items.
Note
Ownership of items in array is transferred to vector if no copy_init
method is set. This is to prevent multiple ownership of same object, once inserted into vector. Object won’t be usable after this call if copy_init
is not set.
Parameters
Name | Direction | Description |
---|---|---|
v | in,out | Vector to insert item into |
val | in | Array of items to be inserted |
idx | in | Index to insert item at. |
count | in | Number of items to insert. |
Success
return
Failure
Does not return
Usage example (Cross-references)
- In
Insert.h:357
:
/// FAILURE : Does not return
///
#define VecInsertRangeFast(v, varr, idx, count) VecInsertRangeFastL((v), (varr), (idx), (count))
///
- In
Insert.h:458
:
/// FAILURE : Does not return on failure
///
#define VecPushFrontArrFastL(v, arr, count) VecInsertRangeFastL((v), (arr), 0, (count))
///
- In
Vec.Insert.c:438
:
// Test VecInsertRangeFastL
int fast_range[] = {110, 120, 130};
VecInsertRangeFastL(&vec, fast_range, 3, 3);
// Check that array elements are memset to 0