![]() |
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.