VecInsertRangeL

Table of Contents

VecInsertRangeL

Description

Insert array of items into vector, with L-value semantics. Insertion index must not exceed vector length. This preserves the ordering of elements. Best to be used with sorted vectors, if the sorted property is to be preserved.

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

NameDirectionDescription
vin,outVector to insert item into
valinArray of items to be inserted
idxinIndex to start inserting item at.
countinNumber of items to insert.

Success

return

Failure

Does not return

Usage example (Cross-references)

    /// FAILURE : Does not return
    ///
    #define VecInsertRange(v, varr, idx, count) VecInsertRangeL((v), (varr), (idx), (count))
    
    ///
    /// FAILURE : Does not return on failure
    ///
    #define VecPushBackArrL(v, arr, count) VecInsertRangeL((v), (arr), (v)->length, (count))
    
    ///
    /// FAILURE : Does not return on failure
    ///
    #define VecPushFrontArrL(v, arr, count) VecInsertRangeL((v), (arr), 0, (count))
    
    ///
    // Test VecInsertRangeL
    int range[] = {80, 90, 100};
    VecInsertRangeL(&vec, range, 1, 3);
    
    // Check that array elements are memset to 0

Share :