Searched refs:double_iterator (Results 1 - 1 of 1) sorted by relevance
/third_party/node/deps/v8/src/compiler/ |
H A D | persistent-map.h | 105 class double_iterator; 111 double_iterator begin() { return double_iterator(a.begin(), b.begin()); } in begin() 112 double_iterator end() { return double_iterator(a.end(), b.end()); } in end() 319 class PersistentMap<Key, Value, Hasher>::double_iterator { class in v8::internal::PersistentMap 334 double_iterator& operator++() { in operator ++() 347 return *this = double_iterator(first_, second_); in operator ++() 350 double_iterator(iterator first, iterator second) 364 bool operator!=(const double_iterator 341 DCHECK(old_first < first_); } if (second_current_) { ++second_; DCHECK(old_second < second_); } return *this = double_iterator(first_, second_); } double_iterator(iterator first, iterator second) : first_(first), second_(second) { if (first_ == second_) { first_current_ = second_current_ = true; } else if (first_ < second_) { first_current_ = true; second_current_ = false; } else { DCHECK(second_ < first_); first_current_ = false; second_current_ = true; } } bool operator!=(const double_iterator& other) { return first_ != other.first_ || second_ != other.second_; } bool is_end() const { return first_.is_end() && second_.is_end(); } private: iterator first_; iterator second_; bool first_current_; bool second_current_; }; template <class Key, class Value, class Hasher> void PersistentMap<Key, Value, Hasher>::Set(Key key, Value value) { HashValue key_hash = HashValue(Hasher()(key)); std::array<const FocusedTree*, kHashBits> path; int length = 0; const FocusedTree* old = FindHash(key_hash, &path, &length); ZoneMap<Key, Value>* more = nullptr; if (!(GetFocusedValue(old, key) != value)) return; if (old && !(old->more == nullptr && old->key_value.key() == key)) { more = zone_->New<ZoneMap<Key, Value>>(zone_); if (old->more) operator ++() argument [all...] |
Completed in 2 milliseconds