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

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

?? stl_hash_map.h

?? TSP問題的一個類庫 有源代碼和stl
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Copyright (c) 1996
 * Silicon Graphics Computer Systems, Inc.
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Silicon Graphics makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 *
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Hewlett-Packard Company makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 *
 */

/* 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_MAP_H
#define __SGI_STL_INTERNAL_HASH_MAP_H


__STL_BEGIN_NAMESPACE

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

// Forward declaration of equality operator; needed for friend declaration.

template <class _Key, class _Tp,
          class _HashFcn  __STL_DEPENDENT_DEFAULT_TMPL(hash<_Key>),
          class _EqualKey __STL_DEPENDENT_DEFAULT_TMPL(equal_to<_Key>),
          class _Alloc =  __STL_DEFAULT_ALLOCATOR(_Tp) >
class hash_map;

template <class _Key, class _Tp, class _HashFn, class _EqKey, class _Alloc>
inline bool operator==(const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&,
                       const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&);

template <class _Key, class _Tp, class _HashFcn, class _EqualKey,
          class _Alloc>
class hash_map
{
private:
  typedef hashtable<pair<const _Key,_Tp>,_Key,_HashFcn,
                    _Select1st<pair<const _Key,_Tp> >,_EqualKey,_Alloc> _Ht;
  _Ht _M_ht;

public:
  typedef typename _Ht::key_type key_type;
  typedef _Tp data_type;
  typedef _Tp mapped_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::pointer pointer;
  typedef typename _Ht::const_pointer const_pointer;
  typedef typename _Ht::reference reference;
  typedef typename _Ht::const_reference const_reference;

  typedef typename _Ht::iterator iterator;
  typedef typename _Ht::const_iterator const_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(); }

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

#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  hash_map(_InputIterator __f, _InputIterator __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  template <class _InputIterator>
  hash_map(_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_map(_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_map(_InputIterator __f, _InputIterator __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = allocator_type())
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_unique(__f, __l); }

#else
  hash_map(const value_type* __f, const value_type* __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_map(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_map(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_map(const value_type* __f, const value_type* __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = allocator_type())
    : _M_ht(__n, __hf, __eql, __a)
    { _M_ht.insert_unique(__f, __l); }

  hash_map(const_iterator __f, const_iterator __l)
    : _M_ht(100, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_map(const_iterator __f, const_iterator __l, size_type __n)
    : _M_ht(__n, hasher(), key_equal(), allocator_type())
    { _M_ht.insert_unique(__f, __l); }
  hash_map(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_map(const_iterator __f, const_iterator __l, size_type __n,
           const hasher& __hf, const key_equal& __eql,
           const allocator_type& __a = 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(hash_map& __hs) { _M_ht.swap(__hs._M_ht); }

#ifdef __STL_MEMBER_TEMPLATES
  template <class _K1, class _T1, class _HF, class _EqK, class _Al>
  friend bool operator== (const hash_map<_K1, _T1, _HF, _EqK, _Al>&,
                          const hash_map<_K1, _T1, _HF, _EqK, _Al>&);
#else /* __STL_MEMBER_TEMPLATES */
  friend bool __STD_QUALIFIER
  operator== __STL_NULL_TMPL_ARGS (const hash_map&, const hash_map&);
#endif /* __STL_MEMBER_TEMPLATES */


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

public:
  pair<iterator,bool> insert(const value_type& __obj)
    { return _M_ht.insert_unique(__obj); }
#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)
    { return _M_ht.insert_unique_noresize(__obj); }    

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

  _Tp& operator[](const key_type& __key) {
    return _M_ht.find_or_insert(value_type(__key, _Tp())).second;
  }

  size_type count(const key_type& __key) const { return _M_ht.count(__key); }
  
  pair<iterator, iterator> equal_range(const key_type& __key)
    { return _M_ht.equal_range(__key); }
  pair<const_iterator, const_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(); }

  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); }
};

