Skip to content
VecRemoveRangeFast

VecRemoveRangeFast

VecRemoveRangeFast

Description

Remove item from vector at given index and store in given pointer. Order of elements inside vector is not guaranteed to be preserved. The implementation is faster in some scenarios that VecRemove

Parameters

Name Direction Description
v in,out Vector to remove item from.
ptr out Where removed data will be stored. If not provided then it’s equivalent to deleting the items in specified range.
start in Index in vector to removing items from.
count in Number of items from starting index.

Success

return

Failure

Does not return

Usage example (Cross-references)

Usage examples (Cross-references)
                    size_t index = extract_u32(data, offset, size) % VecLen(vec);
                    size_t count = extract_u32(data, offset, size) % (VecLen(vec) - index + 1);
                    VecRemoveRangeFast(vec, (char **)NULL, index, count);
                }
                break;
                    size_t index = extract_u32(data, offset, size) % VecLen(vec);
                    size_t count = extract_u32(data, offset, size) % (VecLen(vec) - index + 1);
                    VecRemoveRangeFast(vec, (Str *)NULL, index, count);
                }
                break;
                if (len > 0 && start < len && count > 0 && start + count <= len) {
                    i32 removed_items[16];
                    VecRemoveRangeFast(vec, removed_items, start, count);
    
                    // Access removed items to test functionality
    /// FAILURE : Does not return
    ///
    #define VecDeleteRangeFast(v, start, count) VecRemoveRangeFast((v), (VEC_DATATYPE(v) *)NULL, (start), (count))
    
Last updated on