![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <hashmap.h>
Classes | |
struct | Impl |
Public Types | |
using | Entry = TemplateHashMapEntry<Key, Value> |
Public Member Functions | |
TemplateHashMapImpl (uint32_t capacity=kDefaultHashMapCapacity, MatchFun match=MatchFun(), AllocationPolicy allocator=AllocationPolicy()) | |
TemplateHashMapImpl (const TemplateHashMapImpl &)=delete | |
TemplateHashMapImpl & | operator= (const TemplateHashMapImpl &)=delete |
TemplateHashMapImpl (const TemplateHashMapImpl *original, AllocationPolicy allocator=AllocationPolicy()) | |
TemplateHashMapImpl (TemplateHashMapImpl &&other) V8_NOEXCEPT=default | |
~TemplateHashMapImpl () | |
TemplateHashMapImpl & | operator= (TemplateHashMapImpl &&other) V8_NOEXCEPT=default |
Entry * | Lookup (const Key &key, uint32_t hash) const |
Entry * | LookupOrInsert (const Key &key, uint32_t hash) |
template<typename Func > | |
Entry * | LookupOrInsert (const Key &key, uint32_t hash, const Func &value_func) |
template<typename LookupKey , typename KeyFunc , typename ValueFunc > | |
Entry * | LookupOrInsert (const LookupKey &lookup_key, uint32_t hash, const KeyFunc &key_func, const ValueFunc &value_func) |
Entry * | InsertNew (const Key &key, uint32_t hash) |
Value | Remove (const Key &key, uint32_t hash) |
void | Clear () |
void | Invalidate () |
uint32_t | occupancy () const |
uint32_t | capacity () const |
Entry * | Start () const |
Entry * | Next (Entry *entry) const |
AllocationPolicy | allocator () const |
Static Public Attributes | |
static const uint32_t | kDefaultHashMapCapacity = 8 |
Protected Member Functions | |
void | Initialize (uint32_t capacity) |
Private Member Functions | |
Entry * | map_end () const |
template<typename LookupKey > | |
Entry * | Probe (const LookupKey &key, uint32_t hash) const |
Entry * | FillEmptyEntry (Entry *entry, const Key &key, const Value &value, uint32_t hash) |
void | Resize () |
Private Attributes | |
v8::base::TemplateHashMapImpl::Impl | impl_ |
using v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry = TemplateHashMapEntry<Key, Value> |
|
explicit |
|
delete |
|
explicit |
|
default |
v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::~TemplateHashMapImpl | ( | ) |
|
inline |
|
inline |
void v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Clear | ( | ) |
|
private |
|
protected |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::InsertNew | ( | const Key & | key, |
uint32_t | hash ) |
|
inline |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Lookup | ( | const Key & | key, |
uint32_t | hash ) const |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::LookupOrInsert | ( | const Key & | key, |
uint32_t | hash ) |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::LookupOrInsert | ( | const Key & | key, |
uint32_t | hash, | ||
const Func & | value_func ) |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::LookupOrInsert | ( | const LookupKey & | lookup_key, |
uint32_t | hash, | ||
const KeyFunc & | key_func, | ||
const ValueFunc & | value_func ) |
|
inlineprivate |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Next | ( | Entry * | entry | ) | const |
|
inline |
|
delete |
|
default |
|
private |
Value v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Remove | ( | const Key & | key, |
uint32_t | hash ) |
|
private |
TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Entry * v8::base::TemplateHashMapImpl< Key, Value, MatchFun, AllocationPolicy >::Start | ( | ) | const |
|
private |
|
static |