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

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

?? stl_alloc.h

?? 粗慥集成算法集合 ,并有詳細的文檔資料和測試數據處
?? H
?? 第 1 頁 / 共 3 頁
字號:


// Comparison operators for all of the predifined SGI-style allocators.
// This ensures that __allocator<malloc_alloc> (for example) will
// work correctly.

#ifndef __STL_NON_TYPE_TMPL_PARAM_BUG
template <int inst>
inline bool operator==(const __malloc_alloc<inst>&,
                       const __malloc_alloc<inst>&)
{
  return true;
}

#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER
template <int __inst>
inline bool operator!=(const __malloc_alloc<__inst>&,
                       const __malloc_alloc<__inst>&)
{
  return false;
}
#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

template <bool __threads, int __inst>
inline bool operator==(const __node_alloc<__threads, __inst>&,
                       const __node_alloc<__threads, __inst>&)
{
  return true;
}

#if defined( __STL_FUNCTION_TMPL_PARTIAL_ORDER )

template <bool __threads, int __inst>
inline bool operator!=(const __node_alloc<__threads, __inst>&,
                       const __node_alloc<__threads, __inst>&)
{
  return false;
}
#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

#endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */

# ifdef __STL_DEBUG_ALLOC

template <class _Alloc>
inline bool operator==(const __debug_alloc<_Alloc>&,
                       const __debug_alloc<_Alloc>&) {
  return true;
}

#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE
template <class _Alloc>
inline bool operator!=(const __debug_alloc<_Alloc>&,
                       const __debug_alloc<_Alloc>&) {
  return false;
}
#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

#endif /* __STL_DEBUG_ALLOC */

// Another allocator adaptor: _Alloc_traits.  This serves two
// purposes.  First, make it possible to write containers that can use
// either SGI-style allocators or standard-conforming allocator.
// Second, provide a mechanism so that containers can query whether or
// not the allocator has distinct instances.  If not, the container
// can avoid wasting a word of memory to store an empty object.

// This adaptor uses partial specialization.  The general case of
// _Alloc_traits<_Tp, _Alloc> assumes that _Alloc is a
// standard-conforming allocator, possibly with non-equal instances
// and non-static members.  (It still behaves correctly even if _Alloc
// has static member and if all instances are equal.  Refinements
// affect performance, not correctness.)

// The fully general version.

// fbp: _S_instanceless is unused in STLport
// _Alloc_type is always being used to do allocation/deallocation
// allocator_type is the type being converted to _Allocator when returned
// from Container::get_allocator, unless it is NOT a raw alloc, in which case
// __get_alloc will return __allocator

template <class _Tp, class _Allocator>
struct _Alloc_traits
{
# if defined (__STL_MEMBER_TEMPLATE_CLASSES) 
  typedef typename _Allocator::__STL_TEMPLATE rebind<_Tp> _Rebind_type;
  typedef typename _Rebind_type::other  allocator_type;
# else
  // this is not actually true, used only to pass this type through
  // to dynamic overload selection in _STL_alloc_proxy methods
  typedef _Allocator allocator_type;
# endif
};


#if defined (__STL_CLASS_PARTIAL_SPECIALIZATION)
// The version for the default allocator.

template <class _Tp, class _Tp1>
struct _Alloc_traits<_Tp, allocator<_Tp1> > {
  typedef allocator<_Tp> allocator_type;
};

// Versions for the predefined SGI-style allocators.

template <class _Tp, int __inst>
struct _Alloc_traits<_Tp, __malloc_alloc<__inst> > {
  typedef __allocator<_Tp, __malloc_alloc<__inst> > allocator_type;
};


template <class _Tp, bool __threads, int __inst>
struct _Alloc_traits<_Tp, __node_alloc<__threads, __inst> > {
  typedef __allocator<_Tp, __node_alloc<__threads, __inst> > 
          allocator_type;
};

# ifdef __STL_DEBUG_ALLOC
template <class _Tp, class _Alloc>
struct _Alloc_traits<_Tp, __debug_alloc<_Alloc> > {
  typedef __allocator<_Tp, __debug_alloc<_Alloc> > allocator_type;
};

# endif

// Versions for the __allocator adaptor used with the predefined
// SGI-style allocators.

template <class _Tp, class _Tp1, class _Alloc>
struct _Alloc_traits<_Tp, __allocator<_Tp1, _Alloc > > {
  typedef __allocator<_Tp, _Alloc > allocator_type;
};

#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

// this extension is used only for Apple workaround now
template <class _All>
struct _STL_factory {
  static _All _Instance() { return _All(); }
};

#if defined (__STL_MEMBER_TEMPLATE_CLASSES) 

