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

#include <hash_table.h>

Inheritance diagram for dart::UnorderedHashSet< KeyTraits, TableStorageTraits >:
dart::HashSet< BaseIterTable, StorageTraits >

Public Types

typedef HashSet< UnderlyingTable, TableStorageTraits > BaseSet
 
typedef TableStorageTraits::ArrayPtr ArrayPtr
 
typedef TableStorageTraits::ArrayHandle ArrayHandle
 
- Public Types inherited from dart::HashSet< BaseIterTable, StorageTraits >
typedef StorageTraits::ArrayPtr ArrayPtr
 
typedef StorageTraits::ArrayHandle ArrayHandle
 

Public Member Functions

 UnorderedHashSet (ArrayPtr data)
 
 UnorderedHashSet (Zone *zone, ArrayPtr data)
 
 UnorderedHashSet (Object *key, Smi *value, ArrayHandle *data)
 
void Dump () const
 
- Public Member Functions inherited from dart::HashSet< BaseIterTable, StorageTraits >
 HashSet (ArrayPtr data)
 
 HashSet (Zone *zone, ArrayPtr data)
 
 HashSet (Object *key, Smi *value, ArrayHandle *data)
 
bool Insert (const Object &key)
 
ObjectPtr InsertOrGet (const Object &key) const
 
template<typename Key >
ObjectPtr InsertNewOrGet (const Key &key) const
 
template<typename Key >
ObjectPtr GetOrNull (const Key &key, bool *present=nullptr) const
 
template<typename Key >
bool Remove (const Key &key) const
 
void Clear () const
 

Additional Inherited Members

- Protected Member Functions inherited from dart::HashSet< BaseIterTable, StorageTraits >
void EnsureCapacity () const
 

Detailed Description

template<typename KeyTraits, typename TableStorageTraits = ArrayStorageTraits>
class dart::UnorderedHashSet< KeyTraits, TableStorageTraits >

Definition at line 868 of file hash_table.h.

Member Typedef Documentation

◆ ArrayHandle

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
typedef TableStorageTraits::ArrayHandle dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::ArrayHandle

Definition at line 876 of file hash_table.h.

◆ ArrayPtr

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
typedef TableStorageTraits::ArrayPtr dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::ArrayPtr

Definition at line 875 of file hash_table.h.

◆ BaseSet

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
typedef HashSet<UnderlyingTable, TableStorageTraits> dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::BaseSet

Definition at line 874 of file hash_table.h.

Constructor & Destructor Documentation

◆ UnorderedHashSet() [1/3]

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::UnorderedHashSet ( ArrayPtr  data)
inlineexplicit

Definition at line 877 of file hash_table.h.

878 : BaseSet(Thread::Current()->zone(), data) {
880 }
static ObjectPtr null()
Definition object.h:433
static Thread * Current()
Definition thread.h:361
HashSet< UnderlyingTable, TableStorageTraits > BaseSet
Definition hash_table.h:874
#define ASSERT(E)
static int8_t data[kExtLength]

◆ UnorderedHashSet() [2/3]

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::UnorderedHashSet ( Zone zone,
ArrayPtr  data 
)
inline

Definition at line 881 of file hash_table.h.

881: BaseSet(zone, data) {}

◆ UnorderedHashSet() [3/3]

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::UnorderedHashSet ( Object key,
Smi value,
ArrayHandle data 
)
inline

Definition at line 882 of file hash_table.h.

883 : BaseSet(key, value, data) {}

Member Function Documentation

◆ Dump()

template<typename KeyTraits , typename TableStorageTraits = ArrayStorageTraits>
void dart::UnorderedHashSet< KeyTraits, TableStorageTraits >::Dump ( ) const
inline

Definition at line 885 of file hash_table.h.

885 {
886 Object& entry = Object::Handle();
887 for (intptr_t i = 0; i < this->data_->Length(); i++) {
889 TableStorageTraits::At(this->data_, i));
890 if (entry.ptr() == BaseSet::UnusedMarker().ptr() ||
891 entry.ptr() == BaseSet::DeletedMarker().ptr() || entry.IsSmi()) {
892 // empty, deleted, num_used/num_deleted
893 OS::PrintErr("%" Pd ": %s\n", i, entry.ToCString());
894 } else {
895 intptr_t hash = KeyTraits::Hash(entry);
896 OS::PrintErr("%" Pd ": %" Pd ", %s\n", i, hash, entry.ToCString());
897 }
898 }
899 }
static uint32_t hash(const SkShaderBase::GradientInfo &v)
static void static void PrintErr(const char *format,...) PRINTF_ATTRIBUTE(1
static Object & Handle()
Definition object.h:407
static ObjectPtr Unwrap(ObjectPtr obj)
Definition object.h:6640
#define Pd
Definition globals.h:408

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