Lines Matching refs:index_
138 circular_deque_const_iterator() : parent_deque_(nullptr), index_(0) {
147 parent_deque_->CheckValidIndex(index_);
148 return parent_deque_->buffer_[index_];
152 parent_deque_->CheckValidIndex(index_);
153 return &parent_deque_->buffer_[index_];
211 return lhs.index_ == rhs.index_;
240 : parent_deque_(parent), index_(index) {
249 if (index_ >= parent_deque_->begin_)
250 return index_ - parent_deque_->begin_; // On the same side as begin.
251 return parent_deque_->buffer_.capacity() - parent_deque_->begin_ + index_;
257 parent_deque_->CheckValidIndex(index_);
258 index_++;
259 if (index_ == parent_deque_->buffer_.capacity())
260 index_ = 0;
264 parent_deque_->CheckValidIndexOrEnd(index_);
265 if (index_ == 0)
266 index_ = parent_deque_->buffer_.capacity() - 1;
268 index_--;
274 parent_deque_->CheckValidIndexOrEnd(index_);
276 parent_deque_->CheckValidIndex(index_);
288 index_ = (new_offset + parent_deque_->begin_) %
315 size_t index_;
695 iterator insert_cur(this, pos.index_);
699 new (&buffer_[insert_cur.index_]) T(value);
730 insert_cur = iterator(this, pos.index_);
736 new (&buffer_[insert_cur.index_]) T(*first);
765 iterator insert_begin(this, pos.index_);
768 new (&buffer_[insert_begin.index_]) T(std::forward<Args>(args)...);
787 if (first.index_ == last.index_) {
790 return iterator(this, first.index_);
791 } else if (first.index_ < last.index_) {
793 buffer_.DestructRange(&buffer_[first.index_], &buffer_[last.index_]);
796 buffer_.DestructRange(&buffer_[first.index_],
798 buffer_.DestructRange(&buffer_[0], &buffer_[last.index_]);
801 if (first.index_ == begin_) {
804 begin_ = last.index_;
805 return iterator(this, last.index_);
810 iterator move_src(this, last.index_);
812 iterator move_dest(this, first.index_);
814 buffer_.MoveRange(&buffer_[move_src.index_],
815 &buffer_[move_src.index_ + 1],
816 &buffer_[move_dest.index_]);
819 end_ = move_dest.index_;
824 return iterator(this, first.index_);
1021 insert_begin->index_ = (begin_ + begin_offset) % buffer_.capacity();
1023 iterator(this, (insert_begin->index_ + count) % buffer_.capacity());
1037 buffer_.MoveRange(&buffer_[src.index_], &buffer_[src.index_ + 1],
1038 &buffer_[dest.index_]);