Search Results for

    Show / Hide Table of Contents

    Class HashSetBase

    Base class for unordered set of values (without duplicates with O(1) lookup access).

    Inheritance
    HashSetBase
    Inherited Members
    HashSetBase
    Assembly: FlaxEngine.dll
    File: Engine/Core/Collections/HashSetBase.h
    Syntax
    public class HashSetBase<AllocationType, BucketType>
    Type Parameters
    AllocationType

    The type of memory allocator.

    BucketType

    The type of bucket structure that stores element data and state.

    Constructors

    ~HashSetBase()

    Declaration
    protected ~HashSetBase()

    HashSetBase()

    Declaration
    protected HashSetBase()

    Fields

    _allocation

    Declaration
    protected AllocationData _allocation
    Field Value
    AllocationData

    _deletedCount

    Declaration
    protected int32 _deletedCount = 0
    Field Value
    int32

    _elementsCount

    Declaration
    protected int32 _elementsCount = 0
    Field Value
    int32

    _size

    Declaration
    protected int32 _size = 0
    Field Value
    int32

    Methods

    Capacity()

    Gets the amount of the elements that can be contained by the collection.

    Declaration
    public int32 Capacity() const
    Returns
    int32

    Clear()

    Removes all elements from the collection.

    Declaration
    public void Clear()

    Compact()

    Declaration
    protected void Compact()

    Count()

    Gets the amount of the elements in the collection.

    Declaration
    public int32 Count() const
    Returns
    int32

    EnsureCapacity(int32 minCapacity, const bool preserveContents=true)

    Ensures that collection has given capacity.

    Declaration
    public void EnsureCapacity(int32 minCapacity, const bool preserveContents=true)
    Parameters
    int32 minCapacity

    The minimum required capacity.

    bool preserveContents

    True if preserve collection data when changing its size, otherwise collection after resize will be empty.

    FindPosition(const KeyComparableType& key, FindPositionResult& result)

    Returns a pair of positions: 1st where the object is, 2nd where it would go if you wanted to insert it. 1st is -1 if object is not found; 2nd is -1 if it is. Because of deletions where-to-insert is not trivial: it's the first deleted bucket we see, as long as we don't find the item later.

    Declaration
    protected void FindPosition(const KeyComparableType& key, FindPositionResult& result) const
    Parameters
    KeyComparableType key

    The key to find

    FindPositionResult result

    A pair of values: where the object is and where it would go if you wanted to insert it

    Type Parameters
    typename KeyComparableType

    HasItems()

    Returns true if collection has one or more elements.

    Declaration
    public bool HasItems() const
    Returns
    bool

    IsEmpty()

    Returns true if collection is empty.

    Declaration
    public bool IsEmpty() const
    Returns
    bool

    MoveToEmpty(HashSetBase&& other)

    Declaration
    protected void MoveToEmpty(HashSetBase&& other)
    Parameters
    HashSetBase other

    OnAdd(const KeyComparableType& key, bool checkUnique=true)

    Declaration
    protected BucketType* OnAdd(const KeyComparableType& key, bool checkUnique=true)
    Parameters
    KeyComparableType key

    bool checkUnique

    Returns
    BucketType

    Type Parameters
    typename KeyComparableType

    SetCapacity(int32 capacity, const bool preserveContents=true)

    Changes the capacity of the collection.

    Declaration
    public void SetCapacity(int32 capacity, const bool preserveContents=true)
    Parameters
    int32 capacity

    The new capacity.

    bool preserveContents

    True if preserve collection data when changing its size, otherwise collection after resize will be empty.

    Swap(HashSetBase& other)

    Swaps the contents of collection with the other object without copy operation. Performs fast internal data exchange.

    Declaration
    public void Swap(HashSetBase& other)
    Parameters
    HashSetBase other

    The other collection.

    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat