Fills the deque with whatever is in [first,last).
- Parameters
-
| __first | An input iterator. |
| __last | An input iterator. |
- Returns
- Nothing.
If the iterators are actually forward iterators (or better), then the memory layout can be done all at once. Else we move forward using push_back on each value from the iterator.
Definition at line 443 of file deque.tcc.
446 {
449
452 {
456 {
459
465 }
467 this->
_M_impl._M_finish._M_first,
469 }
471 {
476 }
477 }
constexpr iterator_traits< _InputIterator >::difference_type distance(_InputIterator __first, _InputIterator __last)
A generalization of pointer arithmetic.
::_Deque_iterator< _OTp, _OTp &, _OTp * > __uninitialized_copy_a(::_Deque_iterator< _ITp, _IRef, _IPtr > __first, ::_Deque_iterator< _ITp, _IRef, _IPtr > __last, ::_Deque_iterator< _OTp, _OTp &, _OTp * > __result, allocator< _Tp > &)
constexpr void advance(_InputIterator &__i, _Distance __n)
A generalization of pointer arithmetic.
constexpr void _Destroy(_ForwardIterator __first, _ForwardIterator __last)
void _M_initialize_map(size_t)
Layout storage.
static size_t _S_buffer_size() noexcept
_Tp_alloc_type & _M_get_Tp_allocator() noexcept
_Base::_Map_pointer _Map_pointer
static size_t _S_check_init_len(size_t __n, const allocator_type &__a)
A standard container using fixed-size memory allocation and constant-time manipulation of elements at...
References deque(), __catch, __throw_exception_again, __try, std::__uninitialized_copy_a(), std::_Destroy(), _M_get_Tp_allocator(), _M_impl, _M_initialize_map(), _S_buffer_size(), _S_check_init_len(), std::advance(), and std::distance().