Skip to content

VecPushBackR

VecPushBackR

Description

Push item into vector back.

Parameters

Name Direction Description
v in,out Vector to push item into
rval in r-value to be pushed back

Success

return

Failure

Does not return

Usage example (Cross-references)

Usage examples (Cross-references)
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int even_values[] = {10, 20, 30, 40};
        for (int i = 0; i < 4; i++) {
            VecPushBackR(&vec, even_values[i]);
        }
        int values[] = {30, 10, 50, 20, 40};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
    
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 40);
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 40);
        VecPushBackR(&vec, 50);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 40);
        VecPushBackR(&vec, 50);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 40);
        VecPushBackR(&vec, 50);
    
        // Check values using VecAt
    
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
    
        // Get pointers to elements
    
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
    
        // Check first and last elements
    
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
    
        // Get begin and end pointers
    
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        // Add some data
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        VecPushBackR(&vec, 30);
    
        // Check size and length after adding elements
    
        // Add some data
        VecPushBackR(&aligned_vec, 10);
        VecPushBackR(&aligned_vec, 20);
        // Add some data
        VecPushBackR(&aligned_vec, 10);
        VecPushBackR(&aligned_vec, 20);
    
        // Check size and length with alignment
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
    
            // Add some data
            VecPushBackR(&vec, 10);
            VecPushBackR(&vec, 20);
            VecPushBackR(&vec, 30);
            // Add some data
            VecPushBackR(&vec, 10);
            VecPushBackR(&vec, 20);
            VecPushBackR(&vec, 30);
            VecPushBackR(&vec, 10);
            VecPushBackR(&vec, 20);
            VecPushBackR(&vec, 30);
    
            // Check that the data was added correctly
            item.id       = 1;
            item.value    = 3.14;
            VecPushBackR(&test_vec, item);
    
            // Check that the item was added correctly
    
        // Add some data
        VecPushBackR(&src, 1);
        VecPushBackR(&src, 2);
        VecPushBackR(&src, 3);
        // Add some data
        VecPushBackR(&src, 1);
        VecPushBackR(&src, 2);
        VecPushBackR(&src, 3);
        VecPushBackR(&src, 1);
        VecPushBackR(&src, 2);
        VecPushBackR(&src, 3);
    
        // Create a destination vector
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
        // Add some elements
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, i * 10);
        }
        // Add some elements
        for (int i = 0; i < 6; i++) {
            VecPushBackR(&vec, i * 20);
        }
        // Add several elements
        for (int i = 0; i < 6; i++) {
            VecPushBackR(&vec, i * 15);
        }
        // Add several elements
        for (int i = 0; i < 7; i++) {
            VecPushBackR(&vec, i * 25);
        }
        // Add several elements
        for (int i = 0; i < 8; i++) {
            VecPushBackR(&vec, i * 35);
        }
        // Add several elements
        for (int i = 0; i < 9; i++) {
            VecPushBackR(&vec, i * 45);
        }
        // Add several elements
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, i * 30);
        }
    
        // Add the item to the vector
        VecPushBackR(&vec, item);
    
        // Check that the vector now has one item
    
        // Push items to the vector
        VecPushBackR(&vec, item1);
        VecPushFrontR(&vec, item2);
        VecPushBackR(&vec, item3);
        VecPushBackR(&vec, item1);
        VecPushFrontR(&vec, item2);
        VecPushBackR(&vec, item3);
    
        // Check vector length
    
        // Add item1 to the vector
        VecPushBackR(&vec, item1);
    
        // Insert item2 at index 0
    
        // Add items to vectors
        VecPushBackR(&vec1, item1);
        VecPushBackR(&vec2, item2);
        VecPushBackR(&vec2, item3);
        // Add items to vectors
        VecPushBackR(&vec1, item1);
        VecPushBackR(&vec2, item2);
        VecPushBackR(&vec2, item3);
        VecPushBackR(&vec1, item1);
        VecPushBackR(&vec2, item2);
        VecPushBackR(&vec2, item3);
    
        // Merge vec2 into vec1
        // Add some initial elements
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, i * 10);
        }
        // Add some initial elements
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec2, i * 10);
        }
    
        // Test pushing to empty vector
        VecPushBackR(&vec, 10);
        bool result = (vec.length == 1 && VecAt(&vec, 0) == 10);
        const int large_count = 1000;
        for (int i = 0; i < large_count; i++) {
            VecPushBackR(&vec, i);
        }
    
        // Push an element (should auto-resize)
        VecPushBackR(&vec, 42);
        result = result && (vec.length == 1 && VecAt(&vec, 0) == 42);
        int values[] = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            VecPushBackR(&vec, values[i]);
        }
    
        // Push some elements first
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
        // Push some elements first
        VecPushBackR(&vec, 10);
        VecPushBackR(&vec, 20);
    
        // Push an array at a specific index
    
        // Test R-value insert operations
        VecPushBackR(&vec, LVAL(42));
    
        // Check that the element was added
        int    merge_vals[] = {140, 150, 160};
        for (int i = 0; i < 3; i++) {
            VecPushBackR(&vec2, merge_vals[i]);
        }
    /// FAILURE : Returns `NULL` otherwise.
    ///
    #define StrPushBack(str, chr) VecPushBackR((str), (chr))
    
    ///
Last updated on