VecInsert
Description
Insert a single element at idx, preserving order and taking ownership of lval when no deep-copy handler is configured. Default unsuffixed form aliasing to the L (ownership) variant. See VecInsertL for the full SUCCESS/FAILURE contract.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
VecCharPtr.c:97:
char *str = generate_cstring(data, offset, data_size, 32);
if (str) {
VecInsert(vec, str, index);
cleanup_cstring(str);
}- In
VecStr.c:121:
size_t index = extract_u32(data, offset, data_size) % (VecLen(vec) + 1);
Str str = generate_str_from_input(data, offset, data_size, 32, alloc);
VecInsert(vec, str, index);
}
break;- In
VecInt.c:69:
if (idx <= VecLen(vec)) {
VecInsert(vec, value, idx);
}
break;- In
Vec.Insert.c:83:
// Test VecInsert function
bool test_vec_insert(void) {
WriteFmt("Testing VecInsert\n");
// Create a vector of integers
- In
Insert.h:464:
/// TAGS: Vec, PushBack, Insert
///
#define VecPushBack(v, val) VecInsert((v), (val), (v)->length)
///
- In
Insert.h:587:
#define VecMustInsert(v, lval, idx) \
do { \
if (!VecInsert((v), (lval), (idx))) { \
LOG_FATAL("VecMustInsert failed"); \
} \
Last updated on