|
template<class _Tp , class _Alloc >
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());
}
|