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

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

?? stl_vec_iterator.h

?? 粗慥集成算法集合 ,并有詳細(xì)的文檔資料和測(cè)試數(shù)據(jù)處
?? H
字號(hào):
/*
 *
 * 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.
 *
 */

#ifndef __STLPORT_VEC_ITERATOR_H
# define __STLPORT_VEC_ITERATOR_H

#ifdef __STL_DEBUG

// _Vec_iter is being used by both vector and string


# if defined ( __STL_USE_ABBREVS )
#  define  _Vec_iter       _V__It
# endif


__STL_BEGIN_NAMESPACE
//============================================================

template <class _Tp>
bool __Vec_dereferenceable(const __owned_link& __that, const  _Tp* __ptr) {
    __stl_verbose_return(__that._Valid(), _StlMsg_INVALID_ITERATOR);
    _Tp* const * __start = (_Tp* const *)(__that._Owner()->_Owner());
    __stl_verbose_return((__ptr < *(__start+1)) && 
                         (__ptr >= *__start),
                          _StlMsg_NOT_DEREFERENCEABLE);    
    return true;
}

template <class _Tp>
bool __Vec_nonsingular(const __owned_link& __that, const  _Tp* __ptr) {
  __stl_verbose_return(__that._Valid(), _StlMsg_INVALID_ITERATOR);
  _Tp* const * __start = (_Tp* const *)(__that._Owner()->_Owner());
  __stl_verbose_return((__ptr <= *(__start+1)) && 
		       (__ptr >= *__start),
		       _StlMsg_SINGULAR_ITERATOR);    
    return true;
}

template <class _Tp, class _Traits>
struct _Vec_iter;

template <class _Tp, class _Traits>
struct _Vec_iter : public __owned_link {
public:
  typedef _Tp value_type;
  typedef typename _Traits::reference  reference;
  typedef typename _Traits::pointer    pointer;
  typedef ptrdiff_t difference_type;
  typedef random_access_iterator_tag iterator_category;
  pointer _M_iterator;
private:
  typedef _Vec_iter<_Tp, _Traits> _Self;
  typedef _Vec_iter<_Tp, _Nonconst_traits<_Tp> > _Nonconst_self;
  typedef _Vec_iter<_Tp, _Const_traits<_Tp> > _Const_self;
public:

  _Vec_iter() : __owned_link(0)  {}
  _Vec_iter(const __owned_list* __c, pointer __it) :
    __owned_link(__c), _M_iterator(__it) {}
  _Vec_iter(const _Nonconst_self& __it) :
    __owned_link(__it), _M_iterator(__it._M_iterator) {}
  ~_Vec_iter() {}
  reference operator*() const {
    __stl_debug_check(__Vec_dereferenceable(*this,_M_iterator));
    return *_M_iterator;
  }

  __STL_DEFINE_ARROW_OPERATOR
  
  _Self& operator++() {
    ++_M_iterator;
    __stl_debug_check(__Vec_nonsingular(*this,_M_iterator));
    return *this;
  }
  _Self operator++(int) {
    _Self __tmp = *this;
    ++_M_iterator;
    return __tmp;
  }
  _Self& operator--() {
    --_M_iterator;
    __stl_debug_check(__Vec_nonsingular(*this,_M_iterator));
    return *this;
  }
  _Self operator--(int) {
    _Self __tmp = *this;
    --_M_iterator;
    return __tmp;
  }
  difference_type operator-(const _Self& __y ) const {
    __stl_debug_check(__check_same_owner(*this, __y));
    return _M_iterator-__y._M_iterator;
  }
  _Self& operator+=(difference_type __n) {
    _M_iterator+=__n;
    __stl_debug_check(__Vec_nonsingular(*this,_M_iterator));
    return *this;
  }
  _Self& operator-=(difference_type __n) {
    return *this+=-__n;
  }
  _Self operator+(difference_type __n) const {
    _Self __tmp(*this);
    return __tmp += __n;
  }
  _Self operator-(difference_type __n) const {
    _Self __tmp(*this);
    return __tmp -= __n;
  }
  reference operator[](difference_type __n) const { return *(*this + __n); }
};

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator==(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
  __stl_debug_check(__check_same_owner_or_null(__x, __y));
  return __x._M_iterator==__y._M_iterator;
}

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator<(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
  __stl_debug_check(__check_same_owner(__x, __y));
  return __x._M_iterator < __y._M_iterator;
}

#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator!=(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
  __stl_debug_check(__check_same_owner_or_null(__x, __y));
  return __x._M_iterator!=__y._M_iterator;
}

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator>(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
  return __y < __x;
}

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator>=(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
    return !(__x < __y);
}

