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

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

?? hashmap.cc

?? Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
?? CC
?? 第 1 頁 / 共 2 頁
字號:
  // loop invariant:  // elts[i] < pivot for all left_init <= i < left  // elts[i] > pivot for all right < i <= right_init  while (left < right) {    if (elts[left] < pivot)      left++;    else if (elts[right] > pivot)      right--;    else {      void *x = elts[left];      elts[left] = elts[right];      elts[right] = x;    }  }  return left;}voidHashMap_qsort_elts(void **elts, size_t left, size_t right){  if (left < right) {    size_t split = HashMap_partition_elts(elts, left, right);    HashMap_qsort_elts(elts, left, split);    HashMap_qsort_elts(elts, split, right);  }}#endif// void * partial specializationtemplate <class K>voidHashMap<K, void *>::initialize(HashMap_ArenaFactory *factory, size_t initial_nbuckets){  _nbuckets = initial_nbuckets;  _buckets = (Elt **) CLICK_LALLOC(_nbuckets * sizeof(Elt *));  for (size_t i = 0; i < _nbuckets; i++)    _buckets[i] = 0;  set_dynamic_resizing(true);  _n = 0;  set_arena(factory);}template <class K>HashMap<K, void *>::HashMap()  : _default_value(0), _arena(0){  initialize(0, DEFAULT_INITIAL_NBUCKETS);}template <class K>HashMap<K, void *>::HashMap(void *def, HashMap_ArenaFactory *factory)  : _default_value(def), _arena(0){  initialize(factory, DEFAULT_INITIAL_NBUCKETS);}template <class K>voidHashMap<K, void *>::copy_from(const HashMap<K, void *> &o){  for (size_t i = 0; i < _nbuckets; i++) {    Elt **pprev = &_buckets[i];    *pprev = 0;    for (const Elt *e = o._buckets[i]; e; e = e->next) {      Elt *ee = reinterpret_cast<Elt *>(_arena->alloc());      new(reinterpret_cast<void *>(&ee->key)) K(e->key);      ee->value = e->value;      ee->next = 0;      *pprev = ee;      pprev = &ee->next;    }  }  _n = o._n;}template <class K>HashMap<K, void *>::HashMap(const HashMap<K, void *> &o)    : _buckets((Elt **) CLICK_LALLOC(o._nbuckets * sizeof(Elt *))),      _nbuckets(o._nbuckets), _default_value(o._default_value),      _capacity(o._capacity), _arena(o._arena){  _arena->use();  copy_from(o);}template <class K>HashMap<K, void *> &HashMap<K, void *>::operator=(const HashMap<K, void *> &o){  if (&o != this) {    clear();    _default_value = o._default_value;    if (_nbuckets < o._nbuckets)      resize0(o._nbuckets);    _nbuckets = o._nbuckets;    _capacity = o._capacity;    copy_from(o);  }  return *this;}template <class K>HashMap<K, void *>::~HashMap(){  for (size_t i = 0; i < _nbuckets; i++)    for (Elt *e = _buckets[i]; e; ) {      Elt *next = e->next;      e->key.~K();      _arena->free(e);      e = next;    }  CLICK_LFREE(_buckets, _nbuckets * sizeof(Elt *));  _arena->unuse();}template <class K>voidHashMap<K, void *>::set_dynamic_resizing(bool on){  if (!on)    _capacity = 0x7FFFFFFF;  else if (_nbuckets >= MAX_NBUCKETS)    _capacity = 0x7FFFFFFE;  else    _capacity = DEFAULT_RESIZE_THRESHOLD * _nbuckets;}template <class K>voidHashMap<K, void *>::set_arena(HashMap_ArenaFactory *factory){  assert(empty());  if (_arena)    _arena->unuse();  _arena = HashMap_ArenaFactory::get_arena(sizeof(Elt), factory);  _arena->use();}template <class K>inline size_tHashMap<K, void *>::bucket(const K &key) const{  return ((size_t) hashcode(key)) % _nbuckets;}template <class K>typename HashMap<K, void *>::Pair *HashMap<K, void *>::find_pair(const K &key) const{#if BIGHASHMAP_REARRANGE_ON_FIND  Elt *prev = 0;  size_t b = bucket(key);  for (Elt *e = _buckets[b]; e; prev = e, e = e->next)    if (e->key == key) {      if (prev) {        // move to front        prev->next = e->next;	e->next = _buckets[b];	_buckets[b] = e;      }      return e;    }  return 0;#else  for (Elt *e = _buckets[bucket(key)]; e; e = e->next)    if (e->key == key)      return e;  return 0;#endif}template <class K>voidHashMap<K, void *>::resize0(size_t new_nbuckets){    Elt **new_buckets = (Elt **) CLICK_LALLOC(new_nbuckets * sizeof(Elt *));    for (size_t i = 0; i < new_nbuckets; i++)	new_buckets[i] = 0;  size_t old_nbuckets = _nbuckets;  Elt **old_buckets = _buckets;  _nbuckets = new_nbuckets;  _buckets = new_buckets;  if (dynamic_resizing())    set_dynamic_resizing(true);	// reset threshold  for (size_t i = 0; i < old_nbuckets; i++)    for (Elt *e = old_buckets[i]; e; ) {      Elt *n = e->next;      size_t b = bucket(e->key);      e->next = new_buckets[b];      new_buckets[b] = e;      e = n;    }  CLICK_LFREE(old_buckets, old_nbuckets * sizeof(Elt *));}template <class K>voidHashMap<K, void *>::resize(size_t want_nbuckets){  size_t new_nbuckets = 1;  while (new_nbuckets < want_nbuckets && new_nbuckets < MAX_NBUCKETS)    new_nbuckets = ((new_nbuckets + 1) << 1) - 1;  assert(new_nbuckets > 0 && new_nbuckets <= MAX_NBUCKETS);  if (_nbuckets != new_nbuckets)    resize0(new_nbuckets);}template <class K>boolHashMap<K, void *>::insert(const K &key, void *value){  size_t b = bucket(key);  for (Elt *e = _buckets[b]; e; e = e->next)    if (e->key == key) {      e->value = value;      return false;    }  if (_n >= _capacity) {    resize(_nbuckets + 1);    b = bucket(key);  }  if (Elt *e = reinterpret_cast<Elt *>(_arena->alloc())) {    new(reinterpret_cast<void *>(&e->key)) K(key);    e->value = value;    e->next = _buckets[b];    _buckets[b] = e;    _n++;  }  return true;}template <class K>boolHashMap<K, void *>::erase(const K &key){  size_t b = bucket(key);  Elt *prev = 0;  Elt *e = _buckets[b];  while (e && !(e->key == key)) {    prev = e;    e = e->next;  }  if (e) {    if (prev)      prev->next = e->next;    else      _buckets[b] = e->next;    e->key.~K();    _arena->free(e);    _n--;    return true;  } else    return false;}template <class K>typename HashMap<K, void *>::Pair *HashMap<K, void *>::find_pair_force(const K &key, void *default_value){  size_t b = bucket(key);  for (Elt *e = _buckets[b]; e; e = e->next)    if (e->key == key)      return e;  if (_n >= _capacity) {    resize(_nbuckets + 1);    b = bucket(key);  }  if (Elt *e = reinterpret_cast<Elt *>(_arena->alloc())) {    new(reinterpret_cast<void *>(&e->key)) K(key);    e->value = default_value;    e->next = _buckets[b];    _buckets[b] = e;    _n++;    return e;  } else    return 0;}template <class K>voidHashMap<K, void *>::clear(){  for (size_t i = 0; i < _nbuckets; i++) {    for (Elt *e = _buckets[i]; e; ) {      Elt *next = e->next;      e->key.~K();      _arena->free(e);      e = next;    }    _buckets[i] = 0;  }  _n = 0;}template <class K>voidHashMap<K, void *>::swap(HashMap<K, void *> &o){  Elt **t_elts;  void *t_v;  size_t t_size;  HashMap_Arena *t_arena;  t_elts = _buckets; _buckets = o._buckets; o._buckets = t_elts;  t_size = _nbuckets; _nbuckets = o._nbuckets; o._nbuckets = t_size;  t_v = _default_value; _default_value = o._default_value; o._default_value = t_v;  t_size = _n; _n = o._n; o._n = t_size;  t_size = _capacity; _capacity = o._capacity; o._capacity = t_size;  t_arena = _arena; _arena = o._arena; o._arena = t_arena;}template <class K>_HashMap_const_iterator<K, void *>::_HashMap_const_iterator(const HashMap<K, void *> *hm, bool begin)  : _hm(hm){  size_t nb = _hm->_nbuckets;  typename HashMap<K, void *>::Elt **b = _hm->_buckets;  for (_bucket = 0; _bucket < nb && begin; _bucket++)    if (b[_bucket]) {      _elt = b[_bucket];      return;    }  _elt = 0;}template <class K>void_HashMap_const_iterator<K, void *>::operator++(int){  if (_elt->next)    _elt = _elt->next;  else {    size_t nb = _hm->_nbuckets;    typename HashMap<K, void *>::Elt **b = _hm->_buckets;    for (_bucket++; _bucket < nb; _bucket++)      if (b[_bucket]) {	_elt = b[_bucket];	return;      }    _elt = 0;  }}CLICK_ENDDECLS#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产精品久久| 欧美无人高清视频在线观看| 亚洲国产精品一区二区久久恐怖片| 欧美一区二区三区在线观看| 成人福利视频在线看| 免费成人在线网站| 亚洲免费在线电影| 国产女主播一区| 国产精品久久久久久久久久免费看 | 国产成人精品一区二区三区网站观看| 伊人夜夜躁av伊人久久| 日韩国产欧美在线观看| 国产精品超碰97尤物18| 337p日本欧洲亚洲大胆精品| 91高清视频在线| 成人免费av在线| 韩国毛片一区二区三区| 日本人妖一区二区| 午夜在线成人av| 一区二区三区在线视频免费观看| 国产拍欧美日韩视频二区| 欧美一区二区在线免费播放| 色久综合一二码| 99九九99九九九视频精品| 国产精品亚洲一区二区三区妖精| 免费看日韩a级影片| 亚洲国产欧美日韩另类综合| 国产精品久久久久久久久果冻传媒 | 99久久久无码国产精品| 成人网在线免费视频| 国产一区91精品张津瑜| 精品一区二区三区在线观看 | 国产亚洲精品中文字幕| 精品福利一区二区三区免费视频| 日韩一区二区三免费高清| 欧美色网站导航| 欧美日韩五月天| 欧美三片在线视频观看| 欧美精品日韩一本| 欧美日韩一区二区三区不卡| 欧美日韩午夜在线| 日韩一区二区在线观看视频 | 9色porny自拍视频一区二区| 成人av片在线观看| aaa欧美色吧激情视频| 91一区在线观看| 91黄色激情网站| 欧美日韩久久不卡| 欧美一区二区三区在线看| 日韩免费成人网| 久久久.com| 中文字幕在线一区二区三区| 最新日韩av在线| 亚洲在线中文字幕| 蜜桃视频在线观看一区| 久久机这里只有精品| 黑人巨大精品欧美一区| 成人免费观看男女羞羞视频| 91麻豆福利精品推荐| 欧美三级三级三级| 精品少妇一区二区三区日产乱码| 欧美精品一区二区三区高清aⅴ| 国产欧美日产一区| 亚洲色图一区二区三区| 亚洲一区二区五区| 日韩高清电影一区| 国产伦精品一区二区三区免费| 成人一级片网址| 91黄色免费观看| 精品日韩成人av| 亚洲欧洲日韩av| 免费视频一区二区| 成人免费毛片片v| 欧美在线播放高清精品| 日韩亚洲欧美一区| 国产精品美日韩| 婷婷综合另类小说色区| 国模娜娜一区二区三区| 91麻豆123| 亚洲午夜激情网站| 国内成人精品2018免费看| 本田岬高潮一区二区三区| 欧美区在线观看| 国产精品入口麻豆九色| 偷窥国产亚洲免费视频| 粉嫩高潮美女一区二区三区| 欧美日韩一区不卡| 国产精品美日韩| 精品在线一区二区三区| 色猫猫国产区一区二在线视频| 日韩午夜激情视频| 一区二区三区美女| 国产成人一区二区精品非洲| 欧美网站一区二区| 中文字幕精品—区二区四季| 天天色图综合网| 成人91在线观看| 精品久久久久香蕉网| 亚洲国产aⅴ成人精品无吗| 国产成人午夜精品影院观看视频| 欧美午夜一区二区三区免费大片| 国产情人综合久久777777| 偷窥国产亚洲免费视频| 91激情五月电影| 国产精品传媒在线| 国产精品一区一区三区| 日韩欧美专区在线| 亚洲国产一区二区三区青草影视| 国产乱码精品1区2区3区| 欧美丰满美乳xxx高潮www| 亚洲日本中文字幕区| 国产成人精品一区二区三区四区| 日韩欧美一区二区视频| 亚洲一区二区三区自拍| 色综合天天做天天爱| 国产午夜精品久久久久久久| 免费亚洲电影在线| 777久久久精品| 偷窥少妇高潮呻吟av久久免费| 色综合中文字幕国产 | 一二三四社区欧美黄| 成人动漫一区二区三区| 久久午夜免费电影| 精品一区二区免费视频| 91精品国产高清一区二区三区| 一区二区不卡在线播放| 播五月开心婷婷综合| 亚洲国产精品ⅴa在线观看| 国产一区二区不卡在线| 久久无码av三级| 国内精品久久久久影院一蜜桃| 欧美一级高清片在线观看| 青椒成人免费视频| 欧美一区二区三区日韩| 青青草原综合久久大伊人精品| 欧美日韩在线播放三区四区| 亚洲成人久久影院| 欧美日韩不卡在线| 日韩一区精品视频| 欧美一区二区久久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品伦一区| 成人av网站在线观看免费| 国产精品丝袜久久久久久app| 成人黄动漫网站免费app| 国产精品久久久久三级| heyzo一本久久综合| 亚洲女人的天堂| 欧美视频日韩视频在线观看| 日韩国产在线观看一区| 日韩欧美不卡一区| 国产精品一区二区在线观看不卡| 欧美国产亚洲另类动漫| 91在线视频播放地址| 亚洲国产视频在线| 日韩视频免费直播| 高清免费成人av| 亚洲综合一区二区三区| 这里只有精品免费| 国产成人啪午夜精品网站男同| 亚洲欧洲无码一区二区三区| 欧美视频自拍偷拍| 极品少妇一区二区| 18成人在线观看| 91精品国产色综合久久| 国产91精品免费| 夜夜夜精品看看| 日韩精品一区二区三区在线| 粉嫩av一区二区三区粉嫩| 亚洲午夜在线观看视频在线| 日韩欧美国产精品| 成人福利电影精品一区二区在线观看| 亚洲欧美日韩综合aⅴ视频| 91精品福利在线一区二区三区| 国产一区二区三区黄视频| 亚洲日本va午夜在线电影| 欧美美女网站色| 成人免费视频一区| 日韩av一二三| 中文字幕一区二区三| 制服丝袜国产精品| 成人开心网精品视频| 日韩电影一区二区三区四区| 国产日韩欧美麻豆| 精品视频在线免费看| 国产精品一二三四五| 亚洲精选在线视频| 国产亚洲一区字幕| 欧美精品久久99久久在免费线| 国产高清在线精品| 日韩成人伦理电影在线观看| 国产精品毛片a∨一区二区三区| 欧美丰满少妇xxxbbb| 99免费精品在线观看| 国内成人免费视频| 日韩黄色小视频| 一区二区三区在线视频免费| 国产肉丝袜一区二区| 欧美一区二区不卡视频| 一本色道久久综合亚洲aⅴ蜜桃|