// __a may be not rebound, return different type
template <class _Tp, class _Alloc>
inline __STL_TYPENAME_ON_RETURN_TYPE _Alloc_traits<_Tp, _Alloc>::allocator_type
__stl_alloc_create(const _Alloc& __a, const _Tp*) {
  typedef _Alloc_traits<_Tp, _Alloc>::allocator_type _Rebound_type;
  return _Rebound_type(__a);
}

#else

// Versions for the predefined SGI-style allocators.

template <class _Tp>
inline __allocator<_Tp, __new_alloc >
__stl_alloc_create(const __new_alloc&, const _Tp*) {
  return __allocator<_Tp, __new_alloc >();
}
template <class _Tp>
inline __allocator<_Tp, __new_alloc >&
__stl_alloc_rebind(__new_alloc& __a, const _Tp*) {
  return (__allocator<_Tp, __new_alloc >&)__a;
}

#  if defined (__STL_DEBUG_ALLOC)
template <class _Tp, class _Alloc>
inline __allocator<_Tp, __debug_alloc<_Alloc> >
__stl_alloc_create(const __debug_alloc<_Alloc>&, const _Tp*) {
  return __allocator<_Tp, __debug_alloc<_Alloc> >();
}
template <class _Tp, class _Alloc>
inline __allocator<_Tp, __debug_alloc<_Alloc> >&
__stl_alloc_rebind(__debug_alloc<_Alloc>& __a, const _Tp*) {
  return (__allocator<_Tp, __debug_alloc<_Alloc> >&)__a;
}
#  endif

# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG)

template <class _Tp>
inline __allocator<_Tp, __malloc_alloc<0> >&
__stl_alloc_rebind(__malloc_alloc<0>& __a, const _Tp*) {
  return (__allocator<_Tp, __malloc_alloc<0> >&)__a;
}

template <class _Tp>
inline __allocator<_Tp, __node_alloc<false, 0> >&
__stl_alloc_rebind(__node_alloc<false, 0>& __a, const _Tp*) {
  return (__allocator<_Tp, __node_alloc<false, 0> >&)__a;
}

template <class _Tp>
inline __allocator<_Tp, __node_alloc<true,0> >&
__stl_alloc_rebind(__node_alloc<true,0>& __a, const _Tp*) {
  return (__allocator<_Tp, __node_alloc<true,0> >&)__a;
}

template <class _Tp>
inline __allocator<_Tp, __malloc_alloc<0> >
__stl_alloc_create(const __malloc_alloc<0>&, const _Tp*) {
  return __allocator<_Tp, __malloc_alloc<0> > ();
}

template <class _Tp>
inline __allocator<_Tp, __node_alloc<false, 0> >
__stl_alloc_create(const __node_alloc<false, 0>&, const _Tp*) {
  return __allocator<_Tp, __node_alloc<false, 0> >();
}

template <class _Tp>
inline __allocator<_Tp, __node_alloc<true,0> >
__stl_alloc_create(const __node_alloc<true,0>&, const _Tp*) {
  return __allocator<_Tp, __node_alloc<true,0> >();
}

# else

template <class _Tp, int __inst>
inline __allocator<_Tp, __malloc_alloc<__inst> >&
__stl_alloc_rebind(__malloc_alloc<__inst>& __a, const _Tp*) {
  return (__allocator<_Tp, __malloc_alloc<__inst> >&)__a;
}

template <class _Tp, bool __threads, int __inst>
inline __allocator<_Tp, __node_alloc<__threads, __inst> >&
__stl_alloc_rebind(__node_alloc<__threads, __inst>& __a, const _Tp*) {
  return (__allocator<_Tp, __node_alloc<__threads, __inst> >&)__a;
}

template <class _Tp, int __inst>
inline __allocator<_Tp, __malloc_alloc<__inst> >
__stl_alloc_create(const __malloc_alloc<__inst>&, const _Tp*) {
  return __allocator<_Tp, __malloc_alloc<__inst> >();
}

template <class _Tp, bool __threads, int __inst>
inline __allocator<_Tp, __node_alloc<__threads, __inst> >
__stl_alloc_create(const __node_alloc<__threads, __inst>&, const _Tp*) {
  return __allocator<_Tp, __node_alloc<__threads, __inst> >();
}

# endif

// If custom allocators are being used without member template classes support :
// user (on purpose) is forced to define rebind/get operations !!!

template <class _Tp1, class _Tp2>
inline allocator<_Tp2>&
__stl_alloc_rebind(allocator<_Tp1>& __a, const _Tp2*) {
  return (allocator<_Tp2>&)(__a);
}

template <class _Tp1, class _Alloc, class _Tp2>
inline __allocator<_Tp2, _Alloc>&
__stl_alloc_rebind(__allocator<_Tp1, _Alloc>& __a, const _Tp2*) {
  return (__allocator<_Tp2, _Alloc>&)__a;
}

