Skip to content

MapSetOnlyR

Description

Set the value for in_key, replacing any existing entries. R-value form.

Success

Returns true. Same state effects as MapSetOnlyL minus the source-zeroing step; both sources are left untouched.

Failure

Returns false on allocation failure. The map is unchanged.

Usage example (Cross-references)

Usage examples (Cross-references)
        MapInsertR(&map, 1, 11);
        MapInsertR(&map, 2, 20);
        MapSetOnlyR(&map, 2, 200);
        MapSetOnlyR(&map, 3, 30);
        MapInsertR(&map, 2, 20);
        MapSetOnlyR(&map, 2, 200);
        MapSetOnlyR(&map, 3, 30);
    
        bool result = MapPairCount(&map) == 4;
    
        for (int i = 1; i <= 4; i++) {
            MapSetOnlyR(&map, i, i * 10);
        }
        MapInsertR(&map, 2, 25);
        IntIntMap        map   = MapInit(i32_hash, i32_compare, &alloc);
    
        MapSetOnlyR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapSetOnlyR(&map, 2, 20);
        MapSetOnlyR(&map, 1, 10);
        MapInsertR(&map, 1, 11);
        MapSetOnlyR(&map, 2, 20);
    
        bool result = MapRemoveFirst(&map, 1);
    
        for (int i = 0; i < 12; i++) {
            MapSetOnlyR(&map, i, i + 100);
        }
    
        MapRemoveFirst(&map, 5);
        MapSetOnlyR(&map, 105, 205);
    
        bool result = !MapContainsKey(&map, 5);
        IntIntMap        map   = MapInitWithValueCompare(i32_hash, i32_compare, i32_compare, &alloc);
    
        MapSetOnlyR(&map, 7, 70);
        MapInsertR(&map, 7, 71);
        MapSetOnlyR(&map, 9, 90);
        MapSetOnlyR(&map, 7, 70);
        MapInsertR(&map, 7, 71);
        MapSetOnlyR(&map, 9, 90);
    
        bool result = MapContainsKey(&map, 7);
        IntIntMap        map   = MapInit(i32_hash, i32_compare, &alloc);
    
        MapSetOnlyR(&map, 11, 110);
        MapInsertR(&map, 11, 111);
        IntIntMap        map   = MapInit(i32_hash, i32_compare, &alloc);
    
        MapSetOnlyR(&map, 11, 110);
        MapInsertR(&map, 11, 111);
        IntIntMap        map   = MapInit(i32_hash, i32_compare, &alloc);
    
        MapSetOnlyR(&map, 11, 110);
        MapInsertR(&map, 11, 111);
                      (MapPairCount(&map) == 0) && MapEmpty(&map) && !MapContainsKey(&map, 1) && !MapContainsKey(&map, 2);
    
        MapSetOnlyR(&map, 7, 70);
        result = result && (MapPairCount(&map) == 1) && (MapValueCountForKey(&map, 7) == 1);
        result = result && MapGetFirstPtr(&map, 7) && (*MapGetFirstPtr(&map, 7) == 70);
    
        for (int i = 0; i < 24; i++) {
            MapSetOnlyR(&map, i, i * 10);
        }
    
        for (int i = 0; i < 6; i++) {
            MapSetOnlyR(&map, i, i + 100);
        }
        int red_count = 0;
    
        MapSetOnlyR(&map, "red", "apple");
        MapInsertR(&map, "red", "cherry");
        MapSetOnlyR(&map, "yellow", "banana");
        MapSetOnlyR(&map, "red", "apple");
        MapInsertR(&map, "red", "cherry");
        MapSetOnlyR(&map, "yellow", "banana");
        MapSetOnlyR(&map, "green", "pear");
        MapRehashWithPolicy(&map, MapPairCount(&map), MapPolicyQuadratic);
        MapInsertR(&map, "red", "cherry");
        MapSetOnlyR(&map, "yellow", "banana");
        MapSetOnlyR(&map, "green", "pear");
        MapRehashWithPolicy(&map, MapPairCount(&map), MapPolicyQuadratic);
    #define MapMustSetOnlyR(m, in_key, in_value)                                                                           \
        do {                                                                                                               \
            if (!MapSetOnlyR((m), (in_key), (in_value))) {                                                                 \
                LOG_FATAL("MapMustSetOnlyR failed");                                                                       \
            }                                                                                                              \
Last updated on