docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct UnsafeParallelHashMap<TKey, TValue>

    An unordered, expandable associative array.

    Implements
    INativeDisposable
    Namespace: Unity.Collections.LowLevel.Unsafe
    Assembly: Unity.Collections.dll
    Syntax
    public struct UnsafeParallelHashMap<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.

    Constructors

    UnsafeParallelHashMap(int, AllocatorHandle)

    Initializes and returns an instance of UnsafeParallelHashMap.

    Declaration
    public UnsafeParallelHashMap(int capacity, AllocatorManager.AllocatorHandle allocator)
    Parameters
    Type Name Description
    int capacity

    The number of key-value pairs that should fit in the initial allocation.

    AllocatorManager.AllocatorHandle allocator

    The allocator to use.

    Properties

    Capacity

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

    Declaration
    public int Capacity { readonly get; set; }
    Property Value
    Type Description
    int

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

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown if value is less than the current capacity.

    IsCreated

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

    Declaration
    public readonly bool IsCreated { get; }
    Property Value
    Type Description
    bool

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

    IsEmpty

    Whether this hash map is empty.

    Declaration
    public readonly bool IsEmpty { get; }
    Property Value
    Type Description
    bool

    True if this hash map is empty or the hash map has not been constructed.

    this[TKey]

    Gets and sets values by key.

    Declaration
    public TValue this[TKey key] { get; set; }
    Parameters
    Type Name Description
    TKey key

    The key to look up.

    Property Value
    Type Description
    TValue

    The value associated with the key.

    Remarks

    Getting a key that is not present will throw. Setting a key that is not already present will add the key.

    Exceptions
    Type Condition
    ArgumentException

    For getting, thrown if the key was not present.

    Methods

    Add(TKey, TValue)

    Adds a new key-value pair.

    Declaration
    public void Add(TKey key, TValue item)
    Parameters
    Type Name Description
    TKey key

    The key to add.

    TValue item

    The value to add.

    Remarks

    If the key is already present, this method throws without modifying the hash map.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the key was already present.

    AsParallelWriter()

    Returns a parallel writer for this hash map.

    Declaration
    public UnsafeParallelHashMap<TKey, TValue>.ParallelWriter AsParallelWriter()
    Returns
    Type Description
    UnsafeParallelHashMap<TKey, TValue>.ParallelWriter

    A parallel writer for this hash map.

    AsReadOnly()

    Returns a readonly version of this UnsafeParallelHashMap instance.

    Declaration
    public UnsafeParallelHashMap<TKey, TValue>.ReadOnly AsReadOnly()
    Returns
    Type Description
    UnsafeParallelHashMap<TKey, TValue>.ReadOnly

    ReadOnly instance for this.

    Remarks

    ReadOnly containers point to the same underlying data as the UnsafeParallelHashMap it is made from.

    Clear()

    Removes all key-value pairs.

    Declaration
    public void Clear()
    Remarks

    Does not change the capacity.

    ContainsKey(TKey)

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

    Declaration
    public bool ContainsKey(TKey key)
    Parameters
    Type Name Description
    TKey key

    The key to look up.

    Returns
    Type Description
    bool

    True if the key was present.

    Count()

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

    Declaration
    public readonly int Count()
    Returns
    Type Description
    int

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

    Dispose()

    Releases all resources (memory).

    Declaration
    public void Dispose()

    Dispose(JobHandle)

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

    Declaration
    public JobHandle Dispose(JobHandle inputDeps)
    Parameters
    Type Name Description
    JobHandle inputDeps

    A job handle. The newly scheduled job will depend upon this handle.

    Returns
    Type Description
    JobHandle

    The handle of a new job that will dispose this hash map.

    GetEnumerator()

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

    Declaration
    public UnsafeParallelHashMap<TKey, TValue>.Enumerator GetEnumerator()
    Returns
    Type Description
    UnsafeParallelHashMap<TKey, TValue>.Enumerator

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

    GetKeyArray(AllocatorHandle)

    Returns an array with a copy of all this hash map's keys (in no particular order).

    Declaration
    public NativeArray<TKey> GetKeyArray(AllocatorManager.AllocatorHandle allocator)
    Parameters
    Type Name Description
    AllocatorManager.AllocatorHandle allocator

    The allocator to use.

    Returns
    Type Description
    NativeArray<TKey>

    An array with a copy of all this hash map's keys (in no particular order).

    GetKeyValueArrays(AllocatorHandle)

    Returns a NativeKeyValueArrays with a copy of all this hash map's keys and values.

    Declaration
    public NativeKeyValueArrays<TKey, TValue> GetKeyValueArrays(AllocatorManager.AllocatorHandle allocator)
    Parameters
    Type Name Description
    AllocatorManager.AllocatorHandle allocator

    The allocator to use.

    Returns
    Type Description
    NativeKeyValueArrays<TKey, TValue>

    A NativeKeyValueArrays with a copy of all this hash map's keys and values.

    Remarks

    The key-value pairs are copied in no particular order. For all i, Values[i] will be the value associated with Keys[i].

    GetValueArray(AllocatorHandle)

    Returns an array with a copy of all this hash map's values (in no particular order).

    Declaration
    public NativeArray<TValue> GetValueArray(AllocatorManager.AllocatorHandle allocator)
    Parameters
    Type Name Description
    AllocatorManager.AllocatorHandle allocator

    The allocator to use.

    Returns
    Type Description
    NativeArray<TValue>

    An array with a copy of all this hash map's values (in no particular order).

    Remove(TKey)

    Removes a key-value pair.

    Declaration
    public bool Remove(TKey key)
    Parameters
    Type Name Description
    TKey key

    The key to remove.

    Returns
    Type Description
    bool

    True if a key-value pair was removed.

    TryAdd(TKey, TValue)

    Adds a new key-value pair.

    Declaration
    public bool TryAdd(TKey key, TValue item)
    Parameters
    Type Name Description
    TKey key

    The key to add.

    TValue item

    The value to add.

    Returns
    Type Description
    bool

    True if the key-value pair was added.

    Remarks

    If the key is already present, this method returns false without modifying the hash map.

    TryGetValue(TKey, out TValue)

    Returns the value associated with a key.

    Declaration
    public bool TryGetValue(TKey key, out TValue item)
    Parameters
    Type Name Description
    TKey key

    The key to look up.

    TValue item

    Outputs the value associated with the key. Outputs default if the key was not present.

    Returns
    Type Description
    bool

    True if the key was present.

    Implements

    INativeDisposable
    In This Article
    Back to top
    Copyright © 2024 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)