![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <persistent-map.h>
Classes | |
class | double_iterator |
struct | FocusedTree |
class | HashValue |
class | iterator |
struct | KeyValue |
struct | ZipIterable |
Public Types | |
using | key_type = Key |
using | mapped_type = Value |
using | value_type = std::pair<Key, Value> |
Public Member Functions | |
size_t | last_depth () const |
const Value & | Get (const Key &key) const |
void | Set (Key key, Value value) |
template<class F > | |
void | Modify (Key key, F f) |
bool | operator== (const PersistentMap &other) const |
bool | operator!= (const PersistentMap &other) const |
iterator | begin () const |
iterator | end () const |
ZipIterable | Zip (const PersistentMap &other) const |
PersistentMap (Zone *zone, Value def_value=Value()) | |
Private Types | |
enum | Bit : int { kLeft = 0 , kRight = 1 } |
Private Member Functions | |
const FocusedTree * | FindHash (HashValue hash) const |
const FocusedTree * | FindHash (HashValue hash, std::array< const FocusedTree *, kHashBits > *path, int *length) const |
const Value & | GetFocusedValue (const FocusedTree *tree, const Key &key) const |
PersistentMap (const FocusedTree *tree, Zone *zone, Value def_value) | |
Static Private Member Functions | |
static const FocusedTree * | GetChild (const FocusedTree *tree, int level, Bit bit) |
static const FocusedTree * | FindLeftmost (const FocusedTree *start, int *level, std::array< const FocusedTree *, kHashBits > *path) |
Private Attributes | |
const FocusedTree * | tree_ |
Value | def_value_ |
Zone * | zone_ |
Static Private Attributes | |
static constexpr size_t | kHashBits = 32 |
Friends | |
struct | may_be_unequal< PersistentMap< Key, Value, Hasher > > |
Definition at line 43 of file persistent-map.h.
using v8::internal::compiler::PersistentMap< Key, Value, Hasher >::key_type = Key |
Definition at line 45 of file persistent-map.h.
using v8::internal::compiler::PersistentMap< Key, Value, Hasher >::mapped_type = Value |
Definition at line 46 of file persistent-map.h.
using v8::internal::compiler::PersistentMap< Key, Value, Hasher >::value_type = std::pair<Key, Value> |
Definition at line 47 of file persistent-map.h.
|
private |
Enumerator | |
---|---|
kLeft | |
kRight |
Definition at line 51 of file persistent-map.h.
|
inlineexplicit |
Definition at line 131 of file persistent-map.h.
|
inlineprivate |
Definition at line 163 of file persistent-map.h.
|
inline |
Definition at line 110 of file persistent-map.h.
|
inline |
Definition at line 114 of file persistent-map.h.
|
private |
|
private |
Definition at line 460 of file persistent-map.h.
|
staticprivate |
Definition at line 521 of file persistent-map.h.
|
inline |
Definition at line 79 of file persistent-map.h.
|
staticprivate |
Definition at line 508 of file persistent-map.h.
|
private |
|
inline |
Definition at line 71 of file persistent-map.h.
void v8::internal::compiler::PersistentMap< Key, Value, Hasher >::Modify | ( | Key | key, |
F | f ) |
Definition at line 407 of file persistent-map.h.
|
inline |
Definition at line 101 of file persistent-map.h.
|
inline |
void v8::internal::compiler::PersistentMap< Key, Value, Hasher >::Set | ( | Key | key, |
Value | value ) |
|
inline |
|
friend |
Definition at line 50 of file persistent-map.h.
|
private |
Definition at line 167 of file persistent-map.h.
|
staticconstexprprivate |
Definition at line 50 of file persistent-map.h.
|
private |
Definition at line 166 of file persistent-map.h.
|
private |
Definition at line 168 of file persistent-map.h.