亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stl_deque.h

?? TSP問題的一個類庫 有源代碼和stl
?? H
?? 第 1 頁 / 共 4 頁
字號:
  if (__index < size() / 2) {
    push_front(front());
    iterator __front1 = _M_start;
    ++__front1;
    iterator __front2 = __front1;
    ++__front2;
    __pos = _M_start + __index;
    iterator __pos1 = __pos;
    ++__pos1;
    copy(__front2, __pos1, __front1);
  }
  else {
    push_back(back());
    iterator __back1 = _M_finish;
    --__back1;
    iterator __back2 = __back1;
    --__back2;
    __pos = _M_start + __index;
    copy_backward(__pos, __back2, __back1);
  }
  *__pos = __x_copy;
  return __pos;
}

template <class _Tp, class _Alloc, size_t __bufsize>
typename deque<_Tp,_Alloc,__bufsize>::iterator
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos)
{
  difference_type __index = __pos - _M_start;
  if (__index < size() / 2) {
    push_front(front());
    iterator __front1 = _M_start;
    ++__front1;
    iterator __front2 = __front1;
    ++__front2;
    __pos = _M_start + __index;
    iterator __pos1 = __pos;
    ++__pos1;
    copy(__front2, __pos1, __front1);
  }
  else {
    push_back(back());
    iterator __back1 = _M_finish;
    --__back1;
    iterator __back2 = __back1;
    --__back2;
    __pos = _M_start + __index;
    copy_backward(__pos, __back2, __back1);
  }
  *__pos = value_type();
  return __pos;
}