template <class _Tp1, class _Tp2>
inline allocator<_Tp2>
__stl_alloc_create(const allocator<_Tp1>&, const _Tp2*) {
  return allocator<_Tp2>();
}

template <class _Tp1, class _Alloc, class _Tp2>
inline __allocator<_Tp2, _Alloc>
__stl_alloc_create(const __allocator<_Tp1, _Alloc>&, const _Tp2*) {
  return __allocator<_Tp2, _Alloc>();
}

#endif

// inheritance is being used for empty base
// class optimization
template <class _Value, class _Tp, class _MaybeReboundAlloc>
class _STL_alloc_proxy : public _MaybeReboundAlloc {
private:
  typedef _MaybeReboundAlloc _Base;
  typedef _STL_alloc_proxy<_Value, _Tp, _MaybeReboundAlloc> _Self;
public:
  _Value _M_data;
  // construction/destruction
  _STL_alloc_proxy(const _Self& __x) : _MaybeReboundAlloc(__x), _M_data(__x._M_data) {} 
  _STL_alloc_proxy(const _MaybeReboundAlloc& __a, const _Value& __p) : _MaybeReboundAlloc(__a), 
    _M_data(__p) {}
  _Self& operator = (const _Self& __x) { _M_data = __x._M_data; return *this; } 
  //  _Self& operator = (const _Value& __x) { _M_data = __x; return *this; } 
  _Self& operator = (const _Base& __x) { ((_Base&)*this) = __x; return *this; } 
  //  operator _Value() const { return _M_data; } 
  
  // Unified interface to perform allocate()/deallocate() with limited
  // language support
#if defined (__STL_MEMBER_TEMPLATE_CLASSES)
# ifdef __BORLANDC__
  _Tp* allocate(size_t __n) { 
    return _Base::allocate(__n);
  }
# else
  __STL_USING_BASE_MEMBER _MaybeReboundAlloc::allocate;
# endif
#else
  // else it is rebound already, and allocate() member is accessible
  _Tp* allocate(size_t __n) { 
    return __stl_alloc_rebind(__STATIC_CAST(_Base&,*this),(_Tp*)0).allocate(__n); 
  }
  void deallocate(_Tp* __p, size_t __n) { 
    __stl_alloc_rebind(__STATIC_CAST(_Base&, *this),(_Tp*)0).deallocate(__p, __n); 
  }
#endif
};

__STL_END_NAMESPACE

# undef _S_FREELIST_INDEX

#if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32)
#pragma reset woff 1174
#endif
#if defined(__IBMCPP__)
#pragma info(restore)
#endif


# if !defined (__STL_LINK_TIME_INSTANTIATION)
#  include <stl_alloc.c>
# endif

#endif /* __SGI_STL_INTERNAL_ALLOC_H */

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产精华| 欧美96一区二区免费视频| 欧美午夜视频网站| 成人午夜电影小说| 成人精品高清在线| 日本aⅴ亚洲精品中文乱码| 久久美女艺术照精彩视频福利播放| 欧美综合欧美视频| 91蝌蚪porny| 不卡欧美aaaaa| 国产精品自拍一区| 韩国午夜理伦三级不卡影院| 婷婷丁香久久五月婷婷| 一区二区三区欧美日| 国产精品久久久爽爽爽麻豆色哟哟 | 国产a区久久久| 国产乱码精品1区2区3区| 日韩成人一区二区三区在线观看| 国产精品入口麻豆原神| 国产欧美日韩久久| 国产午夜亚洲精品理论片色戒 | 日韩三级伦理片妻子的秘密按摩| 欧美在线观看一二区| 丰满岳乱妇一区二区三区| 高清国产一区二区三区| 成人午夜伦理影院| 色婷婷一区二区| 欧美日韩国产一区二区三区地区| 欧美性大战久久久久久久| 911精品国产一区二区在线| 国产精品免费人成网站| 亚洲天堂精品在线观看| 亚洲成av人影院| 奇米888四色在线精品| 韩日精品视频一区| 国产99久久精品| 在线亚洲一区观看| 91精品欧美福利在线观看| 日韩久久久久久| 久久综合久久99| 国产欧美日韩视频一区二区| 亚洲免费观看高清完整版在线观看| 亚洲精品国久久99热| 视频一区二区三区入口| 韩国三级在线一区| 色综合婷婷久久| 欧美mv日韩mv国产网站app| 国产精品入口麻豆原神| 亚洲午夜在线观看视频在线| 久久不见久久见免费视频1| 成人av动漫网站| 日韩亚洲欧美一区| 日韩一区在线播放| 麻豆久久一区二区| 91在线看国产| 久久亚洲精华国产精华液 | 亚洲国产精品成人综合色在线婷婷| 国产精品视频麻豆| 日韩成人伦理电影在线观看| 成人午夜免费av| 欧美一区二区视频在线观看2020 | 日韩精品资源二区在线| 18欧美乱大交hd1984| 奇米精品一区二区三区在线观看| caoporm超碰国产精品| 日韩欧美国产精品一区| 亚洲精品中文字幕乱码三区 | 一区二区三区中文字幕精品精品| 精品一区二区三区欧美| 欧美午夜精品电影| 中文字幕日韩一区二区| 激情文学综合插| 91免费看片在线观看| 337p日本欧洲亚洲大胆色噜噜| 亚洲一区二区三区四区五区黄 | 日本va欧美va欧美va精品| 国产精品香蕉一区二区三区| 欧美人牲a欧美精品| 综合久久久久久| 风间由美一区二区av101| 26uuu欧美| 国产综合色视频| 日韩一区二区免费高清| 亚洲成在人线免费| 欧美性感一区二区三区| 国产精品久久久久久久久免费丝袜| 久久爱www久久做| 日韩欧美一区在线| 日本不卡的三区四区五区| 欧美日韩免费观看一区三区| 亚洲精品欧美二区三区中文字幕| a级精品国产片在线观看| 国产蜜臀97一区二区三区| 国产91综合网| 亚洲男同性恋视频| 色婷婷av一区二区三区之一色屋| 日韩伦理电影网| 99re成人精品视频| 亚洲男人的天堂av| 一本大道av伊人久久综合| 国产美女精品人人做人人爽| 精品久久久久久久久久久院品网 | 日韩精品一区二区三区老鸭窝| 婷婷成人激情在线网| 欧美一区二区三区爱爱| 久久99精品一区二区三区三区| 欧美tickling挠脚心丨vk| 国产精品自拍在线| 亚洲美腿欧美偷拍| 欧美丝袜丝交足nylons图片| 亚洲成人一区在线| 精品少妇一区二区三区免费观看| 激情文学综合丁香| 国产精品乱人伦| 欧美日韩免费观看一区二区三区| 蜜臀a∨国产成人精品| 久久久激情视频| 9人人澡人人爽人人精品| 日韩三级中文字幕| 国产黄色91视频| 一区二区三区四区高清精品免费观看| 欧美日韩国产在线播放网站| 久草精品在线观看| 中文久久乱码一区二区| 91福利精品第一导航| 免费成人性网站| 亚洲乱码中文字幕| 精品国产区一区| 成人精品免费看| 国产综合色精品一区二区三区| 亚洲成av人在线观看| 亚洲欧美色综合| 免费观看成人鲁鲁鲁鲁鲁视频| 中文字幕一区二区三区在线观看 | 亚洲精品一区二区三区影院| 欧洲一区在线电影| 91一区一区三区| 成人app网站| 国产成人亚洲综合a∨婷婷图片| 水野朝阳av一区二区三区| 亚洲国产美女搞黄色| 亚洲精品国产精华液| 国产精品狼人久久影院观看方式| www国产成人| 久久综合资源网| 国产亚洲欧美在线| 欧美岛国在线观看| 精品久久久久久久一区二区蜜臀| 欧美一区二区三区系列电影| 欧美蜜桃一区二区三区| 欧美色精品在线视频| 日本韩国欧美一区二区三区| 91碰在线视频| 色婷婷综合久久| 欧美日韩三级视频| 69堂成人精品免费视频| 欧美人xxxx| 精品日韩欧美一区二区| 欧美一区二区观看视频| 精品国产伦一区二区三区观看体验| 91精品欧美久久久久久动漫| 欧美一级精品大片| 26uuu欧美日本| 国产精品污网站| 亚洲丝袜美腿综合| 亚洲成精国产精品女| 午夜精品久久久久久久蜜桃app| 天堂va蜜桃一区二区三区漫画版| 偷偷要91色婷婷| 美国十次综合导航| 国产成人午夜精品影院观看视频| 国产精品一区二区在线观看网站| 国产福利91精品一区| 波多野结衣亚洲一区| 欧洲色大大久久| 欧美一级爆毛片| 国产精品不卡在线观看| 亚洲第一二三四区| 激情综合色丁香一区二区| 成人动漫一区二区在线| 欧美久久高跟鞋激| 欧美激情艳妇裸体舞| 亚洲高清不卡在线| 国产一区二区三区日韩| 91久久精品一区二区三区| 欧美一区二区三区在线看| 欧美极品美女视频| 日韩av在线发布| 99这里只有精品| 91精品国产色综合久久不卡蜜臀| 国产亚洲欧洲一区高清在线观看| 亚洲黄色录像片| 国产伦理精品不卡| 欧美精品一二三四| 中文字幕亚洲综合久久菠萝蜜| 亚洲va欧美va人人爽| 成人h精品动漫一区二区三区| 欧美日本在线观看| 亚洲欧美aⅴ...| 大胆欧美人体老妇|