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

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

?? stl_hash_set.h

?? 粗慥集成算法集合 ,并有詳細的文檔資料和測試數據處
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Copyright (c) 1996,1997
 * Silicon Graphics Computer Systems, Inc.
 *
 * Copyright (c) 1997
 * Moscow Center for SPARC Technology
 *
 * Copyright (c) 1999 
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted 
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

/* NOTE: This is an internal header file, included by other STL headers.
 *   You should not attempt to use it directly.
 */

#ifndef __SGI_STL_INTERNAL_HASH_SET_H
#define __SGI_STL_INTERNAL_HASH_SET_H

__STL_BEGIN_NAMESPACE

#if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32)
#pragma set woff 1174
#pragma set woff 1375
#endif

# define  hash_set      __WORKAROUND_RENAME(hash_set)
# define  hash_multiset __WORKAROUND_RENAME(hash_multiset)

template <class _Value, __DFL_TMPL_PARAM(_HashFcn,hash<_Value>),
          __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>),
          __STL_DEFAULT_ALLOCATOR_SELECT(_Value) >
class hash_set
{
private:
  typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>, 
                    _EqualKey, _Alloc> _Ht;
  typedef hash_set<_Value, _HashFcn, _EqualKey, _Alloc> _Self;
  typedef typename _Ht::iterator _ht_iterator;
public:
  typedef typename _Ht::key_type key_type;
  typedef typename _Ht::value_type value_type;
  typedef typename _Ht::hasher hasher;
  typedef typename _Ht::key_equal key_equal;

  typedef typename _Ht::size_type size_type;
  typedef typename _Ht::difference_type difference_type;
  typedef typename _Ht::const_pointer pointer;
  typedef typename _Ht::const_pointer const_pointer;
  typedef typename _Ht::const_reference reference;
  typedef typename _Ht::const_reference const_reference;

  // SunPro bug
  typedef typename _Ht::const_iterator const_iterator;
  typedef const_iterator iterator;

  typedef typename _Ht::allocator_type allocator_type;

  hasher hash_funct() const { return _M_ht.hash_funct(); }
  key_equal key_eq() const { return _M_ht.key_eq(); }
  allocator_type get_allocator() const { return _M_ht.get_allocator(); }

private:
  _Ht _M_ht;

public:
  hash_set()
    : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
  explicit hash_set(size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
  hash_set(size_type __n, const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
  hash_set(size_type __n, const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a) {}

#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  hash_set(_InputIterator __f, _InputIterator __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  template <class _InputIterator>
  hash_set(_InputIterator __f, _InputIterator __l, size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  template <class _InputIterator>
  hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
           const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  template <class _InputIterator>
  hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_unique(__f, __l); }
#else

  hash_set(const value_type* __f, const value_type* __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const value_type* __f, const value_type* __l, size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const value_type* __f, const value_type* __l, size_type __n,
           const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const value_type* __f, const value_type* __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_unique(__f, __l); }

  hash_set(const_iterator __f, const_iterator __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const_iterator __f, const_iterator __l, size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const_iterator __f, const_iterator __l, size_type __n,
           const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_set(const_iterator __f, const_iterator __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_unique(__f, __l); }
#endif /*__STL_MEMBER_TEMPLATES */

public:
  size_type size() const { return _M_ht.size(); }
  size_type max_size() const { return _M_ht.max_size(); }
  bool empty() const { return _M_ht.empty(); }
  void swap(_Self& __hs) { _M_ht.swap(__hs._M_ht); }

  iterator begin() const { return _M_ht.begin(); }
  iterator end() const { return _M_ht.end(); }

public:
  pair<iterator, bool> insert(const value_type& __obj)
    {
      pair<_ht_iterator, bool> __p = _M_ht.insert_unique(__obj);
      return pair<iterator,bool>((const iterator&)__p.first, __p.second);
    }
#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  void insert(_InputIterator __f, _InputIterator __l) 
    { _M_ht.insert_unique(__f,__l); }
#else
  void insert(const value_type* __f, const value_type* __l) {
    _M_ht.insert_unique(__f,__l);
  }
  void insert(const_iterator __f, const_iterator __l) 
    {_M_ht.insert_unique(__f, __l); }
#endif /*__STL_MEMBER_TEMPLATES */
  pair<iterator, bool> insert_noresize(const value_type& __obj)
  {
    pair<_ht_iterator, bool> __p = 
      _M_ht.insert_unique_noresize(__obj);
    return pair<iterator, bool>(__p.first, __p.second);
  }

  iterator find(const key_type& __key) const { return _M_ht.find(__key); }

  size_type count(const key_type& __key) const { return _M_ht.count(__key); }
  
  pair<iterator, iterator> equal_range(const key_type& __key) const
    { return _M_ht.equal_range(__key); }

  size_type erase(const key_type& __key) {return _M_ht.erase(__key); }
  void erase(iterator __it) { _M_ht.erase(__it); }
  void erase(iterator __f, iterator __l) { _M_ht.erase(__f, __l); }
  void clear() { _M_ht.clear(); }

public:
  void resize(size_type __hint) { _M_ht.resize(__hint); }
  size_type bucket_count() const { return _M_ht.bucket_count(); }
  size_type max_bucket_count() const { return _M_ht.max_bucket_count(); }
  size_type elems_in_bucket(size_type __n) const
    { return _M_ht.elems_in_bucket(__n); }

  static bool _M_equal (const _Self& __x, const _Self& __y) {
    return _Ht::_M_equal(__x._M_ht,__y._M_ht);
  }

};


template <class _Value, class _HashFcn, class _EqualKey, class _Alloc>
inline bool 
operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1,
           const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2)
{
  return hash_set<_Value,_HashFcn,_EqualKey,_Alloc>::_M_equal(__hs1, __hs2);
}

#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE

template <class _Value, class _HashFcn, class _EqualKey, class _Alloc>
inline bool 
operator!=(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1,
           const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) {
  return !(__hs1 == __hs2);
}

template <class _Val, class _HashFcn, class _EqualKey, class _Alloc>
inline void 
swap(hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1,
     hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2)
{
  __hs1.swap(__hs2);
}

#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */


template <class _Value, __DFL_TMPL_PARAM(_HashFcn,hash<_Value>),
          __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>),
          __STL_DEFAULT_ALLOCATOR_SELECT(_Value) >
class hash_multiset
{
private:
  typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>, 
                    _EqualKey, _Alloc> _Ht;
  typedef hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc> _Self;

public:
  typedef typename _Ht::key_type key_type;
  typedef typename _Ht::value_type value_type;
  typedef typename _Ht::hasher hasher;
  typedef typename _Ht::key_equal key_equal;