template <class _Tp, class _Alloc, size_t __bufsize>
void
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
                                           size_type __n,
                                           const value_type& __x)
{
  const difference_type __elems_before = __pos - _M_start;
  size_type __length = size();
  value_type __x_copy = __x;
  if (__elems_before < __length / 2) {
    iterator __new_start = _M_reserve_elements_at_front(__n);
    iterator __old_start = _M_start;
    __pos = _M_start + __elems_before;
    __STL_TRY {
      if (__elems_before >= difference_type(__n)) {
        iterator __start_n = _M_start + difference_type(__n);
        uninitialized_copy(_M_start, __start_n, __new_start);
        _M_start = __new_start;
        copy(__start_n, __pos, __old_start);
        fill(__pos - difference_type(__n), __pos, __x_copy);
      }
      else {
        __uninitialized_copy_fill(_M_start, __pos, __new_start, 
	                          _M_start, __x_copy);
        _M_start = __new_start;
        fill(__old_start, __pos, __x_copy);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(__new_start._M_node, _M_start._M_node));
  }
  else {
    iterator __new_finish = _M_reserve_elements_at_back(__n);
    iterator __old_finish = _M_finish;
    const difference_type __elems_after = 
      difference_type(__length) - __elems_before;
    __pos = _M_finish - __elems_after;
    __STL_TRY {
      if (__elems_after > difference_type(__n)) {
        iterator __finish_n = _M_finish - difference_type(__n);
        uninitialized_copy(__finish_n, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy_backward(__pos, __finish_n, __old_finish);
        fill(__pos, __pos + difference_type(__n), __x_copy);
      }
      else {
        __uninitialized_fill_copy(_M_finish, __pos + difference_type(__n),
                                  __x_copy, __pos, _M_finish);
        _M_finish = __new_finish;
        fill(__pos, __old_finish, __x_copy);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(_M_finish._M_node + 1, 
                                  __new_finish._M_node + 1));
  }
}

#ifdef __STL_MEMBER_TEMPLATES  

template <class _Tp, class _Alloc, size_t __bufsize>
template <class _ForwardIterator>
void
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
                                           _ForwardIterator __first,
                                           _ForwardIterator __last,
                                           size_type __n)
{
  const difference_type __elemsbefore = __pos - _M_start;
  size_type __length = size();
  if (__elemsbefore < __length / 2) {
    iterator __new_start = _M_reserve_elements_at_front(__n);
    iterator __old_start = _M_start;
    __pos = _M_start + __elemsbefore;
    __STL_TRY {
      if (__elemsbefore >= difference_type(__n)) {
        iterator __start_n = _M_start + difference_type(__n); 
        uninitialized_copy(_M_start, __start_n, __new_start);
        _M_start = __new_start;
        copy(__start_n, __pos, __old_start);
        copy(__first, __last, __pos - difference_type(__n));
      }
      else {
        _ForwardIterator __mid = __first;
        advance(__mid, difference_type(__n) - __elemsbefore);
        __uninitialized_copy_copy(_M_start, __pos, __first, __mid,
                                  __new_start);
        _M_start = __new_start;
        copy(__mid, __last, __old_start);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(__new_start._M_node, _M_start._M_node));
  }
  else {
    iterator __new_finish = _M_reserve_elements_at_back(__n);
    iterator __old_finish = _M_finish;
    const difference_type __elemsafter = 
      difference_type(__length) - __elemsbefore;
    __pos = _M_finish - __elemsafter;
    __STL_TRY {
      if (__elemsafter > difference_type(__n)) {
        iterator __finish_n = _M_finish - difference_type(__n);
        uninitialized_copy(__finish_n, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy_backward(__pos, __finish_n, __old_finish);
        copy(__first, __last, __pos);
      }
      else {
        _ForwardIterator __mid = __first;
        advance(__mid, __elemsafter);
        __uninitialized_copy_copy(__mid, __last, __pos, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy(__first, __mid, __pos);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(_M_finish._M_node + 1, 
                                  __new_finish._M_node + 1));
  }
}

#else /* __STL_MEMBER_TEMPLATES */

template <class _Tp, class _Alloc, size_t __bufsize>
void 
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
                                           const value_type* __first,
                                           const value_type* __last,
                                           size_type __n)
{
  const difference_type __elemsbefore = __pos - _M_start;
  size_type __length = size();
  if (__elemsbefore < __length / 2) {
    iterator __new_start = _M_reserve_elements_at_front(__n);
    iterator __old_start = _M_start;
    __pos = _M_start + __elemsbefore;
    __STL_TRY {
      if (__elemsbefore >= difference_type(__n)) {
        iterator __start_n = _M_start + difference_type(__n);
        uninitialized_copy(_M_start, __start_n, __new_start);
        _M_start = __new_start;
        copy(__start_n, __pos, __old_start);
        copy(__first, __last, __pos - difference_type(__n));
      }
      else {
        const value_type* __mid = 
	  __first + (difference_type(__n) - __elemsbefore);
        __uninitialized_copy_copy(_M_start, __pos, __first, __mid,
                                  __new_start);
        _M_start = __new_start;
        copy(__mid, __last, __old_start);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(__new_start._M_node, _M_start._M_node));
  }
  else {
    iterator __new_finish = _M_reserve_elements_at_back(__n);
    iterator __old_finish = _M_finish;
    const difference_type __elemsafter = 
      difference_type(__length) - __elemsbefore;
    __pos = _M_finish - __elemsafter;
    __STL_TRY {
      if (__elemsafter > difference_type(__n)) {
        iterator __finish_n = _M_finish - difference_type(__n);
        uninitialized_copy(__finish_n, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy_backward(__pos, __finish_n, __old_finish);
        copy(__first, __last, __pos);
      }
      else {
        const value_type* __mid = __first + __elemsafter;
        __uninitialized_copy_copy(__mid, __last, __pos, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy(__first, __mid, __pos);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(_M_finish._M_node + 1, 
                                  __new_finish._M_node + 1));
  }
}

template <class _Tp, class _Alloc, size_t __bufsize>
void
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
                                           const_iterator __first,
                                           const_iterator __last,
                                           size_type __n)
{
  const difference_type __elemsbefore = __pos - _M_start;
  size_type __length = size();
  if (__elemsbefore < __length / 2) {
    iterator __new_start = _M_reserve_elements_at_front(__n);
    iterator __old_start = _M_start;
    __pos = _M_start + __elemsbefore;
    __STL_TRY {
      if (__elemsbefore >= __n) {
        iterator __start_n = _M_start + __n;
        uninitialized_copy(_M_start, __start_n, __new_start);
        _M_start = __new_start;
        copy(__start_n, __pos, __old_start);
        copy(__first, __last, __pos - difference_type(__n));
      }
      else {
        const_iterator __mid = __first + (__n - __elemsbefore);
        __uninitialized_copy_copy(_M_start, __pos, __first, __mid,
                                  __new_start);
        _M_start = __new_start;
        copy(__mid, __last, __old_start);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(__new_start._M_node, _M_start._M_node));
  }
  else {
    iterator __new_finish = _M_reserve_elements_at_back(__n);
    iterator __old_finish = _M_finish;
    const difference_type __elemsafter = __length - __elemsbefore;
    __pos = _M_finish - __elemsafter;
    __STL_TRY {
      if (__elemsafter > __n) {
        iterator __finish_n = _M_finish - difference_type(__n);
        uninitialized_copy(__finish_n, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy_backward(__pos, __finish_n, __old_finish);
        copy(__first, __last, __pos);
      }
      else {
        const_iterator __mid = __first + __elemsafter;
        __uninitialized_copy_copy(__mid, __last, __pos, _M_finish, _M_finish);
        _M_finish = __new_finish;
        copy(__first, __mid, __pos);
      }
    }
    __STL_UNWIND(_M_destroy_nodes(_M_finish._M_node + 1, 
                 __new_finish._M_node + 1));
  }
}

#endif /* __STL_MEMBER_TEMPLATES */

template <class _Tp, class _Alloc, size_t __bufsize>
void 
deque<_Tp,_Alloc,__bufsize>::_M_new_elements_at_front(size_type __new_elems)
{
  size_type __new_nodes
      = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size();
  _M_reserve_map_at_front(__new_nodes);
  size_type __i;
  __STL_TRY {
    for (__i = 1; __i <= __new_nodes; ++__i)
      *(_M_start._M_node - __i) = _M_allocate_node();
  }
#       ifdef __STL_USE_EXCEPTIONS
  catch(...) {
    for (size_type __j = 1; __j < __i; ++__j)
      _M_deallocate_node(*(_M_start._M_node - __j));      
    throw;
  }
#       endif /* __STL_USE_EXCEPTIONS */
}

template <class _Tp, class _Alloc, size_t __bufsize>
void 
deque<_Tp,_Alloc,__bufsize>::_M_new_elements_at_back(size_type __new_elems)
{
  size_type __new_nodes
      = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size();
  _M_reserve_map_at_back(__new_nodes);
  size_type __i;
  __STL_TRY {
    for (__i = 1; __i <= __new_nodes; ++__i)
      *(_M_finish._M_node + __i) = _M_allocate_node();
  }
#       ifdef __STL_USE_EXCEPTIONS
  catch(...) {
    for (size_type __j = 1; __j < __i; ++__j)
      _M_deallocate_node(*(_M_finish._M_node + __j));      
    throw;
  }
#       endif /* __STL_USE_EXCEPTIONS */
}

template <class _Tp, class _Alloc, size_t __bufsize>
void 
deque<_Tp,_Alloc,__bufsize>::_M_reallocate_map(size_type __nodes_to_add,
                                              bool __add_at_front)
{
  size_type __old_num_nodes = _M_finish._M_node - _M_start._M_node + 1;
  size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;

  _Map_pointer __new_nstart;
  if (_M_map_size > 2 * __new_num_nodes) {
    __new_nstart = _M_map + (_M_map_size - __new_num_nodes) / 2 
                     + (__add_at_front ? __nodes_to_add : 0);
    if (__new_nstart < _M_start._M_node)
      copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart);
    else
      copy_backward(_M_start._M_node, _M_finish._M_node + 1, 
                    __new_nstart + __old_num_nodes);
  }
  else {
    size_type __new_map_size = 
      _M_map_size + max(_M_map_size, __nodes_to_add) + 2;

    _Map_pointer __new_map = _M_allocate_map(__new_map_size);
    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
                         + (__add_at_front ? __nodes_to_add : 0);
    copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart);
    _M_deallocate_map(_M_map, _M_map_size);

    _M_map = __new_map;
    _M_map_size = __new_map_size;
  }

  _M_start._M_set_node(__new_nstart);
  _M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
}


// Nonmember functions.

#ifndef __STL_NON_TYPE_TMPL_PARAM_BUG

template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator==(const deque<_Tp, _Alloc, __bufsiz>& __x,
                       const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return __x.size() == __y.size() &&
         equal(__x.begin(), __x.end(), __y.begin());
}

template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator<(const deque<_Tp, _Alloc, __bufsiz>& __x,
                      const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return lexicographical_compare(__x.begin(), __x.end(), 
                                 __y.begin(), __y.end());
}

#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER

template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator!=(const deque<_Tp, _Alloc, __bufsiz>& __x,
                       const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return !(__x == __y);
}

template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator>(const deque<_Tp, _Alloc, __bufsiz>& __x,
                      const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return __y < __x;
}

template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator<=(const deque<_Tp, _Alloc, __bufsiz>& __x,
                       const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return !(__y < __x);
}
template <class _Tp, class _Alloc, size_t __bufsiz>
inline bool operator>=(const deque<_Tp, _Alloc, __bufsiz>& __x,
                       const deque<_Tp, _Alloc, __bufsiz>& __y)
{
  return !(__x < __y);
}

template <class _Tp, class _Alloc, size_t __bufsiz>
inline void 
swap(deque<_Tp,_Alloc,__bufsiz>& __x, deque<_Tp,_Alloc,__bufsiz>& __y)
{
  __x.swap(__y);
}

#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */
#endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */

#if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32)
#pragma reset woff 1174
#pragma reset woff 1375
#endif
          
__STL_END_NAMESPACE 
  
#endif /* __SGI_STL_INTERNAL_DEQUE_H */

// Local Variables:
// mode:C++
// End:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区视频 | 欧美成人国产一区二区| 亚洲男人的天堂在线aⅴ视频| 看电影不卡的网站| 91麻豆国产在线观看| 日韩美一区二区三区| 香港成人在线视频| 欧美精品v日韩精品v韩国精品v| 亚洲激情自拍视频| 色94色欧美sute亚洲线路二 | 日韩 欧美一区二区三区| 在线视频国内自拍亚洲视频| 国产精品久久二区二区| 国产98色在线|日韩| 久久久久久一二三区| 狠狠色狠狠色综合| 久久一夜天堂av一区二区三区| 久久国产精品99精品国产 | 中文字幕一区视频| av激情综合网| 亚洲综合偷拍欧美一区色| 日本道精品一区二区三区| 一区二区三区中文在线观看| 在线一区二区观看| 污片在线观看一区二区| 在线一区二区观看| 亚洲成人免费视频| 91精品久久久久久久91蜜桃| 日韩va亚洲va欧美va久久| 精品少妇一区二区三区在线视频| 精品亚洲porn| 国产精品久久久久久久久久久免费看| 成人丝袜18视频在线观看| 亚洲男人的天堂av| 91精品国产综合久久福利| 激情综合色播五月| 亚洲欧洲国产专区| 欧美精品久久天天躁| 国内成人免费视频| 亚洲男女毛片无遮挡| 69av一区二区三区| 丰满放荡岳乱妇91ww| 亚洲蜜臀av乱码久久精品蜜桃| 欧美久久一二区| 国产91精品久久久久久久网曝门| 亚洲精品视频免费看| 欧美一级二级三级乱码| 成人一级视频在线观看| 国产精品私房写真福利视频| 精品视频1区2区3区| 国产精品一区二区三区乱码 | 综合久久久久综合| 日韩午夜中文字幕| 97se亚洲国产综合自在线| 青青草精品视频| 中文字幕一区二区三区在线播放| 欧美高清视频不卡网| 国产毛片一区二区| 亚洲最大色网站| 国产三级一区二区三区| 欧美午夜影院一区| 国产91精品久久久久久久网曝门| 天天综合网 天天综合色| 中文在线资源观看网站视频免费不卡| 欧美日韩黄色影视| zzijzzij亚洲日本少妇熟睡| 视频一区视频二区中文字幕| 国产午夜三级一区二区三| 4438x亚洲最大成人网| av电影在线观看一区| 国产一区二区三区在线观看免费视频| 亚洲动漫第一页| 亚洲人成精品久久久久久| 久久久99免费| 欧美一级免费观看| 欧美亚洲日本国产| 国产在线麻豆精品观看| 日韩电影一区二区三区四区| 亚洲婷婷在线视频| 中文字幕一区三区| 日本一区二区三区在线观看| 精品福利一二区| 日韩丝袜美女视频| 欧美精选一区二区| 欧美三级中文字幕在线观看| 国产91丝袜在线播放0| 国产一区二区不卡在线| 麻豆国产欧美日韩综合精品二区 | 日韩欧美你懂的| 91麻豆精品国产91久久久使用方法 | 久久久久99精品一区| 欧美va亚洲va| 精品日韩一区二区三区| 欧美午夜一区二区三区| 国模一区二区三区白浆| 韩国欧美一区二区| 国产精品综合二区| 成人性视频网站| 成人午夜视频网站| 成人激情电影免费在线观看| 不卡电影免费在线播放一区| 国产69精品久久久久毛片| 五月天一区二区三区| 三级在线观看一区二区| 久久精品国产一区二区| 精品一区二区免费视频| 国产一区二区三区精品欧美日韩一区二区三区 | 麻豆一区二区在线| 久久国产成人午夜av影院| 精品午夜久久福利影院| 国产一区二区三区四区五区入口 | 国产福利精品一区| 成人高清在线视频| 色婷婷av久久久久久久| 欧美色图第一页| 欧美一区二区三区视频免费| 欧美不卡一区二区| 国产日韩欧美综合在线| 综合色中文字幕| 午夜影视日本亚洲欧洲精品| 秋霞电影网一区二区| 国产一区二区导航在线播放| 99久久久国产精品免费蜜臀| 在线看日韩精品电影| 91精品国产综合久久久久久| 国产亚洲综合av| 一区二区视频免费在线观看| 国产精品中文字幕日韩精品| 欧美日韩一区小说| 国产精品青草久久| 六月丁香婷婷久久| 在线观看欧美精品| 中文字幕一区不卡| 国内精品伊人久久久久av一坑| 欧洲另类一二三四区| 国产精品久久久爽爽爽麻豆色哟哟| 奇米亚洲午夜久久精品| 色噜噜久久综合| 国产精品视频第一区| 久久成人18免费观看| 欧美精选一区二区| 亚洲精品中文在线影院| 国产盗摄视频一区二区三区| 日韩欧美国产综合| 天天综合色天天| 在线观看视频一区二区 | 日韩亚洲国产中文字幕欧美| 亚洲一二三级电影| 91蜜桃视频在线| 国产精品久久三区| 从欧美一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲 | 国产在线精品不卡| 欧美一级久久久| 天堂在线亚洲视频| 欧美在线观看视频一区二区| 中文字幕高清不卡| 国产高清在线精品| 国产亚洲精品bt天堂精选| 久久er精品视频| 欧美成人性战久久| 蜜桃久久久久久| 精品嫩草影院久久| 久久99国产精品久久99| 日韩免费性生活视频播放| 日本免费在线视频不卡一不卡二| 3d成人动漫网站| 热久久一区二区| 日韩精品中文字幕一区二区三区| 日本成人在线网站| 欧美一卡二卡三卡| 精品一区二区精品| 久久久精品2019中文字幕之3| 国产麻豆成人传媒免费观看| 久久久精品免费免费| 成人免费视频视频在线观看免费| 国产欧美一二三区| 91视频观看视频| 亚洲国产成人精品视频| 3751色影院一区二区三区| 日本不卡视频在线观看| 精品日韩成人av| 国产**成人网毛片九色| 亚洲精品中文在线影院| 欧美美女一区二区在线观看| 日本成人在线一区| 国产午夜三级一区二区三| 91原创在线视频| 午夜日韩在线电影| 欧美电影免费观看高清完整版在线 | 精品久久久影院| 国产suv精品一区二区883| 亚洲色图丝袜美腿| 欧美日韩国产一级| 精品中文字幕一区二区| 国产精品―色哟哟| 欧美又粗又大又爽| 精东粉嫩av免费一区二区三区| 国产日韩在线不卡| 欧美午夜精品理论片a级按摩|