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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? stl_map.h

?? TSP問(wèn)題的一個(gè)類(lèi)庫(kù) 有源代碼和stl
?? H
字號(hào):
/*
 *
 * 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.
 *
 *
 * Copyright (c) 1996,1997
 * 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.
 */

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

#ifndef __SGI_STL_INTERNAL_MAP_H
#define __SGI_STL_INTERNAL_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 declarations of operators == and <, needed for friend declarations.
template <class _Key, class _Tp, 
          class _Compare __STL_DEPENDENT_DEFAULT_TMPL(less<_Key>),
          class _Alloc = __STL_DEFAULT_ALLOCATOR(_Tp) >
class map;

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator==(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                       const map<_Key,_Tp,_Compare,_Alloc>& __y);

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator<(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                      const map<_Key,_Tp,_Compare,_Alloc>& __y);

template <class _Key, class _Tp, class _Compare, class _Alloc>
class map {
public:

// typedefs:

  typedef _Key                  key_type;
  typedef _Tp                   data_type;
  typedef _Tp                   mapped_type;
  typedef pair<const _Key, _Tp> value_type;
  typedef _Compare              key_compare;
    
  class value_compare
    : public binary_function<value_type, value_type, bool> {
  friend class map<_Key,_Tp,_Compare,_Alloc>;
  protected :
    _Compare comp;
    value_compare(_Compare __c) : comp(__c) {}
  public:
    bool operator()(const value_type& __x, const value_type& __y) const {
      return comp(__x.first, __y.first);
    }
  };

private:
  typedef _Rb_tree<key_type, value_type, 
                   _Select1st<value_type>, key_compare, _Alloc> _Rep_type;
  _Rep_type _M_t;  // red-black tree representing map
public:
  typedef typename _Rep_type::pointer pointer;
  typedef typename _Rep_type::const_pointer const_pointer;
  typedef typename _Rep_type::reference reference;
  typedef typename _Rep_type::const_reference const_reference;
  typedef typename _Rep_type::iterator iterator;
  typedef typename _Rep_type::const_iterator const_iterator;
  typedef typename _Rep_type::reverse_iterator reverse_iterator;
  typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
  typedef typename _Rep_type::size_type size_type;
  typedef typename _Rep_type::difference_type difference_type;
  typedef typename _Rep_type::allocator_type allocator_type;

  // allocation/deallocation

  map() : _M_t(_Compare(), allocator_type()) {}
  explicit map(const _Compare& __comp,
               const allocator_type& __a = allocator_type())
    : _M_t(__comp, __a) {}

#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  map(_InputIterator __first, _InputIterator __last)
    : _M_t(_Compare(), allocator_type())
    { _M_t.insert_unique(__first, __last); }

  template <class _InputIterator>
  map(_InputIterator __first, _InputIterator __last, const _Compare& __comp,
      const allocator_type& __a = allocator_type())
    : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); }
#else
  map(const value_type* __first, const value_type* __last)
    : _M_t(_Compare(), allocator_type())
    { _M_t.insert_unique(__first, __last); }

  map(const value_type* __first,
      const value_type* __last, const _Compare& __comp,
      const allocator_type& __a = allocator_type())
    : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); }

  map(const_iterator __first, const_iterator __last)
    : _M_t(_Compare(), allocator_type()) 
    { _M_t.insert_unique(__first, __last); }

  map(const_iterator __first, const_iterator __last, const _Compare& __comp,
      const allocator_type& __a = allocator_type())
    : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); }