template <class _Key, class _Tp, class _HashFcn, class _EqlKey, class _Alloc>
inline bool 
operator==(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1,
           const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2)
{
  return __hm1._M_ht == __hm2._M_ht;
}

#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER

template <class _Key, class _Tp, class _HashFcn, class _EqlKey, class _Alloc>
inline bool 
operator!=(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1,
           const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) {
  return !(__hm1 == __hm2);
}

template <class _Key, class _Tp, class _HashFcn, class _EqlKey, class _Alloc>
inline void 
swap(hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1,
     hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2)
{
  __hm1.swap(__hm2);
}

#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

// Forward declaration of equality operator; needed for friend declaration.

template <class _Key, class _Tp,
          class _HashFcn  __STL_DEPENDENT_DEFAULT_TMPL(hash<_Key>),
          class _EqualKey __STL_DEPENDENT_DEFAULT_TMPL(equal_to<_Key>),
          class _Alloc =  __STL_DEFAULT_ALLOCATOR(_Tp) >
class hash_multimap;

template <class _Key, class _Tp, class _HF, class _EqKey, class _Alloc>
inline bool 
operator==(const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm1,
           const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm2);

template <class _Key, class _Tp, class _HashFcn, class _EqualKey, 
          class _Alloc>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女精品在线| 国产乱妇无码大片在线观看| 久久精品亚洲国产奇米99| 国产拍欧美日韩视频二区| 日韩一级完整毛片| 日韩欧美成人一区二区| 3d动漫精品啪啪一区二区竹菊 | 久久久国产一区二区三区四区小说 | 91天堂素人约啪| 99精品视频在线观看| 99视频一区二区三区| 91年精品国产| 欧美午夜在线一二页| 欧美日韩国产bt| 91精品在线免费| 欧美精品一区二区在线观看| 2021国产精品久久精品| 国产蜜臀av在线一区二区三区| 精品国产1区2区3区| 久久久精品tv| 亚洲精品第1页| 婷婷丁香久久五月婷婷| 日本亚洲欧美天堂免费| 国产精品正在播放| av在线不卡网| 欧美日韩一区不卡| 欧美精品一区在线观看| 亚洲一区二区视频| 九九**精品视频免费播放| 国产精品一区二区视频| 色综合天天性综合| 欧美丰满美乳xxx高潮www| 欧美mv日韩mv亚洲| 亚洲免费在线观看| 老司机精品视频在线| 99久久久久免费精品国产| 欧美日韩国产综合久久| 国产视频一区不卡| 午夜精品福利久久久| 成人黄色小视频| 日韩欧美第一区| 亚洲精品你懂的| 国产精品自拍在线| 色88888久久久久久影院野外| 91精品国产91综合久久蜜臀| 国产精品成人免费精品自在线观看 | 国产三级欧美三级| 婷婷综合久久一区二区三区| 国产69精品久久久久毛片| 欧美午夜电影一区| 国产精品久线在线观看| 午夜精品久久久久久久久久| 成人黄色一级视频| 久久久夜色精品亚洲| 日韩精品五月天| 91一区二区在线观看| 久久中文字幕电影| 五月天激情综合| 色综合天天天天做夜夜夜夜做| 国产农村妇女毛片精品久久麻豆 | 日韩精品影音先锋| 亚洲国产精品精华液网站| 成人白浆超碰人人人人| 欧美精品一区二区高清在线观看| 亚洲一区二区视频在线观看| av不卡免费在线观看| 国产精品卡一卡二卡三| 成人看片黄a免费看在线| 精品精品国产高清a毛片牛牛| 一区二区三区免费在线观看| 成人爽a毛片一区二区免费| 久久精品视频在线看| 国产主播一区二区三区| 精品成人一区二区三区四区| 免费成人在线观看| 日韩一区二区三区av| 美女任你摸久久 | 国内精品在线播放| 久久综合狠狠综合久久综合88| 日韩va欧美va亚洲va久久| 欧美性受xxxx| 亚洲成人激情av| 91麻豆精品国产综合久久久久久| 日韩精品1区2区3区| 欧美一级淫片007| 韩国视频一区二区| 亚洲国产成人私人影院tom| 成人午夜激情在线| 中文字幕免费一区| 99综合影院在线| 亚洲最快最全在线视频| 欧美精品tushy高清| 青青草精品视频| 久久久午夜电影| 成人免费毛片嘿嘿连载视频| 欧美激情艳妇裸体舞| 99re成人在线| 午夜av一区二区| 精品久久99ma| 成人综合婷婷国产精品久久免费| 中文字幕精品—区二区四季| 不卡在线观看av| 午夜电影一区二区三区| 精品噜噜噜噜久久久久久久久试看| 丰满白嫩尤物一区二区| 亚洲欧美日韩系列| 日韩免费福利电影在线观看| 国产91精品露脸国语对白| 亚洲免费毛片网站| 777亚洲妇女| 成人免费毛片片v| 五月天婷婷综合| 欧美国产精品一区二区三区| 91极品美女在线| 久久99精品国产麻豆不卡| 亚洲色图在线播放| 91麻豆精品国产91久久久| 不卡一二三区首页| 久国产精品韩国三级视频| 中文av一区二区| 日韩精品一区二区三区在线观看| 国产成人精品一区二| 亚洲国产成人精品视频| 中文一区一区三区高中清不卡| 欧美天堂一区二区三区| 国产黑丝在线一区二区三区| 亚洲最大的成人av| 国产亚洲精品bt天堂精选| 6080午夜不卡| 欧美色中文字幕| 不卡的av电影在线观看| 精品在线观看免费| 亚洲成人激情av| 一片黄亚洲嫩模| 国产精品卡一卡二| 日本一区二区综合亚洲| 在线不卡a资源高清| 色综合久久综合网欧美综合网| 国产一区视频在线看| 亚洲成人1区2区| 一区二区三区欧美激情| 中文字幕亚洲精品在线观看 | 国产精品2024| 国产一二精品视频| 久久99精品久久久久久动态图| 无吗不卡中文字幕| 亚洲在线视频一区| 一区二区三区在线免费观看| 国产精品网站导航| 国产精品看片你懂得| 国产亚洲污的网站| 国产农村妇女精品| 国产精品久久毛片a| 欧美激情综合网| 国产精品免费视频观看| 国产日韩欧美a| 中文字幕精品在线不卡| 中文幕一区二区三区久久蜜桃| 国产无人区一区二区三区| 国产欧美日韩视频在线观看| 国产亚洲1区2区3区| 国产午夜亚洲精品理论片色戒| 久久久久九九视频| 国产欧美久久久精品影院| 亚洲国产精品精华液2区45| 国产精品午夜在线| 亚洲激情在线播放| 日韩高清在线不卡| 久久国产综合精品| 国产精品亚洲一区二区三区在线 | 日韩精品一区二区三区四区| 91精品国产综合久久久久| 91精品国产91综合久久蜜臀| 精品久久一区二区三区| 国产精品欧美精品| 亚洲一区影音先锋| 久久99精品国产麻豆不卡| 国产+成+人+亚洲欧洲自线| av一二三不卡影片| 欧美老肥妇做.爰bbww| 欧美成人乱码一区二区三区| 国产亚洲一二三区| 亚洲韩国精品一区| 国内偷窥港台综合视频在线播放| 不卡电影一区二区三区| 欧美区一区二区三区| 久久综合狠狠综合久久激情| 亚洲免费观看高清完整版在线观看 | 欧美丰满高潮xxxx喷水动漫| 欧美精品一区二区三区蜜桃视频| 国产精品久久久久aaaa| 日韩制服丝袜av| 成人精品高清在线| 欧美一区二区视频在线观看| 欧美国产1区2区| 亚洲高清视频中文字幕| 国产精品性做久久久久久| 91久久精品网| 久久一日本道色综合| 亚洲第四色夜色|