{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Struct NativeParallelMultiHashMap<TKey, TValue> | Collections | 2.3.0-pre.3
docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct NativeParallelMultiHashMap<TKey, TValue>

    An unordered, expandable associative array. Each key can have more than one associated value.

    Implements
    INativeDisposable
    Namespace: Unity.Collections
    Assembly: solution.dll
    Syntax
    [NativeContainer]
    public struct NativeParallelMultiHashMap<TKey, TValue> : INativeDisposable where TKey : unmanaged, IEquatable<TKey> where TValue : unmanaged
    Type Parameters
    Name Description
    TKey

    The type of the keys.

    TValue

    The type of the values.

    Remarks

    Unlike a regular NativeParallelHashMap, a NativeParallelMultiHashMap can store multiple key-value pairs with the same key.

    The keys are not deduplicated: two key-value pairs with the same key are stored as fully separate key-value pairs.

    Constructors

    Name Description
    NativeParallelMultiHashMap(int, AllocatorHandle)

    Returns a newly allocated multi hash map.

    Properties

    Name Description
    Capacity

    Returns the number of key-value pairs that fit in the current allocation.

    IsCreated

    Whether this hash map has been allocated (and not yet deallocated).

    IsEmpty

    Whether this hash map is empty.

    Methods

    Name Description
    Add(TKey, TValue)

    Adds a new key-value pair.

    AsParallelWriter()

    Returns a parallel writer for this hash map.

    AsReadOnly()

    Returns a readonly version of this NativeParallelHashMap instance.

    Clear()

    Removes all key-value pairs.

    ContainsKey(TKey)

    Returns true if a given key is present in this hash map.

    Count()

    Returns the current number of key-value pairs in this hash map.

    CountValuesForKey(TKey)

    Returns the number of values associated with a given key.

    Dispose()

    Releases all resources (memory and safety handles).

    Dispose(JobHandle)

    Creates and schedules a job that will dispose this hash map.

    GetEnumerator()

    Returns an enumerator over the key-value pairs of this hash map.

    GetKeyArray(AllocatorHandle)

    Returns an array with a copy of all the keys (in no particular order).

    GetKeyValueArrays(AllocatorHandle)

    Returns a NativeKeyValueArrays with a copy of all the keys and values (in no particular order).

    GetValueArray(AllocatorHandle)

    Returns an array with a copy of all the values (in no particular order).

    GetValuesForKey(TKey)

    Returns an enumerator over the values of an individual key.

    Remove(NativeParallelMultiHashMapIterator<TKey>)

    Removes a single key-value pair.

    Remove(TKey)

    Removes a key and its associated value(s).

    SetValue(TValue, NativeParallelMultiHashMapIterator<TKey>)

    Sets a new value for an existing key-value pair.

    TryGetFirstValue(TKey, out TValue, out NativeParallelMultiHashMapIterator<TKey>)

    Gets an iterator for a key.

    TryGetNextValue(out TValue, ref NativeParallelMultiHashMapIterator<TKey>)

    Advances an iterator to the next value associated with its key.

    Extension Methods

    NativeParallelHashMapExtensions.GetUnsafeBucketData<TKey, TValue>(NativeParallelMultiHashMap<TKey, TValue>)
    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)