Lines Matching refs:__base
1282 typedef __deque_base<value_type, allocator_type> __base;
1284 typedef typename __base::__alloc_traits __alloc_traits;
1285 typedef typename __base::reference reference;
1286 typedef typename __base::const_reference const_reference;
1287 typedef typename __base::iterator iterator;
1288 typedef typename __base::const_iterator const_iterator;
1289 typedef typename __base::size_type size_type;
1290 typedef typename __base::difference_type difference_type;
1292 typedef typename __base::pointer pointer;
1293 typedef typename __base::const_pointer const_pointer;
1297 using typename __base::__deque_range;
1298 using typename __base::__deque_block_range;
1299 using typename __base::_ConstructTransaction;
1306 _LIBCPP_INLINE_VISIBILITY explicit deque(const allocator_type& __a) : __base(__a) {}
1332 deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value);
1359 iterator begin() _NOEXCEPT {return __base::begin();}
1361 const_iterator begin() const _NOEXCEPT {return __base::begin();}
1363 iterator end() _NOEXCEPT {return __base::end();}
1365 const_iterator end() const _NOEXCEPT {return __base::end();}
1369 {return reverse_iterator(__base::end());}
1372 {return const_reverse_iterator(__base::end());}
1375 {return reverse_iterator(__base::begin());}
1378 {return const_reverse_iterator(__base::begin());}
1382 {return __base::begin();}
1385 {return __base::end();}
1388 {return const_reverse_iterator(__base::end());}
1391 {return const_reverse_iterator(__base::begin());}
1395 size_type size() const _NOEXCEPT {return __base::size();}
1399 __alloc_traits::max_size(__base::__alloc()),
1405 bool empty() const _NOEXCEPT {return __base::size() == 0;}
1477 bool __invariants() const {return __base::__invariants();}
1479 typedef typename __base::__map_const_pointer __map_const_pointer;
1484 return __n / __base::__block_size + (__n % __base::__block_size != 0);
1489 return __base::__map_.size() == 0 ? 0 : __base::__map_.size() * __base::__block_size - 1;
1494 return __base::__map_.size();
1500 return __base::__start_;
1504 return __front_spare() / __base::__block_size;
1509 return __capacity() - (__base::__start_ + __base::size());
1513 return __back_spare() / __base::__block_size;
1520 __alloc_traits::deallocate(__base::__alloc(), __base::__map_.front(),
1521 __base::__block_size);
1522 __base::__map_.pop_front();
1523 __base::__start_ -= __base::__block_size;
1532 __alloc_traits::deallocate(__base::__alloc(), __base::__map_.back(),
1533 __base::__block_size);
1534 __base::__map_.pop_back();
1571 if (__base::__alloc() != __c.__alloc())
1576 __base::__alloc() = __c.__alloc();
1577 __base::__map_.__alloc() = __c.__map_.__alloc();
1616 : __base(__a)
1632 : __base(__a)
1650 : __base(__a)
1657 : __base(__alloc_traits::select_on_container_copy_construction(__c.__alloc()))
1664 : __base(__a)
1691 : __base(__a)
1699 _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
1700 : __base(_VSTD::move(__c))
1707 : __base(_VSTD::move(__c), __a)
1732 if (__base::__alloc() != __c.__alloc())
1748 __base::__move_assign(__c);
1760 iterator __i = __base::begin();
1761 iterator __e = __base::end();
1776 if (static_cast<size_type>(__l - __f) > __base::size())
1778 _RAIter __m = __f + __base::size();
1779 _VSTD::copy(__f, __m, __base::begin());
1783 __erase_to_end(_VSTD::copy(__f, __l, __base::begin()));
1790 if (__n > __base::size())
1792 _VSTD::fill_n(__base::begin(), __base::size(), __v);
1793 __n -= __base::size();
1797 __erase_to_end(_VSTD::fill_n(__base::begin(), __n, __v));
1805 return __base::__alloc();
1812 if (__n > __base::size())
1813 __append(__n - __base::size());
1814 else if (__n < __base::size())
1815 __erase_to_end(__base::begin() + __n);
1822 if (__n > __base::size())
1823 __append(__n - __base::size(), __v);
1824 else if (__n < __base::size())
1825 __erase_to_end(__base::begin() + __n);
1832 allocator_type& __a = __base::__alloc();
1835 while (__base::__map_.size() > 0)
1837 __alloc_traits::deallocate(__a, __base::__map_.back(), __base::__block_size);
1838 __base::__map_.pop_back();
1840 __base::__start_ = 0;
1847 __base::__map_.shrink_to_fit();
1855 size_type __p = __base::__start_ + __i;
1856 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1864 size_type __p = __base::__start_ + __i;
1865 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1873 if (__i >= __base::size())
1874 __base::__throw_out_of_range();
1875 size_type __p = __base::__start_ + __i;
1876 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1884 if (__i >= __base::size())
1885 __base::__throw_out_of_range();
1886 size_type __p = __base::__start_ + __i;
1887 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1895 return *(*(__base::__map_.begin() + __base::__start_ / __base::__block_size)
1896 + __base::__start_ % __base::__block_size);
1904 return *(*(__base::__map_.begin() + __base::__start_ / __base::__block_size)
1905 + __base::__start_ % __base::__block_size);
1913 size_type __p = __base::size() + __base::__start_ - 1;
1914 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1922 size_type __p = __base::size() + __base::__start_ - 1;
1923 return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
1930 allocator_type& __a = __base::__alloc();
1934 __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), __v);
1935 ++__base::size();
1942 allocator_type& __a = __base::__alloc();
1946 __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), __v);
1947 --__base::__start_;
1948 ++__base::size();
1956 allocator_type& __a = __base::__alloc();
1960 __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::move(__v));
1961 ++__base::size();
1973 allocator_type& __a = __base::__alloc();
1977 __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()),
1979 ++__base::size();
1981 return *--__base::end();
1989 allocator_type& __a = __base::__alloc();
1993 __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::move(__v));
1994 --__base::__start_;
1995 ++__base::size();
2008 allocator_type& __a = __base::__alloc();
2012 …__alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::forward<_Args>(__args)…
2013 --__base::__start_;
2014 ++__base::size();
2016 return *__base::begin();
2024 size_type __pos = __p - __base::begin();
2025 size_type __to_end = __base::size() - __pos;
2026 allocator_type& __a = __base::__alloc();
2034 __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::move(__v));
2035 --__base::__start_;
2036 ++__base::size();
2040 iterator __b = __base::begin();
2043 --__base::__start_;
2044 ++__base::size();
2055 size_type __de = __base::size() - __pos;
2058 __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::move(__v));
2059 ++__base::size();
2063 iterator __e = __base::end();
2066 ++__base::size();
2072 return __base::begin() + __pos;
2080 size_type __pos = __p - __base::begin();
2081 size_type __to_end = __base::size() - __pos;
2082 allocator_type& __a = __base::__alloc();
2090 …__alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::forward<_Args>(__args)…
2091 --__base::__start_;
2092 ++__base::size();
2097 iterator __b = __base::begin();
2100 --__base::__start_;
2101 ++__base::size();
2112 size_type __de = __base::size() - __pos;
2115 …__alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::forward<_Args>(__args)...);
2116 ++__base::size();
2121 iterator __e = __base::end();
2124 ++__base::size();
2130 return __base::begin() + __pos;
2140 size_type __pos = __p - __base::begin();
2141 size_type __to_end = __base::size() - __pos;
2142 allocator_type& __a = __base::__alloc();
2150 __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), __v);
2151 --__base::__start_;
2152 ++__base::size();
2157 iterator __b = __base::begin();
2162 --__base::__start_;
2163 ++__base::size();
2174 size_type __de = __base::size() - __pos;
2177 __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), __v);
2178 ++__base::size();
2183 iterator __e = __base::end();
2188 ++__base::size();
2194 return __base::begin() + __pos;
2201 size_type __pos = __p - __base::begin();
2202 size_type __to_end = __base::size() - __pos;
2203 allocator_type& __a = __base::__alloc();
2209 iterator __old_begin = __base::begin();
2213 for (size_type __m = __n - __pos; __m; --__m, --__base::__start_, ++__base::size())
2233 iterator __old_end = __base::end();
2235 size_type __de = __base::size() - __pos;
2238 for (size_type __m = __n - __de; __m; --__m, ++__i, ++__base::size())
2252 return __base::begin() + __pos;
2262 __split_buffer<value_type, allocator_type&> __buf(__base::__alloc());
2276 __split_buffer<value_type, allocator_type&> __buf(__n, 0, __base::__alloc());
2289 size_type __pos = __p - __base::begin();
2290 size_type __to_end = __base::size() - __pos;
2291 allocator_type& __a = __base::__alloc();
2297 iterator __old_begin = __base::begin();
2303 for (_BiIter __j = __m; __j != __f; --__base::__start_, ++__base::size())
2313 --__base::__start_;
2314 ++__base::size();
2327 iterator __old_end = __base::end();
2330 size_type __de = __base::size() - __pos;
2334 for (_BiIter __j = __m; __j != __l; ++__i, (void) ++__j, ++__base::size())
2341 for (iterator __j = __oen; __j != __old_end; ++__i, ++__j, ++__base::size())
2348 return __base::begin() + __pos;
2373 allocator_type& __a = __base::__alloc();
2378 for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
2390 allocator_type& __a = __base::__alloc();
2395 for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
2407 allocator_type& __a = __base::__alloc();
2412 for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
2427 allocator_type& __a = __base::__alloc();
2428 if (__back_spare() >= __base::__block_size)
2430 __base::__start_ += __base::__block_size;
2431 pointer __pt = __base::__map_.back();
2432 __base::__map_.pop_back();
2433 __base::__map_.push_front(__pt);
2435 // Else if __base::__map_.size() < __base::__map_.capacity() then we need to allocate 1 buffer
2436 else if (__base::__map_.size() < __base::__map_.capacity())
2440 if (__base::__map_.__front_spare() > 0)
2441 __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
2444 __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2446 pointer __pt = __base::__map_.back();
2447 __base::__map_.pop_back();
2448 __base::__map_.push_front(__pt);
2450 __base::__start_ = __base::__map_.size() == 1 ?
2451 __base::__block_size / 2 :
2452 __base::__start_ + __base::__block_size;
2457 __split_buffer<pointer, typename __base::__pointer_allocator&>
2458 __buf(max<size_type>(2 * __base::__map_.capacity(), 1),
2459 0, __base::__map_.__alloc());
2463 __alloc_traits::allocate(__a, __base::__block_size),
2464 _Dp(__a, __base::__block_size));
2468 for (typename __base::__map_pointer __i = __base::__map_.begin();
2469 __i != __base::__map_.end(); ++__i)
2471 _VSTD::swap(__base::__map_.__first_, __buf.__first_);
2472 _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
2473 _VSTD::swap(__base::__map_.__end_, __buf.__end_);
2474 _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
2475 __base::__start_ = __base::__map_.size() == 1 ?
2476 __base::__block_size / 2 :
2477 __base::__start_ + __base::__block_size;
2487 allocator_type& __a = __base::__alloc();
2488 size_type __nb = __recommend_blocks(__n + __base::__map_.empty());
2490 size_type __back_capacity = __back_spare() / __base::__block_size;
2496 __base::__start_ += __base::__block_size * __back_capacity;
2499 pointer __pt = __base::__map_.back();
2500 __base::__map_.pop_back();
2501 __base::__map_.push_front(__pt);
2505 else if (__nb <= __base::__map_.capacity() - __base::__map_.size())
2509 … for (; __nb > 0; --__nb, __base::__start_ += __base::__block_size - (__base::__map_.size() == 1))
2511 if (__base::__map_.__front_spare() == 0)
2513 __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
2516 __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2518 __base::__start_ += __back_capacity * __base::__block_size;
2521 pointer __pt = __base::__map_.back();
2522 __base::__map_.pop_back();
2523 __base::__map_.push_front(__pt);
2529 size_type __ds = (__nb + __back_capacity) * __base::__block_size - __base::__map_.empty();
2530 __split_buffer<pointer, typename __base::__pointer_allocator&>
2531 __buf(max<size_type>(2* __base::__map_.capacity(),
2532 __nb + __base::__map_.size()),
2533 0, __base::__map_.__alloc());
2539 __buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2544 for (typename __base::__map_pointer __i = __buf.begin();
2546 __alloc_traits::deallocate(__a, *__i, __base::__block_size);
2552 __buf.push_back(__base::__map_.back());
2553 __base::__map_.pop_back();
2555 for (typename __base::__map_pointer __i = __base::__map_.begin();
2556 __i != __base::__map_.end(); ++__i)
2558 _VSTD::swap(__base::__map_.__first_, __buf.__first_);
2559 _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
2560 _VSTD::swap(__base::__map_.__end_, __buf.__end_);
2561 _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
2562 __base::__start_ += __ds;
2572 allocator_type& __a = __base::__alloc();
2573 if (__front_spare() >= __base::__block_size)
2575 __base::__start_ -= __base::__block_size;
2576 pointer __pt = __base::__map_.front();
2577 __base::__map_.pop_front();
2578 __base::__map_.push_back(__pt);
2581 else if (__base::__map_.size() < __base::__map_.capacity())
2585 if (__base::__map_.__back_spare() != 0)
2586 __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2589 __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
2591 pointer __pt = __base::__map_.front();
2592 __base::__map_.pop_front();
2593 __base::__map_.push_back(__pt);
2599 __split_buffer<pointer, typename __base::__pointer_allocator&>
2600 __buf(max<size_type>(2* __base::__map_.capacity(), 1),
2601 __base::__map_.size(),
2602 __base::__map_.__alloc());
2606 __alloc_traits::allocate(__a, __base::__block_size),
2607 _Dp(__a, __base::__block_size));
2611 for (typename __base::__map_pointer __i = __base::__map_.end();
2612 __i != __base::__map_.begin();)
2614 _VSTD::swap(__base::__map_.__first_, __buf.__first_);
2615 _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
2616 _VSTD::swap(__base::__map_.__end_, __buf.__end_);
2617 _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
2627 allocator_type& __a = __base::__alloc();
2628 size_type __nb = __recommend_blocks(__n + __base::__map_.empty());
2630 size_type __front_capacity = __front_spare() / __base::__block_size;
2636 __base::__start_ -= __base::__block_size * __front_capacity;
2639 pointer __pt = __base::__map_.front();
2640 __base::__map_.pop_front();
2641 __base::__map_.push_back(__pt);
2645 else if (__nb <= __base::__map_.capacity() - __base::__map_.size())
2651 if (__base::__map_.__back_spare() == 0)
2653 __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2655 for (; __nb > 0; --__nb, ++__front_capacity, __base::__start_ +=
2656 __base::__block_size - (__base::__map_.size() == 1))
2657 __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
2659 __base::__start_ -= __base::__block_size * __front_capacity;
2662 pointer __pt = __base::__map_.front();
2663 __base::__map_.pop_front();
2664 __base::__map_.push_back(__pt);
2670 size_type __ds = __front_capacity * __base::__block_size;
2671 __split_buffer<pointer, typename __base::__pointer_allocator&>
2672 __buf(max<size_type>(2* __base::__map_.capacity(),
2673 __nb + __base::__map_.size()),
2674 __base::__map_.size() - __front_capacity,
2675 __base::__map_.__alloc());
2681 __buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
2686 for (typename __base::__map_pointer __i = __buf.begin();
2688 __alloc_traits::deallocate(__a, *__i, __base::__block_size);
2694 __buf.push_back(__base::__map_.front());
2695 __base::__map_.pop_front();
2697 for (typename __base::__map_pointer __i = __base::__map_.end();
2698 __i != __base::__map_.begin();)
2700 _VSTD::swap(__base::__map_.__first_, __buf.__first_);
2701 _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
2702 _VSTD::swap(__base::__map_.__end_, __buf.__end_);
2703 _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
2704 __base::__start_ -= __ds;
2712 allocator_type& __a = __base::__alloc();
2713 __alloc_traits::destroy(__a, _VSTD::__to_address(*(__base::__map_.begin() +
2714 __base::__start_ / __base::__block_size) +
2715 __base::__start_ % __base::__block_size));
2716 --__base::size();
2717 ++__base::__start_;
2726 allocator_type& __a = __base::__alloc();
2727 size_type __p = __base::size() + __base::__start_ - 1;
2728 __alloc_traits::destroy(__a, _VSTD::__to_address(*(__base::__map_.begin() +
2729 __p / __base::__block_size) +
2730 __p % __base::__block_size));
2731 --__base::size();
2749 pointer __fe = *__f.__m_iter_ + __base::__block_size;
2803 allocator_type& __a = __base::__alloc();
2805 // for (; __f != __l; ++__r, ++__f, ++__base::size())
2811 pointer __fe = *__f.__m_iter_ + __base::__block_size;
2820 for (; __fb != __fe; ++__fb, ++__r, ++__base::size())
2834 allocator_type& __a = __base::__alloc();
2839 // --__base::__start_;
2840 // ++__base::size();
2859 --__base::__start_;
2860 ++__base::size();
2871 iterator __b = __base::begin();
2874 allocator_type& __a = __base::__alloc();
2875 if (static_cast<size_t>(__pos) <= (__base::size() - 1) / 2)
2879 --__base::size();
2880 ++__base::__start_;
2885 iterator __i = _VSTD::move(_VSTD::next(__p), __base::end(), __p);
2887 --__base::size();
2890 return __base::begin() + __pos;
2898 iterator __b = __base::begin();
2903 allocator_type& __a = __base::__alloc();
2904 if (static_cast<size_t>(__pos) <= (__base::size() - __n) / 2)
2909 __base::size() -= __n;
2910 __base::__start_ += __n;
2916 iterator __i = _VSTD::move(__p + __n, __base::end(), __p);
2917 for (iterator __e = __base::end(); __i != __e; ++__i)
2919 __base::size() -= __n;
2924 return __base::begin() + __pos;
2931 iterator __e = __base::end();
2935 allocator_type& __a = __base::__alloc();
2936 iterator __b = __base::begin();
2940 __base::size() -= __n;
2957 __base::swap(__c);
2965 __base::clear();