Skip to content
MapInitWithDeepCopy

MapInitWithDeepCopy

MapInitWithDeepCopy

Description

Initialize map with deep-copy callbacks for keys and values. Uses linear probing by default.

Parameters

Name Direction Description
hash_fn in Hash callback for keys.
compare_fn in Key comparator.
key_ci in Optional key deep-copy callback.
key_cd in Optional key deinit callback.
value_ci in Optional value deep-copy callback.
value_cd in Optional value deinit callback.

Usage example (Cross-references)

Usage examples (Cross-references)
        typedef Map(const char *, const char *) ZstrMap;
        ZstrMap map =
            MapInitWithDeepCopy(zstr_hash, zstr_compare_ptr, ZstrInitClone, ZstrDeinit, ZstrInitClone, ZstrDeinit);
        char         key_buf[]          = "alpha";
        char         value_buf[]        = "first";
        typedef Map(const char *, const char *) ZstrMap;
        ZstrMap map =
            MapInitWithDeepCopy(zstr_hash, zstr_compare_ptr, ZstrInitClone, ZstrDeinit, ZstrInitClone, ZstrDeinit);
    
        int red_count = 0;
            (TYPE_OF(m) MapInitWithValueCompareAndPolicy((hash_fn), (compare_fn), (value_compare_fn), (policy_value)))
    #    define MapInitWithDeepCopyT(m, hash_fn, compare_fn, key_ci, key_cd, value_ci, value_cd)                           \
            (TYPE_OF(m) MapInitWithDeepCopy((hash_fn), (compare_fn), (key_ci), (key_cd), (value_ci), (value_cd)))
    #    define MapInitWithDeepCopyAndValueCompareT(                                                                       \
            m,                                                                                                             \
            ((TYPE_OF(m))MapInitWithValueCompareAndPolicy((hash_fn), (compare_fn), (value_compare_fn), (policy_value)))
    #    define MapInitWithDeepCopyT(m, hash_fn, compare_fn, key_ci, key_cd, value_ci, value_cd)                           \
            ((TYPE_OF(m))MapInitWithDeepCopy((hash_fn), (compare_fn), (key_ci), (key_cd), (value_ci), (value_cd)))
    #    define MapInitWithDeepCopyAndValueCompareT(                                                                       \
            m,                                                                                                             \
Last updated on