template <class _Tp, class _Traits, class _Traits1>
inline bool 
operator<=(const _Vec_iter<_Tp, _Traits>& __x, const _Vec_iter<_Tp, _Traits1>& __y) {
    return !(__y < __x);
}

#else

template <class _Tp>
inline bool 
operator>(const _Vec_iter<_Tp, _Const_traits<_Tp> >& __x,
	  const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __y) { 
    return __y < __x;
}
template <class _Tp>
inline bool operator>=(const _Vec_iter<_Tp, _Const_traits<_Tp> >& __x,
		       const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __y) { 
    return !(__x < __y);
}
template <class _Tp>
inline bool operator<=(const _Vec_iter<_Tp, _Const_traits<_Tp> >& __x,
		       const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __y) { 
    return !(__y < __x);
}


template <class _Tp>
inline bool 
operator>(const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __x,
	  const _Vec_iter<_Tp, _Const_traits<_Tp> >& __y) { 
    return __y < __x;
}
template <class _Tp>
inline bool operator>=(const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __x,
		       const _Vec_iter<_Tp, _Const_traits<_Tp> >& __y) { 
    return !(__x < __y);
}
template <class _Tp>
inline bool operator<=(const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __x,
		       const _Vec_iter<_Tp, _Const_traits<_Tp> >& __y) { 
    return !(__y < __x);
}

template <class _Tp>
inline bool 
operator!=(const _Vec_iter<_Tp, _Const_traits<_Tp> >& __x, 
	   const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __y) {
  __stl_debug_check(__check_same_owner_or_null(__x, __y));
  return __x._M_iterator==__y._M_iterator;
}

template <class _Tp>
inline bool 
operator!=(const _Vec_iter<_Tp, _Nonconst_traits<_Tp> >& __x, 
	   const _Vec_iter<_Tp, _Const_traits<_Tp> >& __y) {
  __stl_debug_check(__check_same_owner_or_null(__x, __y));
  return __x._M_iterator==__y._M_iterator;
}
#endif

template <class _Tp, class _Traits>
inline _Vec_iter<_Tp, _Traits> 
operator+(ptrdiff_t __n, const _Vec_iter<_Tp, _Traits>& __it) {
    _Vec_iter<_Tp, _Traits> __tmp(__it);
    return __tmp += __n;
}

#  if !defined (__STL_CLASS_PARTIAL_SPECIALIZATION)

template <class _Tp, class _Traits>
inline _Tp *
value_type(const _Vec_iter<_Tp, _Traits>&) { 
  return (_Tp*)0; 
}

template <class _Tp, class _Traits>
inline ptrdiff_t* distance_type(const  _Vec_iter<_Tp, _Traits>&) { return (ptrdiff_t*) 0; }

template <class _Tp, class _Traits>
inline random_access_iterator_tag iterator_category(const _Vec_iter<_Tp, _Traits>&) { 
    return random_access_iterator_tag();
}
#  endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

__STL_END_NAMESPACE

# endif /* __STL_DEBUG */

