Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
dart::UnorderedHashMap< KeyTraits > Class Template Reference

#include <hash_table.h>

Inheritance diagram for dart::UnorderedHashMap< KeyTraits >:
dart::HashMap< UnorderedHashTable< KeyTraits, 1 > > dart::UnorderedHashTable< KeyTraits, 1 > dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits > dart::HashTableBase dart::ValueObject

Public Types

typedef HashMap< UnorderedHashTable< KeyTraits, 1 > > BaseMap
 
- Public Types inherited from dart::UnorderedHashTable< KeyTraits, 1 >
typedef HashTable< KeyTraits, kUserPayloadSize, 0, ArrayStorageTraitsBaseTable
 
typedef StorageTraits::ArrayPtr ArrayPtr
 
typedef StorageTraits::ArrayHandle ArrayHandle
 
- Public Types inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
typedef KeyTraits Traits
 
typedef StorageTraits Storage
 

Public Member Functions

 UnorderedHashMap (ArrayPtr data)
 
 UnorderedHashMap (Zone *zone, ArrayPtr data)
 
 UnorderedHashMap (Object *key, Smi *value, Array *data)
 
- Public Member Functions inherited from dart::HashMap< UnorderedHashTable< KeyTraits, 1 > >
 HashMap (ArrayPtr data)
 
 HashMap (Zone *zone, ArrayPtr data)
 
 HashMap (Object *key, Smi *value, Array *data)
 
ObjectPtr GetOrNull (const Key &key, bool *present=nullptr) const
 
ObjectPtr GetOrDie (const Key &key) const
 
bool UpdateOrInsert (const Object &key, const Object &value) const
 
void UpdateValue (const Key &key, const Object &value) const
 
ObjectPtr InsertOrGetValue (const Object &key, const Object &value_if_absent) const
 
ObjectPtr InsertNewOrGetValue (const Key &key, const Object &value_if_absent) const
 
bool Remove (const Key &key) const
 
void Clear () const
 
- Public Member Functions inherited from dart::UnorderedHashTable< KeyTraits, 1 >
 UnorderedHashTable (ArrayPtr data)
 
 UnorderedHashTable (Zone *zone, ArrayPtr data)
 
 UnorderedHashTable (Object *key, Smi *value, ArrayHandle *data)
 
- Public Member Functions inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
 HashTable (Object *key, Smi *index, typename StorageTraits::ArrayHandle *data)
 
 HashTable (Zone *zone, typename StorageTraits::ArrayPtr data)
 
StorageTraits::ArrayHandle & Release ()
 
 ~HashTable ()
 
void Initialize () const
 
template<typename Key >
bool ContainsKey (const Key &key) const
 
template<typename Key >
intptr_t FindKey (const Key &key) const
 
template<typename Key >
bool FindKeyOrDeletedOrUnused (const Key &key, intptr_t *entry) const
 
void InsertKey (intptr_t entry, const Object &key) const
 
bool IsUnused (intptr_t entry) const
 
bool IsOccupied (intptr_t entry) const
 
bool IsDeleted (intptr_t entry) const
 
ObjectPtr GetKey (intptr_t entry) const
 
ObjectPtr GetPayload (intptr_t entry, intptr_t component) const
 
void UpdatePayload (intptr_t entry, intptr_t component, const Object &value) const
 
void DeleteEntry (intptr_t entry) const
 
intptr_t NumEntries () const
 
intptr_t NumUnused () const
 
intptr_t NumOccupied () const
 
intptr_t NumDeleted () const
 
ObjectKeyHandle () const
 
SmiSmiHandle () const
 
intptr_t NumGrows () const
 
intptr_t NumLT5Collisions () const
 
intptr_t NumLT25Collisions () const
 
intptr_t NumGT25Collisions () const
 
intptr_t NumProbes () const
 
void UpdateGrowth () const
 
void UpdateCollisions (intptr_t collisions) const
 
void PrintStats () const
 
void UpdateWeakDeleted () const
 
