Skip to content

MapInsertR

MapInsertR

Description

Insert a new key/value pair using r-value semantics. Duplicate keys are allowed and append another value for the same key.

Parameters

Name Direction Description
m in,out Hash map.
key in Key to insert.
value in Value to insert.

Usage example (Cross-references)

Usage examples (Cross-references)
    
        MapSetOnlyR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapSetOnlyR(&map, 2, 20);
        IntIntMap map = MapInitWithValueCompare(int_hash, int_compare, int_compare);
    
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
    
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
    
        bool result = MapRemovePair(&map, 5, 51);
        IntIntMap map = MapInit(int_hash, int_compare);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 31);
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 31);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 31);
    
        bool result = (MapRemoveIf(&map, remove_even_values, NULL) == 2);
        IntIntMap map = MapInit(int_hash, int_compare);
    
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
    
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
        MapInsertR(&map, 9, 90);
        MapInsertR(&map, 5, 50);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
        MapInsertR(&map, 9, 90);
        MapInsertR(&map, 5, 51);
        MapInsertR(&map, 5, 52);
        MapInsertR(&map, 9, 90);
    
        bool result = (MapRemoveAll(&map, 5) == 3);
            MapSetOnlyR(&map, i, i * 10);
        }
        MapInsertR(&map, 2, 25);
    
        MapForeachPairPtr(&map, key_ptr, value_ptr) {
        int       key_two_sum    = 0;
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 2, 21);
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 2, 21);
        MapInsertR(&map, 3, 30);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 2, 21);
        MapInsertR(&map, 3, 30);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 2, 21);
        MapInsertR(&map, 3, 30);
    
        MapForeachKey(&map, key) {
        IntIntMap map = MapInit(int_hash, int_compare);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapSetOnlyR(&map, 2, 200);
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapSetOnlyR(&map, 2, 200);
        MapSetOnlyR(&map, 3, 30);
        IntIntMap map = MapInitWithValueCompare(int_hash, int_compare, int_compare);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 1, 12);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 1, 12);
        MapSetFirstR(&map, 1, 100);
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 1, 12);
        MapSetFirstR(&map, 1, 100);
    
        MapSetOnlyR(&map, "red", "apple");
        MapInsertR(&map, "red", "cherry");
        MapSetOnlyR(&map, "yellow", "banana");
        MapSetOnlyR(&map, "green", "pear");
        IntIntMap second = MapInitWithValueCompare(int_hash, int_compare, int_compare);
    
        MapInsertR(&first, 1, 10);
        MapInsertR(&first, 1, 11);
        MapInsertR(&first, 2, 20);
    
        MapInsertR(&first, 1, 10);
        MapInsertR(&first, 1, 11);
        MapInsertR(&first, 2, 20);
        MapRemoveFirst(&first, 1);
        MapInsertR(&first, 1, 10);
        MapInsertR(&first, 1, 11);
        MapInsertR(&first, 2, 20);
        MapRemoveFirst(&first, 1);
        MapRemoveFirst(&first, 1);
    
        MapInsertR(&second, 9, 90);
        MapInsertR(&second, 10, 100);
    
        MapInsertR(&second, 9, 90);
        MapInsertR(&second, 10, 100);
    
        bool result = (first.tombstones == 1);
        int       threshold = 30;
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 30);
    
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 30);
        MapInsertR(&map, 4, 40);
        MapInsertR(&map, 1, 10);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 30);
        MapInsertR(&map, 4, 40);
        MapInsertR(&map, 2, 20);
        MapInsertR(&map, 3, 30);
        MapInsertR(&map, 4, 40);
    
        bool result = (MapRetainIf(&map, retain_values_above_threshold, &threshold) == 2);
    
        MapSetOnlyR(&map, 7, 70);
        MapInsertR(&map, 7, 71);
        MapSetOnlyR(&map, 9, 90);
    
        MapSetOnlyR(&map, 11, 110);
        MapInsertR(&map, 11, 111);
    
        int *value  = MapGetFirstPtr(&map, 11);
        int            seen      = 0;
    
        MapInsertR(&map, 4, 40);
        MapInsertR(&map, 4, 41);
        MapInsertR(&map, 4, 42);
    
        MapInsertR(&map, 4, 40);
        MapInsertR(&map, 4, 41);
        MapInsertR(&map, 4, 42);
        MapInsertR(&map, 9, 90);
        MapInsertR(&map, 4, 40);
        MapInsertR(&map, 4, 41);
        MapInsertR(&map, 4, 42);
        MapInsertR(&map, 9, 90);
        MapInsertR(&map, 4, 41);
        MapInsertR(&map, 4, 42);
        MapInsertR(&map, 9, 90);
    
        cursor = MapFindFirstForKey(&map, 4);
Last updated on