#endif /* INTERNAL_H */

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产呦精品一区二区三区网站| 国产风韵犹存在线视精品| 看国产成人h片视频| 成人性视频网站| 欧美久久久久久久久| 久久美女艺术照精彩视频福利播放| 国产精品成人免费| 日本不卡的三区四区五区| 色综合天天综合网国产成人综合天 | 成人网在线播放| 欧美日韩中文字幕一区| 国产日韩影视精品| 日本午夜一区二区| 色综合久久久久网| 国产三级久久久| 美脚の诱脚舐め脚责91 | 2021中文字幕一区亚洲| 性久久久久久久| 91在线码无精品| 国产日韩欧美在线一区| 美女脱光内衣内裤视频久久网站 | 91在线porny国产在线看| 精品美女一区二区三区| 日韩中文字幕区一区有砖一区 | 1024精品合集| 风间由美一区二区三区在线观看| 91精品国产麻豆国产自产在线| 一区二区三区四区视频精品免费| 国产999精品久久| 久久综合久久99| 久久精品国产澳门| 欧美一区二区免费观在线| 亚洲制服丝袜av| 91久久精品一区二区三区| 一区在线观看视频| 一本大道久久a久久精二百| 国产精品久久久久影院| 波多野洁衣一区| 亚洲欧洲www| 91小宝寻花一区二区三区| 久久精品综合网| 国产成都精品91一区二区三| 久久久精品欧美丰满| 国产成人精品亚洲777人妖| 久久精品夜夜夜夜久久| 国产高清成人在线| 亚洲欧洲日韩在线| 91豆麻精品91久久久久久| 亚洲成人免费在线观看| 7777女厕盗摄久久久| 日韩成人免费在线| 精品国产伦一区二区三区观看方式 | 色就色 综合激情| 亚洲国产sm捆绑调教视频| 欧美男人的天堂一二区| 日韩在线卡一卡二| 久久众筹精品私拍模特| 成人性视频网站| 亚洲高清三级视频| 日韩精品一区二区在线观看| 国产一区二区三区久久久 | 青青国产91久久久久久| 久久久91精品国产一区二区三区| 成人一区二区三区视频| 亚洲国产一二三| 精品日本一线二线三线不卡| 高清成人免费视频| 午夜av一区二区三区| 精品国产精品网麻豆系列| caoporn国产精品| 五月综合激情网| 国产精品美女一区二区三区| 在线观看区一区二| 国产剧情av麻豆香蕉精品| 一区二区三区四区视频精品免费 | 亚洲一区国产视频| 精品免费99久久| 日本乱人伦一区| 极品瑜伽女神91| 一区二区欧美精品| 久久精品视频一区| 91精品国产综合久久精品| 成人性生交大片| 男女激情视频一区| 亚洲免费毛片网站| 精品福利在线导航| 欧美日韩国产综合一区二区| 成人免费av资源| 日本成人中文字幕在线视频| 国产精品美女久久久久aⅴ | 欧美性欧美巨大黑白大战| 国产精品性做久久久久久| 亚洲成av人影院在线观看网| 国产精品沙发午睡系列990531| 91精品国产欧美一区二区成人| 色久优优欧美色久优优| 国产成人在线电影| 精品无码三级在线观看视频| 午夜久久电影网| 亚洲三级久久久| 中文字幕+乱码+中文字幕一区| 日韩小视频在线观看专区| 欧美亚洲综合另类| av在线这里只有精品| 国产成人av一区二区三区在线观看| 男男视频亚洲欧美| 日韩高清一级片| 亚洲国产人成综合网站| 亚洲精品中文字幕在线观看| 国产欧美在线观看一区| 久久久久久久免费视频了| 日韩欧美中文一区二区| 7777精品伊人久久久大香线蕉 | 一区二区三区四区在线播放 | 亚洲福利视频一区| 亚洲欧美国产77777| 日韩毛片高清在线播放| 国产精品国产三级国产有无不卡| 亚洲国产精品精华液2区45| 久久久亚洲午夜电影| 久久综合九色综合97_久久久| 日韩一级成人av| 日韩欧美三级在线| 26uuu亚洲综合色| 精品国一区二区三区| 久久综合av免费| 欧美国产激情二区三区| 中文字幕一区二区三区在线播放| 国产精品情趣视频| 一区二区三区免费在线观看| 亚洲午夜久久久久久久久久久| 亚洲国产日韩综合久久精品| 偷窥少妇高潮呻吟av久久免费| 日韩国产欧美视频| 国产一区二区看久久| 国产盗摄一区二区三区| av不卡免费在线观看| 欧美系列日韩一区| 精品久久五月天| 中文一区在线播放| 亚洲制服丝袜av| 麻豆国产一区二区| 成人av午夜电影| 欧美午夜一区二区三区免费大片| 欧美高清视频不卡网| 久久精品亚洲精品国产欧美kt∨| 136国产福利精品导航| 婷婷综合五月天| 国产盗摄一区二区三区| 欧洲另类一二三四区| 欧美变态口味重另类| 国产精品久久久久久久久免费丝袜 | 欧美在线观看视频一区二区 | 成人免费毛片高清视频| 欧美丝袜第三区| 2020国产精品自拍| 亚洲另类在线视频| 韩国精品主播一区二区在线观看 | 亚洲观看高清完整版在线观看| 九一九一国产精品| 色一情一乱一乱一91av| 精品久久久久99| 亚洲精品高清视频在线观看| 久草中文综合在线| 91色.com| www国产精品av| 亚洲第一在线综合网站| 国产91富婆露脸刺激对白 | 91在线码无精品| 精品国产免费久久| 亚洲午夜久久久久久久久久久| 国产一区二区三区四区五区入口 | 99热99精品| 2020国产精品久久精品美国| 一级日本不卡的影视| 国产精品系列在线观看| 91精品在线一区二区| 亚洲精品国产a久久久久久| 国产激情一区二区三区| 51精品秘密在线观看| 亚洲综合色自拍一区| 成人午夜碰碰视频| 久久久久久亚洲综合| 蜜桃久久久久久久| 欧美区一区二区三区| 一区二区欧美在线观看| 99久久99久久久精品齐齐| 欧美精品一区二区高清在线观看| 亚洲香肠在线观看| 91麻豆精品秘密| 中文字幕在线观看不卡| 国产不卡在线一区| 国产欧美一区二区精品久导航| 美国毛片一区二区三区| 欧美日韩精品一区视频| 午夜精品一区在线观看| 色婷婷综合中文久久一本| 亚洲精品亚洲人成人网| 91蜜桃婷婷狠狠久久综合9色| 中文字幕精品三区|