- Public Member Functions inherited from dart::ValueObject
 ValueObject ()
 
 ~ValueObject ()
 

Additional Inherited Members

- Static Public Member Functions inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
static intptr_t ArrayLengthForNumOccupied (intptr_t num_occupied)
 
- Static Public Member Functions inherited from dart::HashTableBase
static const ObjectUnusedMarker ()
 
static const ObjectDeletedMarker ()
 
- Static Public Attributes inherited from dart::UnorderedHashTable< KeyTraits, 1 >
static constexpr intptr_t kPayloadSize
 
- Protected Member Functions inherited from dart::HashMap< UnorderedHashTable< KeyTraits, 1 > >
void EnsureCapacity () const
 
- Protected Member Functions inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
intptr_t KeyIndex (intptr_t entry) const
 
intptr_t PayloadIndex (intptr_t entry, intptr_t component) const
 
ObjectPtr InternalGetKey (intptr_t entry) const
 
void InternalSetKey (intptr_t entry, const Object &key) const
 
intptr_t GetSmiValueAt (intptr_t index) const
 
void SetSmiValueAt (intptr_t index, intptr_t value) const
 
void AdjustSmiValueAt (intptr_t index, intptr_t delta) const
 
- Protected Attributes inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
Objectkey_handle_
 
Smismi_handle_
 
StorageTraits::ArrayHandle * data_
 
StorageTraits::ArrayHandle * released_data_
 
- Static Protected Attributes inherited from dart::HashTable< KeyTraits, kPayloadSize, kMetaDataSize, StorageTraits >
static constexpr intptr_t kOccupiedEntriesIndex = 0
 
static constexpr intptr_t kDeletedEntriesIndex = 1
 
static constexpr intptr_t kNumGrowsIndex = 2
 
static constexpr intptr_t kNumLT5LookupsIndex = 3
 
static constexpr intptr_t kNumLT25LookupsIndex = 4
 
static constexpr intptr_t kNumGT25LookupsIndex = 5
 
static constexpr intptr_t kNumProbesIndex = 6
 
static constexpr intptr_t kHeaderSize = kNumProbesIndex + 1
 
static constexpr intptr_t kMetaDataIndex = kHeaderSize
 
static constexpr intptr_t kFirstKeyIndex = kHeaderSize + kMetaDataSize
 
static constexpr intptr_t kEntrySize = 1 + kPayloadSize
 

Detailed Description

template<typename KeyTraits>
class dart::UnorderedHashMap< KeyTraits >

Definition at line 781 of file hash_table.h.

Member Typedef Documentation

◆ BaseMap

template<typename KeyTraits >
typedef HashMap<UnorderedHashTable<KeyTraits, 1> > dart::UnorderedHashMap< KeyTraits >::BaseMap

Definition at line 783 of file hash_table.h.

Constructor & Destructor Documentation

◆ UnorderedHashMap() [1/3]

template<typename KeyTraits >
dart::UnorderedHashMap< KeyTraits >::UnorderedHashMap ( ArrayPtr  data)
inlineexplicit

Definition at line 784 of file hash_table.h.

785 : BaseMap(Thread::Current()->zone(), data) {}
static Thread * Current()
Definition thread.h:361
HashMap< UnorderedHashTable< KeyTraits, 1 > > BaseMap
Definition hash_table.h:783
static int8_t data[kExtLength]

◆ UnorderedHashMap() [2/3]

template<typename KeyTraits >
dart::UnorderedHashMap< KeyTraits >::UnorderedHashMap ( Zone zone,
ArrayPtr  data 
)
inline

Definition at line 786 of file hash_table.h.

786: BaseMap(zone, data) {}

◆ UnorderedHashMap() [3/3]

template<typename KeyTraits >
dart::UnorderedHashMap< KeyTraits >::UnorderedHashMap ( Object key,
Smi value,
Array data 
)
inline

Definition at line 787 of file hash_table.h.

788 : BaseMap(key, value, data) {}

The documentation for this class was generated from the following file: