reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

usr/include/c++/7.4.0/bits/deque.tcc
  140 	if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
  140 	if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
  142 	    _Alloc_traits::construct(this->_M_impl,
  143 	                             this->_M_impl._M_start._M_cur - 1,
  145 	    --this->_M_impl._M_start._M_cur;
  164 	if (this->_M_impl._M_finish._M_cur
  165 	    != this->_M_impl._M_finish._M_last - 1)
  167 	    _Alloc_traits::construct(this->_M_impl,
  168 	                             this->_M_impl._M_finish._M_cur,
  170 	    ++this->_M_impl._M_finish._M_cur;
  187 	if (__position._M_cur == this->_M_impl._M_start._M_cur)
  190 	    return this->_M_impl._M_start;
  192 	else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
  195 	    iterator __tmp = this->_M_impl._M_finish;
  307       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
  312 	      std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
  314 	      this->_M_impl._M_start = __new_start;
  319 			       this->_M_impl._M_start._M_node);
  323       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
  328 	      std::__uninitialized_fill_a(this->_M_impl._M_finish,
  331 	      this->_M_impl._M_finish = __new_finish;
  335 	      _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
  396           for (__cur = this->_M_impl._M_start._M_node;
  397 	       __cur < this->_M_impl._M_finish._M_node;
  401           std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
  402 				      this->_M_impl._M_finish._M_cur,
  407           std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
  450             for (__cur_node = this->_M_impl._M_start._M_node;
  451                  __cur_node < this->_M_impl._M_finish._M_node;
  461 					this->_M_impl._M_finish._M_first,
  466             std::_Destroy(this->_M_impl._M_start,
  487 	*(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
  491 	    _Alloc_traits::construct(this->_M_impl,
  492 	                             this->_M_impl._M_finish._M_cur,
  497 	    this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
  497 	    this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
  499 	    this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
  499 	    this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
  503 	    _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
  522 	*(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
  525 	    this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
  525 	    this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
  527 	    this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
  527 	    this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
  529 	    _Alloc_traits::construct(this->_M_impl,
  530 	                             this->_M_impl._M_start._M_cur,
  538 	    ++this->_M_impl._M_start;
  539 	    _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
  549       _M_deallocate_node(this->_M_impl._M_finish._M_first);
  550       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
  550       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
  551       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
  551       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
  553 			     this->_M_impl._M_finish._M_cur);
  566 			     this->_M_impl._M_start._M_cur);
  567       _M_deallocate_node(this->_M_impl._M_start._M_first);
  568       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
  568       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
  569       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
  569       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
  590         if (__pos._M_cur == this->_M_impl._M_start._M_cur)
  597 		this->_M_impl._M_start = __new_start;
  602 				 this->_M_impl._M_start._M_node);
  606         else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
  612 					    this->_M_impl._M_finish,
  614 		this->_M_impl._M_finish = __new_finish;
  618 		_M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
  642 	difference_type __index = __pos - this->_M_impl._M_start;
  646 	    iterator __front1 = this->_M_impl._M_start;
  650 	    __pos = this->_M_impl._M_start + __index;
  658 	    iterator __back1 = this->_M_impl._M_finish;
  662 	    __pos = this->_M_impl._M_start + __index;
  674       const difference_type __elems_before = __pos - this->_M_impl._M_start;
  680 	  iterator __old_start = this->_M_impl._M_start;
  681 	  __pos = this->_M_impl._M_start + __elems_before;
  686 		  iterator __start_n = (this->_M_impl._M_start
  688 		  std::__uninitialized_move_a(this->_M_impl._M_start,
  691 		  this->_M_impl._M_start = __new_start;
  697 		  std::__uninitialized_move_fill(this->_M_impl._M_start,
  699 						 this->_M_impl._M_start,
  702 		  this->_M_impl._M_start = __new_start;
  709 			       this->_M_impl._M_start._M_node);
  716 	  iterator __old_finish = this->_M_impl._M_finish;
  719 	  __pos = this->_M_impl._M_finish - __elems_after;
  724 		  iterator __finish_n = (this->_M_impl._M_finish
  727 					      this->_M_impl._M_finish,
  728 					      this->_M_impl._M_finish,
  730 		  this->_M_impl._M_finish = __new_finish;
  736 		  std::__uninitialized_fill_move(this->_M_impl._M_finish,
  739 						 this->_M_impl._M_finish,
  741 		  this->_M_impl._M_finish = __new_finish;
  747 	      _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
  762         const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
  767 	    iterator __old_start = this->_M_impl._M_start;
  768 	    __pos = this->_M_impl._M_start + __elemsbefore;
  773 		    iterator __start_n = (this->_M_impl._M_start
  775 		    std::__uninitialized_move_a(this->_M_impl._M_start,
  778 		    this->_M_impl._M_start = __new_start;
  786 		    std::__uninitialized_move_copy(this->_M_impl._M_start,
  790 		    this->_M_impl._M_start = __new_start;
  797 				 this->_M_impl._M_start._M_node);
  804           iterator __old_finish = this->_M_impl._M_finish;
  807           __pos = this->_M_impl._M_finish - __elemsafter;
  812 		  iterator __finish_n = (this->_M_impl._M_finish
  815 					      this->_M_impl._M_finish,
  816 					      this->_M_impl._M_finish,
  818 		  this->_M_impl._M_finish = __new_finish;
  827 						 this->_M_impl._M_finish,
  828 						 this->_M_impl._M_finish,
  830 		  this->_M_impl._M_finish = __new_finish;
  836               _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
  880             *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
  885             _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
  905             *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
  910             _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
  921 	= this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
  921 	= this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
  925       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
  927 	  __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
  927 	  __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
  930 	  if (__new_nstart < this->_M_impl._M_start._M_node)
  931 	    std::copy(this->_M_impl._M_start._M_node,
  932 		      this->_M_impl._M_finish._M_node + 1,
  935 	    std::copy_backward(this->_M_impl._M_start._M_node,
  936 			       this->_M_impl._M_finish._M_node + 1,
  941 	  size_type __new_map_size = this->_M_impl._M_map_size
  942 	                             + std::max(this->_M_impl._M_map_size,
  948 	  std::copy(this->_M_impl._M_start._M_node,
  949 		    this->_M_impl._M_finish._M_node + 1,
  951 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  951 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  953 	  this->_M_impl._M_map = __new_map;
  954 	  this->_M_impl._M_map_size = __new_map_size;
  957       this->_M_impl._M_start._M_set_node(__new_nstart);
  958       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
usr/include/c++/7.4.0/bits/stl_deque.h
  515 	if (__x._M_impl._M_map)
  516 	  this->_M_impl._M_swap_data(__x._M_impl);
  516 	  this->_M_impl._M_swap_data(__x._M_impl);
  588       { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
  592       { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
  602 	return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
  609 	_Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
  640 	if (!_M_impl._M_map)
  641 	  return std::move(_M_impl);
  652 	_M_impl._M_swap_data(__ret);
  653 	_M_impl._M_swap_data(__empty._M_impl);
  663       if (this->_M_impl._M_map)
  665 	  _M_destroy_nodes(this->_M_impl._M_start._M_node,
  666 			   this->_M_impl._M_finish._M_node + 1);
  667 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  667 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  687       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
  689       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
  689       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
  696       _Map_pointer __nstart = (this->_M_impl._M_map
  697 			       + (this->_M_impl._M_map_size - __num_nodes) / 2);
  704 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  704 	  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
  705 	  this->_M_impl._M_map = _Map_pointer();
  706 	  this->_M_impl._M_map_size = 0;
  710       this->_M_impl._M_start._M_set_node(__nstart);
  711       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
  712       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
  712       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
  713       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
  713       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
  951 				    this->_M_impl._M_start,
 1167       { return this->_M_impl._M_start; }
 1175       { return this->_M_impl._M_start; }
 1184       { return this->_M_impl._M_finish; }
 1193       { return this->_M_impl._M_finish; }
 1202       { return reverse_iterator(this->_M_impl._M_finish); }
 1220       { return reverse_iterator(this->_M_impl._M_start); }
 1238       { return this->_M_impl._M_start; }
 1272       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
 1272       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
 1358       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
 1358       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
 1376 	return this->_M_impl._M_start[difference_type(__n)];
 1394 	return this->_M_impl._M_start[difference_type(__n)];
 1507 	if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
 1507 	if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
 1509 	    _Alloc_traits::construct(this->_M_impl,
 1510 				     this->_M_impl._M_start._M_cur - 1,
 1512 	    --this->_M_impl._M_start._M_cur;
 1544 	if (this->_M_impl._M_finish._M_cur
 1545 	    != this->_M_impl._M_finish._M_last - 1)
 1547 	    _Alloc_traits::construct(this->_M_impl,
 1548 				     this->_M_impl._M_finish._M_cur, __x);
 1549 	    ++this->_M_impl._M_finish._M_cur;
 1581 	if (this->_M_impl._M_start._M_cur
 1582 	    != this->_M_impl._M_start._M_last - 1)
 1584 	    _Alloc_traits::destroy(this->_M_impl,
 1585 				   this->_M_impl._M_start._M_cur);
 1586 	    ++this->_M_impl._M_start._M_cur;
 1604 	if (this->_M_impl._M_finish._M_cur
 1605 	    != this->_M_impl._M_finish._M_first)
 1607 	    --this->_M_impl._M_finish._M_cur;
 1608 	    _Alloc_traits::destroy(this->_M_impl,
 1609 				   this->_M_impl._M_finish._M_cur);
 1828 	_M_impl._M_swap_data(__x._M_impl);
 1828 	_M_impl._M_swap_data(__x._M_impl);
 2080 	_M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
 2081 	this->_M_impl._M_start = __pos;
 2091 			 this->_M_impl._M_finish._M_node + 1);
 2092 	this->_M_impl._M_finish = __pos;
 2115 	const size_type __vacancies = this->_M_impl._M_start._M_cur
 2116 				      - this->_M_impl._M_start._M_first;
 2119 	return this->_M_impl._M_start - difference_type(__n);
 2125 	const size_type __vacancies = (this->_M_impl._M_finish._M_last
 2126 				       - this->_M_impl._M_finish._M_cur) - 1;
 2129 	return this->_M_impl._M_finish + difference_type(__n);
 2151 	if (__nodes_to_add + 1 > this->_M_impl._M_map_size
 2152 	    - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
 2152 	    - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
 2159 	if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
 2160 				       - this->_M_impl._M_map))
 2174 	this->_M_impl._M_swap_data(__x._M_impl);
 2174 	this->_M_impl._M_swap_data(__x._M_impl);