Lines Matching refs:ValueType
100 typedef Value ValueType;
101 typedef const ValueType& ReferenceType;
102 typedef const ValueType* PointerType;
228 typedef Value ValueType;
229 typedef ValueType& ReferenceType;
230 typedef ValueType* PointerType;
293 typedef Value ValueType;
302 m_table = (ValueType*)(uintptr_t)0xbbadbeef;
319 pair<iterator, bool> add(const ValueType& value) { return add<KeyType, ValueType, IdentityTranslatorType>(Extractor::extract(value), value); }
341 static bool isEmptyBucket(const ValueType& value) { return Extractor::extract(value) == KeyTraits::emptyValue(); }
342 static bool isDeletedBucket(const ValueType& value) { return KeyTraits::isDeletedValue(Extractor::extract(value)); }
343 static bool isEmptyOrDeletedBucket(const ValueType& value) { return isEmptyBucket(value) || isDeletedBucket(value); }
345 ValueType* lookup(const Key& key) { return lookup<Key, IdentityTranslatorType>(key); }
346 template<typename T, typename HashTranslator> ValueType* lookup(const T&);
362 static ValueType* allocateTable(int size);
363 static void deallocateTable(ValueType* table, int size);
365 typedef pair<ValueType*, bool> LookupType;
374 void removeAndInvalidateWithoutEntryConsistencyCheck(ValueType*);
375 void removeAndInvalidate(ValueType*);
376 void remove(ValueType*);
385 void reinsert(ValueType&);
387 static void initializeBucket(ValueType& bucket) { new (&bucket) ValueType(Traits::emptyValue()); }
388 static void deleteBucket(ValueType& bucket) { bucket.~ValueType(); Traits::constructDeletedValue(bucket); }
390 FullLookupType makeLookupResult(ValueType* position, bool found, unsigned hash)
393 iterator makeIterator(ValueType* pos) { return iterator(this, pos, m_table + m_tableSize); }
394 const_iterator makeConstIterator(ValueType
395 iterator makeKnownGoodIterator(ValueType* pos) { return iterator(this, pos, m_table + m_tableSize, HashItemKnownGood); }
396 const_iterator makeKnownGoodConstIterator(ValueType* pos) const { return const_iterator(this, pos, m_table + m_tableSize, HashItemKnownGood); }
414 ValueType* m_table;
468 ValueType deletedValue = Traits::emptyValue();
469 deletedValue.~ValueType();
472 new (&deletedValue) ValueType(Traits::emptyValue());
485 ValueType* table = m_table;
498 ValueType* entry = table + i;
532 ValueType* table = m_table;
542 ValueType* deletedEntry = 0;
545 ValueType* entry = table + i;
584 ValueType* table = m_table;
594 ValueType* deletedEntry = 0;
597 ValueType* entry = table + i;
644 ValueType* table = m_table;
654 ValueType* deletedEntry = 0;
655 ValueType* entry;
728 ValueType* entry = lookupResult.first.first;
759 inline void HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::reinsert(ValueType& entry)
768 Mover<ValueType, Traits::needsDestruction>::move(entry, *lookupForWriting(Extractor::extract(entry)).first);
778 ValueType* entry = lookup<T, HashTranslator>(key);
792 ValueType* entry = const_cast<HashTable*>(this)->lookup<T, HashTranslator>(key);
810 void HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::removeAndInvalidateWithoutEntryConsistencyCheck(ValueType* pos)
817 void HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::removeAndInvalidate(ValueType* pos)
825 void HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::remove(ValueType* pos)
847 removeAndInvalidate(const_cast<ValueType*>(it.m_iterator.m_position));
856 removeAndInvalidateWithoutEntryConsistencyCheck(const_cast<ValueType*>(it.m_iterator.m_position));
865 removeAndInvalidateWithoutEntryConsistencyCheck(const_cast<ValueType*>(it.m_position));
880 return static_cast<ValueType*>(fastZeroedMalloc(size * sizeof(ValueType)));
881 ValueType* result = static_cast<ValueType*>(fastMalloc(size * sizeof(ValueType)));
888 void HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::deallocateTable(ValueType* table, int size)
893 table[i].~ValueType();
919 ValueType* oldTable = m_table;
976 ValueType* tmp_table = m_table;
1024 ValueType* entry = m_table + j;
1122 template<typename HashTableType, typename ValueType> struct HashTableConstIteratorAdapter {
1125 const ValueType* get() const { return (const ValueType*)m_impl.get(); }
1126 const ValueType& operator*() const { return *get(); }
1127 const ValueType* operator->() const { return get(); }
1135 template<typename HashTableType, typename ValueType> struct HashTableIteratorAdapter {
1138 ValueType* get() const { return (ValueType*)m_impl.get(); }
1139 ValueType& operator*() const { return *get(); }
1140 ValueType* operator->() const { return get(); }
1145 operator HashTableConstIteratorAdapter<HashTableType, ValueType>() {