Open Search
    HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::Entry Class Reference

    #include <hashmap.h>

    Inheritance diagram for HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::Entry:

    Detailed Description

    template<typename K, typename V, typename HASH = DefaultCompare, typename ENTRY_HANDLER = HashMapKeyValuePair, typename ALLOCATOR = DefaultAllocator, HASHMAP_MODE MODE = HASHMAP_MODE::DEFAULT, Int INITIAL_CAPACITY = 16, Int LOAD_FACTOR = (MODE == HASHMAP_MODE::SYNCHRONIZED) ? 0 : 10, typename ENTRY_ALLOCATOR = ALLOCATOR>
    class maxon::HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::Entry

    Class used for entries of the HashMap. The entries of a bucket are stored as a singly linked list, you can loop over this list via GetNextInBucket().

    Public Types

    using KeyType = K
     
    using ValueType = V
     
    - Public Types inherited from HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
    using EntryHandler = ENTRY_HANDLER
     
    using HashValueType = typename ENTRY_HANDLER::HashValueType
     

    Public Member Functions

     operator Pair< K, V > () const
     
    const EntryGetNextWithSameKey () const
     
    EntryGetNextWithSameKey ()
     
    const EntryGetNextInBucket () const
     
    EntryGetNextInBucket ()
     
    void PrivateInitNextInBucket (Entry *next)
     
    SFINAEHelper< String, V >::type ToString (const FormatStatement *format=nullptr) const
     
    Int GetMemorySize () const
     
    - Public Member Functions inherited from HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
    V & GetValue ()
     
    const V & GetValue () const
     
    V & GetSecond ()
     
    const V & GetSecond () const
     
    void SetValue (const V &value)
     
    void SetValue (V &&value)
     
    void ResetValue ()
     
    const HashValueTypeGetKeyHashCode () const
     
    Int GetMemorySize () const
     
     HashMapEntryBase (HashValueType hash)
     
    template<typename KEY >
     HashMapEntryBase (HashValueType hash, const KEY &)
     
    template<typename KEY , typename A >
     HashMapEntryBase (HashValueType hash, const KEY &, A &&value)
     

    Private Member Functions

     MAXON_DISALLOW_COPY_AND_ASSIGN (Entry)
     

    Friends

    class HashMap
     

    Additional Inherited Members

    - Public Attributes inherited from HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
    decltype(ENTRY_HANDLER::GetKey(*(V *) nullptr) GetKey )() const
     
    decltype(ENTRY_HANDLER::GetKey(*(V *) nullptr) GetFirst )() const
     
    - Protected Member Functions inherited from HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
     MAXON_DISALLOW_COPY_AND_ASSIGN (HashMapEntryBase)
     
    - Protected Attributes inherited from HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
    HashMapEntryBase_next
     
    HashValueType _hashCode
     
    _value
     

    Member Typedef Documentation

    ◆ KeyType

    using KeyType = K

    ◆ ValueType

    using ValueType = V

    Member Function Documentation

    ◆ operator Pair< K, V >()

    operator Pair< K, V > ( ) const

    ◆ GetNextWithSameKey() [1/2]

    const Entry* GetNextWithSameKey ( ) const

    Returns the next entry with the same key. This is needed for multi-maps to iterate over all entries for a key, see InsertMultiEntry().

    Returns
    Next entry with the same key, or nullptr if there is no further entry with the same key.

    ◆ GetNextWithSameKey() [2/2]

    Entry* GetNextWithSameKey ( )

    Returns the next entry with the same key. This is needed for multi-maps to iterate over all entries for a key, see InsertMultiEntry().

    Returns
    Next entry with the same key, or nullptr if there is no further entry with the same key.

    ◆ GetNextInBucket() [1/2]

    const Entry* GetNextInBucket ( ) const

    Returns the next entry in the same bucket.

    Returns
    Next entry in bucket, or nullptr if this is the last entry.

    ◆ GetNextInBucket() [2/2]

    Entry* GetNextInBucket ( )

    Returns the next entry in the same bucket.

    Returns
    Next entry in bucket, or nullptr if this is the last entry.

    ◆ PrivateInitNextInBucket()

    void PrivateInitNextInBucket ( Entry next)

    ◆ ToString()

    SFINAEHelper<String, V>::type ToString ( const FormatStatement format = nullptr) const

    ◆ GetMemorySize()

    Int GetMemorySize ( ) const

    ◆ MAXON_DISALLOW_COPY_AND_ASSIGN()

    MAXON_DISALLOW_COPY_AND_ASSIGN ( Entry  )
    private

    Friends And Related Function Documentation

    ◆ HashMap

    friend class HashMap
    friend