#endif /* __STL_MEMBER_TEMPLATES */

  map(const map<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {}
  map<_Key,_Tp,_Compare,_Alloc>&
  operator=(const map<_Key, _Tp, _Compare, _Alloc>& __x)
  {
    _M_t = __x._M_t;
    return *this; 
  }

  // accessors:

  key_compare key_comp() const { return _M_t.key_comp(); }
  value_compare value_comp() const { return value_compare(_M_t.key_comp()); }
  allocator_type get_allocator() const { return _M_t.get_allocator(); }

  iterator begin() { return _M_t.begin(); }
  const_iterator begin() const { return _M_t.begin(); }
  iterator end() { return _M_t.end(); }
  const_iterator end() const { return _M_t.end(); }
  reverse_iterator rbegin() { return _M_t.rbegin(); }
  const_reverse_iterator rbegin() const { return _M_t.rbegin(); }
  reverse_iterator rend() { return _M_t.rend(); }
  const_reverse_iterator rend() const { return _M_t.rend(); }
  bool empty() const { return _M_t.empty(); }
  size_type size() const { return _M_t.size(); }
  size_type max_size() const { return _M_t.max_size(); }
  _Tp& operator[](const key_type& __k) {
    iterator __i = lower_bound(__k);
    // __i->first is greater than or equivalent to __k.
    if (__i == end() || key_comp()(__k, (*__i).first))
      __i = insert(__i, value_type(__k, _Tp()));
    return (*__i).second;
  }
  void swap(map<_Key,_Tp,_Compare,_Alloc>& __x) { _M_t.swap(__x._M_t); }

  // insert/erase

  pair<iterator,bool> insert(const value_type& __x) 
    { return _M_t.insert_unique(__x); }
  iterator insert(iterator position, const value_type& __x)
    { return _M_t.insert_unique(position, __x); }
#ifdef __STL_MEMBER_TEMPLATES
  template <class _InputIterator>
  void insert(_InputIterator __first, _InputIterator __last) {
    _M_t.insert_unique(__first, __last);
  }
#else
  void insert(const value_type* __first, const value_type* __last) {
    _M_t.insert_unique(__first, __last);
  }
  void insert(const_iterator __first, const_iterator __last) {
    _M_t.insert_unique(__first, __last);
  }
#endif /* __STL_MEMBER_TEMPLATES */

  void erase(iterator __position) { _M_t.erase(__position); }
  size_type erase(const key_type& __x) { return _M_t.erase(__x); }
  void erase(iterator __first, iterator __last)
    { _M_t.erase(__first, __last); }
  void clear() { _M_t.clear(); }

  // map operations:

  iterator find(const key_type& __x) { return _M_t.find(__x); }
  const_iterator find(const key_type& __x) const { return _M_t.find(__x); }
  size_type count(const key_type& __x) const { return _M_t.count(__x); }
  iterator lower_bound(const key_type& __x) {return _M_t.lower_bound(__x); }
  const_iterator lower_bound(const key_type& __x) const {
    return _M_t.lower_bound(__x); 
  }
  iterator upper_bound(const key_type& __x) {return _M_t.upper_bound(__x); }
  const_iterator upper_bound(const key_type& __x) const {
    return _M_t.upper_bound(__x); 
  }
  
  pair<iterator,iterator> equal_range(const key_type& __x) {
    return _M_t.equal_range(__x);
  }
  pair<const_iterator,const_iterator> equal_range(const key_type& __x) const {
    return _M_t.equal_range(__x);
  }

#ifdef __STL_MEMBER_TEMPLATES 
  template <class _K1, class _T1, class _C1, class _A1>
  friend bool operator== (const map<_K1, _T1, _C1, _A1>&,
                          const map<_K1, _T1, _C1, _A1>&);
  template <class _K1, class _T1, class _C1, class _A1>
  friend bool operator< (const map<_K1, _T1, _C1, _A1>&,
                         const map<_K1, _T1, _C1, _A1>&);
#else /* __STL_MEMBER_TEMPLATES */
  friend bool __STD_QUALIFIER
  operator== __STL_NULL_TMPL_ARGS (const map&, const map&);
  friend bool __STD_QUALIFIER
  operator< __STL_NULL_TMPL_ARGS (const map&, const map&);
#endif /* __STL_MEMBER_TEMPLATES */
};

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator==(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                       const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return __x._M_t == __y._M_t;
}

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator<(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                      const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return __x._M_t < __y._M_t;
}

#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator!=(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                       const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return !(__x == __y);
}

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator>(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                      const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return __y < __x;
}

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator<=(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                       const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return !(__y < __x);
}

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline bool operator>=(const map<_Key,_Tp,_Compare,_Alloc>& __x, 
                       const map<_Key,_Tp,_Compare,_Alloc>& __y) {
  return !(__x < __y);
}

template <class _Key, class _Tp, class _Compare, class _Alloc>
inline void swap(map<_Key,_Tp,_Compare,_Alloc>& __x, 
                 map<_Key,_Tp,_Compare,_Alloc>& __y) {
  __x.swap(__y);
}