  typedef typename _Ht::size_type size_type;
  typedef typename _Ht::difference_type difference_type;
  typedef typename _Ht::const_pointer pointer;
  typedef typename _Ht::const_pointer const_pointer;
  typedef typename _Ht::const_reference reference;
  typedef typename _Ht::const_reference const_reference;

  typedef typename _Ht::const_iterator const_iterator;
  // SunPro bug
  typedef const_iterator iterator;

  typedef typename _Ht::allocator_type allocator_type;

  hasher hash_funct() const { return _M_ht.hash_funct(); }
  key_equal key_eq() const { return _M_ht.key_eq(); }
  allocator_type get_allocator() const { return _M_ht.get_allocator(); }

private:
  _Ht _M_ht;

public:
  hash_multiset()
    : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
  explicit hash_multiset(size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
  hash_multiset(size_type __n, const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
  hash_multiset(size_type __n, const hasher& __hf, const key_equal& __eql,
                const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a) {}

#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  hash_multiset(_InputIterator __f, _InputIterator __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_equal(__f, __l); }
  template <class _InputIterator>
  hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_equal(__f, __l); }
  template <class _InputIterator>
  hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
                const hasher& __hf)
    : _M_ht(__n, __hf, key_equal(), allocator_type())
    { _M_ht.insert_equal(__f, __l); }
  template <class _InputIterator>
  hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
                const hasher& __hf, const key_equal& __eql,
                const allocator_type& __a = __STL_ALLOC_INSTANCE(allocator_type))
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_equal(__f, __l); }
#else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲福利社区一区| 97精品久久久久中文字幕| 韩国一区二区视频| 丰满少妇在线播放bd日韩电影| 成人黄色软件下载| 欧美日韩免费一区二区三区视频| 51午夜精品国产| 久久精品这里都是精品| 亚洲欧美韩国综合色| 香蕉成人伊视频在线观看| 九九热在线视频观看这里只有精品| 国产成人亚洲综合a∨猫咪| 色偷偷一区二区三区| 日韩写真欧美这视频| 亚洲国产成人一区二区三区| 亚洲观看高清完整版在线观看| 久久99精品久久久久婷婷| 99久久精品免费| 日韩一级成人av| ●精品国产综合乱码久久久久| 日欧美一区二区| 99精品欧美一区二区三区小说| 欧美精品久久久久久久久老牛影院| 久久久久久久久免费| 亚洲一区二区三区爽爽爽爽爽| 极品尤物av久久免费看| 色8久久人人97超碰香蕉987| 欧美va亚洲va国产综合| 一区二区三区免费观看| 国产一区二区三区视频在线播放| 日本韩国精品一区二区在线观看| 精品久久一区二区| 一级女性全黄久久生活片免费| 国产在线一区观看| 欧美视频在线不卡| 最新热久久免费视频| 精品在线亚洲视频| 欧美日本韩国一区二区三区视频 | 一区二区三区在线免费播放| 激情综合网天天干| 欧美偷拍一区二区| 国产精品成人在线观看| 精一区二区三区| 欧美美女一区二区| 亚洲精品日韩综合观看成人91| 国产精品911| 日韩精品中文字幕在线不卡尤物| 一区二区三区在线免费视频| www.一区二区| 久久久久久黄色| 麻豆成人在线观看| 9191国产精品| 亚洲午夜在线观看视频在线| 99精品在线免费| 国产欧美视频一区二区三区| 久久精品国产免费| 91精品在线麻豆| 亚洲mv大片欧洲mv大片精品| 在线视频你懂得一区二区三区| 亚洲欧洲精品一区二区三区不卡| 国产成人福利片| 精品国产一二三| 美女网站色91| 欧美一级高清片| 男男视频亚洲欧美| 7878成人国产在线观看| 亚洲aaa精品| 欧美日韩免费观看一区三区| 一区二区三区国产精华| 色综合天天天天做夜夜夜夜做| 国产精品激情偷乱一区二区∴| 成人在线视频一区二区| 欧美国产禁国产网站cc| 成熟亚洲日本毛茸茸凸凹| 国产精品无遮挡| 99精品国产一区二区三区不卡| 国产精品久久久一本精品| va亚洲va日韩不卡在线观看| 国产精品国产三级国产aⅴ入口 | 国产女人18毛片水真多成人如厕| 九九**精品视频免费播放| 2020国产精品自拍| 国产毛片精品国产一区二区三区| 精品国产一区二区三区久久久蜜月 | 日本不卡123| 日韩女优视频免费观看| 精品亚洲成a人在线观看| 久久丝袜美腿综合| 丁香天五香天堂综合| 国产精品三级视频| 不卡视频在线观看| 一区二区激情视频| 在线不卡中文字幕播放| 久久精品国产免费看久久精品| 久久久午夜精品| 91在线无精精品入口| 亚洲图片欧美一区| 日韩一区二区三| 国产精品一区二区久久精品爱涩| 国产日韩欧美精品在线| 91麻豆成人久久精品二区三区| 亚洲激情校园春色| 91精品国产综合久久精品图片| 美女在线观看视频一区二区| 久久精品一级爱片| 91欧美一区二区| 日韩中文字幕一区二区三区| 精品久久久久久久人人人人传媒| 国产成人精品免费网站| 亚洲另类在线视频| 日韩一级在线观看| 国产成人av福利| 一区二区三区中文字幕电影 | 日本色综合中文字幕| 久久久不卡网国产精品二区| 99视频在线观看一区三区| 亚洲国产精品久久不卡毛片| 精品国产乱码久久久久久久久| 成人aaaa免费全部观看| 亚洲成a人片在线观看中文| www亚洲一区| 欧美专区在线观看一区| 老司机免费视频一区二区 | 欧美视频中文字幕| 黄一区二区三区| 亚洲你懂的在线视频| 日韩你懂的电影在线观看| 暴力调教一区二区三区| 日日摸夜夜添夜夜添国产精品| 国产视频一区二区在线| 欧美日韩一区在线观看| 国产不卡在线一区| 天天做天天摸天天爽国产一区| 国产亚洲一区二区在线观看| 在线观看一区二区精品视频| 国产一区二区三区免费在线观看| 亚洲国产综合91精品麻豆| 国产亚洲精品bt天堂精选| 欧美午夜片在线观看| 国产91精品一区二区麻豆网站| 午夜欧美视频在线观看| 国产精品不卡一区| 精品美女在线观看| 在线观看日产精品| 成人三级伦理片| 免费不卡在线视频| 亚洲在线中文字幕| 国产日韩亚洲欧美综合| 7777精品伊人久久久大香线蕉完整版| av电影天堂一区二区在线 | 欧美国产乱子伦| 日韩三级电影网址| 欧美视频在线观看一区| 91在线小视频| 东方欧美亚洲色图在线| 极品美女销魂一区二区三区免费| 亚洲成人av一区二区三区| 亚洲欧洲精品天堂一级| 久久免费电影网| 日韩一区二区在线观看| 欧美三级日韩三级| 97se亚洲国产综合自在线| 国产成人精品免费网站| 国内不卡的二区三区中文字幕| 天天影视网天天综合色在线播放| 亚洲男人的天堂在线观看| 欧美国产综合一区二区| 精品国产a毛片| 欧美一区二视频| 欧美日韩黄视频| 欧美亚洲国产怡红院影院| 91美女在线视频| av一区二区三区在线| 成人在线视频一区二区| 高清不卡一区二区| 国产经典欧美精品| 国产在线精品一区二区三区不卡 | 日韩三级精品电影久久久| 这里是久久伊人| 欧美精品1区2区3区| 欧美日韩黄色影视| 7777精品伊人久久久大香线蕉 | 亚洲一区二区三区视频在线| 亚洲乱码国产乱码精品精小说 | 欧洲中文字幕精品| 色噜噜狠狠色综合欧洲selulu| www.亚洲人| 99re热这里只有精品视频| 97久久精品人人爽人人爽蜜臀| 成人夜色视频网站在线观看| 国产精品1区2区3区在线观看| 国产真实乱偷精品视频免| 国产剧情一区二区| 国产成人综合视频| 成人久久18免费网站麻豆| 99久久夜色精品国产网站| 91日韩一区二区三区| 色综合久久天天综合网| 在线观看欧美黄色| 欧美午夜精品理论片a级按摩|