Doxygen

template<class _Tp , class _Alloc >
void deque< _Tp, _Alloc >::_M_fill_insert ( iterator  __pos,
size_type  __n,
const value_type __x 
) [protected]

Definition at line 122 of file _deque.c.

Referenced by deque< ShellDirectory * >::insert().

                                                                               {
#if !defined (_STLP_NO_MOVE_SEMANTIC)
  typedef typename __move_traits<_Tp>::implemented _Movable;
#endif
  if (__pos._M_cur == this->_M_start._M_cur) {
    iterator __new_start = _M_reserve_elements_at_front(__n);
    _STLP_TRY {
      uninitialized_fill(__new_start, this->_M_start, __x);
    }
    _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node))
    this->_M_start = __new_start;
  }
  else if (__pos._M_cur == this->_M_finish._M_cur) {
    iterator __new_finish = _M_reserve_elements_at_back(__n);
    _STLP_TRY {
      uninitialized_fill(this->_M_finish, __new_finish, __x);
    }
    _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node+1, __new_finish._M_node+1))
    this->_M_finish = __new_finish;
  }
  else
    _M_fill_insert_aux(__pos, __n, __x, _Movable());
}