#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

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

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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区高清| 裸体一区二区三区| 日韩视频一区二区三区| 99久久久国产精品免费蜜臀| 日本不卡免费在线视频| 亚洲情趣在线观看| 国产亲近乱来精品视频| 日韩一区二区免费高清| 色成年激情久久综合| 国产高清无密码一区二区三区| 午夜精品久久一牛影视| 尤物av一区二区| 中文字幕av一区 二区| 欧美精品一区二区三区很污很色的 | 在线观看欧美日本| 成人看片黄a免费看在线| 精品一区二区三区在线观看国产 | 国产在线观看一区二区| 中文字幕在线免费不卡| 丝袜亚洲另类欧美| 最新欧美精品一区二区三区| 久久婷婷成人综合色| 日韩免费看网站| 欧美裸体bbwbbwbbw| 欧美私人免费视频| 色婷婷一区二区| 99久久99久久精品国产片果冻| 国产成人a级片| 国产91精品入口| 国产高清不卡二三区| 国产老女人精品毛片久久| 蜜乳av一区二区| 美女国产一区二区| 捆绑紧缚一区二区三区视频| 免费在线看成人av| 另类中文字幕网| 国产一区二区中文字幕| 国产麻豆9l精品三级站| 国产呦萝稀缺另类资源| 国产成人在线视频播放| 欧美日韩国产精品自在自线| 精品一区中文字幕| 欧美一级日韩免费不卡| 欧美写真视频网站| 欧美日韩免费一区二区三区视频| 欧美三级资源在线| 国产精品国产三级国产专播品爱网| 国产午夜精品美女毛片视频| 日本一区二区三级电影在线观看 | 乱中年女人伦av一区二区| 日韩av一二三| 久久99热99| 国产伦精品一区二区三区免费| 精品亚洲成av人在线观看| 成人午夜电影小说| voyeur盗摄精品| 欧美私模裸体表演在线观看| 91精品国产综合久久国产大片| 91精品国产乱码久久蜜臀| 精品久久国产字幕高潮| 国产欧美一区视频| 亚洲精品第一国产综合野| 精品久久一区二区| 日韩视频免费观看高清完整版 | 国产精品乱码一区二区三区软件 | 日韩欧美国产小视频| 久久久久久久久一| 中文字幕一区av| 天天免费综合色| 国产一区二区三区国产| 波多野结衣在线一区| 欧美天天综合网| 26uuu色噜噜精品一区| 国产精品久久久久影院色老大 | 视频在线观看国产精品| 久久国产夜色精品鲁鲁99| www.色精品| 日韩丝袜美女视频| 中文字幕亚洲电影| 蜜臀av国产精品久久久久| 国产成人高清视频| 久久精品亚洲国产奇米99 | 久久精品夜色噜噜亚洲a∨| 国产精品色在线观看| 偷拍与自拍一区| 成人精品在线视频观看| 在线播放91灌醉迷j高跟美女| 久久久久久久久久久久久夜| 一区二区三区**美女毛片| 精品伊人久久久久7777人| 色呦呦一区二区三区| 久久久久久久av麻豆果冻| 亚洲va韩国va欧美va| 成人精品视频网站| 欧美一区二区大片| 亚洲美女电影在线| 国产成人av一区二区三区在线| 欧美三级日韩在线| 国产精品国产成人国产三级| 久久99精品国产麻豆婷婷洗澡| 色狠狠综合天天综合综合| 久久久激情视频| 秋霞电影一区二区| 欧美无人高清视频在线观看| 中文子幕无线码一区tr| 久久99久久精品| 欧美精三区欧美精三区| 亚洲精品国久久99热| 国产精品66部| 精品久久人人做人人爱| 天天av天天翘天天综合网 | 欧美大片在线观看一区二区| 一区二区久久久久| 99久久777色| 欧美国产在线观看| 精品伊人久久久久7777人| 欧美一区二区视频观看视频| 国产精品理论片在线观看| 国产揄拍国内精品对白| 国产一区二区毛片| 欧美美女直播网站| 亚洲午夜免费视频| 99久久777色| 国产一区二区91| 日韩天堂在线观看| 秋霞电影网一区二区| 91麻豆精品国产| 五月综合激情网| 911精品国产一区二区在线| 亚洲国产精品一区二区久久恐怖片| www.日韩大片| 亚洲免费av观看| 在线中文字幕不卡| 亚洲成av人片一区二区| 欧美日韩黄色影视| 全部av―极品视觉盛宴亚洲| 欧美一区二区成人6969| 麻豆精品在线视频| 日韩欧美第一区| 国产激情精品久久久第一区二区| 久久精品一区二区| 成人性生交大片| 亚洲日本va午夜在线影院| 欧日韩精品视频| 免费人成网站在线观看欧美高清| 日韩精品一区二区三区四区 | 激情久久久久久久久久久久久久久久| 日韩精品一区二区三区在线播放| 精品一区二区三区免费视频| 久久色在线观看| 99久久夜色精品国产网站| 亚洲一区二区精品久久av| 在线91免费看| 国产精品69久久久久水密桃| 国产精品久久久久久户外露出| 91极品美女在线| 美日韩黄色大片| 中文字幕欧美日韩一区| 亚洲欧美一区二区不卡| 中文字幕一区二区三中文字幕| 国产精品久久久久久亚洲伦 | 日日噜噜夜夜狠狠视频欧美人| 制服丝袜亚洲色图| 国产一区日韩二区欧美三区| 国产精品久久久久一区二区三区共| 91美女在线观看| 日韩精品三区四区| 中文字幕欧美日本乱码一线二线| 色综合久久综合网| 美女视频黄 久久| 国产精品久久久久aaaa| 欧美日韩精品福利| 日韩精品中文字幕一区二区三区| 福利一区在线观看| 亚洲国产一二三| 久久精品视频一区二区三区| 91网站在线播放| 极品美女销魂一区二区三区| 18成人在线观看| 欧美mv和日韩mv的网站| 99国产一区二区三精品乱码| 美女视频免费一区| 亚洲男同性恋视频| 久久网这里都是精品| 欧美亚洲动漫精品| 国产精品一区二区果冻传媒| 亚洲国产成人av网| 亚洲国产成人在线| 日韩理论片一区二区| 午夜精品在线视频一区| 国产一区亚洲一区| 久久色在线观看| 欧美日韩aaaaa| 99久久精品免费看国产| 精久久久久久久久久久| 亚洲一区二区精品视频| 中文字幕一区二区三| 久久婷婷久久一区二区三区| 欧美精品第1页| 在线一区二区视频|