libstdc++
GNU C++ library
Loading...
Searching...
No Matches

◆ _M_fill_insert()

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

Definition at line 307 of file deque.tcc.

309 {
310 if (__pos._M_cur == this->_M_impl._M_start._M_cur)
311 {
313 __try
314 {
317 this->_M_impl._M_start = __new_start;
318 }
319 __catch(...)
320 {
324 }
325 }
326 else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
327 {
329 __try
330 {
331 std::__uninitialized_fill_a(this->_M_impl._M_finish,
334 this->_M_impl._M_finish = __new_finish;
335 }
336 __catch(...)
337 {
338 _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
339 __new_finish._M_node + 1);
341 }
342 }
343 else
345 }
#define __catch(X)
_Map_pointer _M_node
Definition stl_deque.h:148
_Elt_pointer _M_cur
Definition stl_deque.h:145
iterator _M_reserve_elements_at_front(size_type __n)
Memory-handling helpers for the previous internal insert functions.
Definition stl_deque.h:2274
_Deque_impl _M_impl
Definition stl_deque.h:616
_Tp_alloc_type & _M_get_Tp_allocator() noexcept
Definition stl_deque.h:571
void _M_destroy_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) noexcept
Definition stl_deque.h:699
iterator _M_reserve_elements_at_back(size_type __n)
Memory-handling helpers for the previous internal insert functions.
Definition stl_deque.h:2284
iterator _M_insert_aux(iterator __pos, const value_type &__x)
Definition stl_deque.h:2196
_Base::iterator iterator
Definition stl_deque.h:822
A standard container using fixed-size memory allocation and constant-time manipulation of elements at...
Definition stl_deque.h:792

References deque(), __catch, __throw_exception_again, __try, std::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _M_destroy_nodes(), _M_get_Tp_allocator(), _M_impl, _M_insert_aux(), std::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, _M_reserve_elements_at_back(), and _M_reserve_elements_at_front().

Here is the call graph for this function: