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

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

?? deque

?? opal的ptlib c++源程序 可以從官方網(wǎng)站上下載
??
?? 第 1 頁 / 共 2 頁
字號(hào):
// deque standard header

/* This file is for use only in conjunction with a valid license for
Microsoft Visual C++ V5.0 or V6.0. Microsoft Corporation is in no way
involved with the production or release of this file. The file is
offered on an ``as is'' basis.

DINKUMWARE, LTD. AND P.J. PLAUGER MAKE NO REPRESENTATIONS OR WARRANTIES
ABOUT THE SUITABILITY OF THIS FILES, EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. DINKUMWARE, LTD.
AND P.J. PLAUGER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
LICENSEE AS A RESULT OF USING THIS FILE.

For additional information, contact Dinkumware, Ltd. (+1-888-4DINKUM or
support@dinkumware.com).

Version date: 18 October 1999
	replace 02 July 1999/11 August 1998 version with latest
	to fix several allocation and iterator comparison errors
 */

#if 1000 < _MSC_VER /*IFSTRIP=IGN*/
#pragma once
#endif

#ifndef _DEQUE_
#define _DEQUE_
#include <iterator>
#include <memory>
#include <stdexcept>

#ifdef  _MSC_VER
#pragma pack(push,8)
#endif  /* _MSC_VER */
#if 1200 <= _MSC_VER
#pragma warning(push,3)
#endif
 #pragma warning(disable:4284)
_STD_BEGIN
#define _DEQUEMAPSIZ	8	/* at least 1 */
#define _DEQUESIZ (4096 < sizeof (_Ty) ? \
	1 : 4096 / sizeof (_Ty))

		// TEMPLATE CLASS _Deque_val
template<class _Ty, class _A>
	class _Deque_val {
protected:
	_Deque_val(_A _Al = _A())
		: _Alval(_Al) {}
	typedef _A _Alty;
	_Alty _Alval;
	};

		// TEMPLATE CLASS deque
template<class _Ty, class _Ax = allocator<_Ty> >
	class deque
		: public _Deque_val<_Ty, _Ax> {
public:
	typedef deque<_Ty, _Ax> _Myt;
	typedef _Deque_val<_Ty, _Ax> _Mybase;
	typedef typename _Mybase::_Alty _A;
	typedef _A allocator_type;
	typedef typename _A::size_type size_type;
	typedef typename _A::difference_type _Dift;
	typedef _Dift difference_type;
	typedef typename _A::pointer _Tptr;
	typedef typename _A::const_pointer _Ctptr;
	typedef _Tptr pointer;
	typedef _Ctptr const_pointer;
	typedef _POINTER_X(_Tptr, _A) _Mapptr;
	typedef typename _A::reference _Reft;
	typedef _Tptr pointer;
	typedef _Ctptr const_pointer;
	typedef _Reft reference;
	typedef typename _A::const_reference const_reference;
	typedef typename _A::value_type value_type;

		// CLASS iterator
	class iterator;
	friend class iterator;
	class iterator : public _Ranit<_Ty, _Dift> {
	public:
		typedef random_access_iterator_tag iterator_category;
		typedef _Ty value_type;
		typedef _Dift difference_type;
		typedef _Tptr pointer;
		typedef _Reft reference;
		iterator()
			: _Idx(0), _Deque(0)
			{}
		iterator(difference_type _I, const deque<_Ty, _A> *_P)
			: _Idx(_I), _Deque(_P)
			{}
		reference operator*() const
			{size_type _Block = _Idx / _DEQUESIZ;
			size_type _Off = _Idx - _Block * _DEQUESIZ;
			if (_Deque->_Mapsize <= _Block)
				_Block -= _Deque->_Mapsize;
			return ((_Deque->_Map)[_Block][_Off]); }
		_Tptr operator->() const
			{return (&**this); }
		iterator& operator++()
			{++_Idx;
			return (*this); }
		iterator operator++(int)
			{iterator _Tmp = *this;
			++*this;
			return (_Tmp); }
		iterator& operator--()
			{--_Idx;
			return (*this); }
		iterator operator--(int)
			{iterator _Tmp = *this;
			--*this;
			return (_Tmp); }
		iterator& operator+=(difference_type _N)
			{_Idx += _N;
			return (*this); }
		iterator& operator-=(difference_type _N)
			{return (*this += -_N); }
		iterator operator+(difference_type _N) const
			{iterator _Tmp = *this;
			return (_Tmp += _N); }
		iterator operator-(difference_type _N) const
			{iterator _Tmp = *this;
			return (_Tmp -= _N); }
		difference_type operator-(const iterator& _X) const
			{return (_Idx - _X._Idx); }
		reference operator[](difference_type _N) const
			{return (*(*this + _N)); }
		bool operator==(const iterator& _X) const
			{return (_Deque == _X._Deque && _Idx == _X._Idx); }
		bool operator!=(const iterator& _X) const
			{return (!(*this == _X)); }
		bool operator<(const iterator& _X) const
			{return (_Idx < _X._Idx); }
		bool operator<=(const iterator& _X) const
			{return (!(_X < *this)); }
		bool operator>(const iterator& _X) const
			{return (_X < *this); }
		bool operator>=(const iterator& _X) const
			{return (!(*this < _X)); }
//	protected:
		difference_type _Idx;
		const deque<_Ty, _A> *_Deque;
		};

		// CLASS const_iterator
	class const_iterator;
	friend class const_iterator;
	class const_iterator
		: public _Ranit<_Ty, _Dift> {
	public:
		typedef random_access_iterator_tag iterator_category;
		typedef _Ty value_type;
		typedef _Dift difference_type;
		typedef _Ctptr pointer;
		typedef const_reference reference;
		const_iterator()
			: _Idx(0), _Deque(0)
			{}
		const_iterator(difference_type _I,
			const deque<_Ty, _A> *_P)
			: _Idx(_I), _Deque(_P)
			{}
		const_iterator(const iterator& _X)
			: _Idx(_X._Idx), _Deque(_X._Deque)
			{}
		const_reference operator*() const
			{size_type _Block = _Idx / _DEQUESIZ;
			size_type _Off = _Idx - _Block * _DEQUESIZ;
			if (_Deque->_Mapsize <= _Block)
				_Block -= _Deque->_Mapsize;
			return ((_Deque->_Map)[_Block][_Off]); }
		_Ctptr operator->() const
			{return (&**this); }
		const_iterator& operator++()
			{++_Idx;
			return (*this); }
		const_iterator operator++(int)
			{const_iterator _Tmp = *this;
			++*this;
			return (_Tmp); }
		const_iterator& operator--()
			{--_Idx;
			return (*this); }
		const_iterator operator--(int)
			{const_iterator _Tmp = *this;
			--*this;
			return (_Tmp); }
		const_iterator& operator+=(difference_type _N)
			{_Idx += _N;
			return (*this); }
		const_iterator& operator-=(difference_type _N)
			{return (*this += -_N); }
		const_iterator operator+(difference_type _N) const
			{const_iterator _Tmp = *this;
			return (_Tmp += _N); }
		const_iterator operator-(difference_type _N) const
			{const_iterator _Tmp = *this;
			return (_Tmp -= _N); }
		difference_type operator-(
			const const_iterator& _X) const
			{return (_Idx - _X._Idx); }
		const_reference operator[](difference_type _N) const
			{return (*(*this + _N)); }
		bool operator==(const const_iterator& _X) const
			{return (_Deque == _X._Deque && _Idx == _X._Idx); }
		bool operator!=(const const_iterator& _X) const
			{return (!(*this == _X)); }
		bool operator<(const const_iterator& _X) const
			{return (_Idx < _X._Idx); }
		bool operator<=(const const_iterator& _X) const
			{return (!(_X < *this)); }
		bool operator>(const const_iterator& _X) const
			{return (_X < *this); }
		bool operator>=(const const_iterator& _X) const
			{return (!(*this < _X)); }
	protected:
		difference_type _Idx;
		const deque<_Ty, _A> *_Deque;
		};
	typedef std::reverse_iterator<const_iterator, value_type,
		const_reference, _Ctptr, difference_type>
			const_reverse_iterator;
	typedef std::reverse_iterator<iterator, value_type,
		reference, _Tptr, difference_type>
			reverse_iterator;
	deque()
		: _Mybase(), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{}
	explicit deque(const _A& _Al)
		: _Mybase(_Al), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{}
	explicit deque(size_type _N)
		: _Mybase(), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{insert(begin(), _N, _Ty()); }
	deque(size_type _N, const _Ty& _V)
		: _Mybase(), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{insert(begin(), _N, _V); }
	deque(size_type _N, const _Ty& _V, const _A& _Al)
		: _Mybase(_Al), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{insert(begin(), _N, _V); }
	deque(const _Myt& _X)
		: _Mybase(_X._Alval), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{insert(begin(), _X.begin(), _X.end()); }
	template<class _It>
		deque(_It _F, _It _L)
		: _Mybase(), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{_Construct(_F, _L, _Iter_cat(_F)); }
	template<class _It>
		deque(_It _F, _It _L, const _A& _Al)
		: _Mybase(_Al), _Map(0),
			_Mapsize(0), _Offset(0), _Size(0)
		{_Construct(_F, _L, _Iter_cat(_F)); }
	template<class _It>
		void _Construct(_It _F, _It _L, input_iterator_tag)
		{insert(begin(), _F, _L); }

	~deque()
		{clear(); }
	_Myt& operator=(const _Myt& _X)
		{if (this == &_X)
			;
		else if (_X.size() == 0)
			clear();
		else if (_X.size() <= size())
			{iterator _S = copy(_X.begin(), _X.end(), begin());
			erase(_S, end()); }
		else
			{const_iterator _Sx = _X.begin() + size();
			copy(_X.begin(), _Sx, begin());
			insert(end(), _Sx, _X.end()); }
		return (*this); }
	iterator begin()
		{return (iterator(_Offset, this)); }
	const_iterator begin() const
		{return (const_iterator(_Offset, this)); }
	iterator end()
		{return (iterator(_Offset + _Size, this)); }
	const_iterator end() const
		{return (const_iterator(_Offset + _Size, this)); }
	reverse_iterator rbegin()
		{return (reverse_iterator(end())); }
	const_reverse_iterator rbegin() const
		{return (const_reverse_iterator(end())); }
	reverse_iterator rend()
		{return (reverse_iterator(begin())); }
	const_reverse_iterator rend() const
		{return (const_reverse_iterator(begin())); }
	void resize(size_type _N)
		{resize(_N, _Ty()); }
	void resize(size_type _N, _Ty _X)
		{if (size() < _N)
			insert(end(), _N - size(), _X);
		else if (_N < size())
			erase(begin() + _N, end()); }
	size_type size() const
		{return (_Size); }
	size_type max_size() const
		{return (_Alval.max_size()); }
	bool empty() const
		{return (size() == 0); }
	allocator_type get_allocator() const
		{return (_Alval); }
	const_reference at(size_type _P) const
		{if (size() <= _P)
			_Xran();
		return (*(begin() + _P)); }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久毛片软件| 国产亚洲精久久久久久| 国产精品香蕉一区二区三区| 亚洲精品国产视频| 国产夜色精品一区二区av| 欧美视频一区在线| 成人免费精品视频| 黄色成人免费在线| 天天av天天翘天天综合网色鬼国产| 久久久亚洲精品石原莉奈| 69堂国产成人免费视频| 日本精品一区二区三区高清| 国产成人在线视频免费播放| 毛片一区二区三区| 婷婷综合在线观看| 亚洲自拍偷拍麻豆| 国产精品久久久久国产精品日日| 精品电影一区二区三区 | 高清在线不卡av| 日本在线播放一区二区三区| 亚洲一区自拍偷拍| 亚洲伦理在线精品| 国产精品久久久久久久蜜臀| 国产午夜精品一区二区三区嫩草| 日韩一本二本av| 欧美日本在线一区| 欧美视频一区二区三区| 欧美专区在线观看一区| 91影院在线免费观看| 成人精品一区二区三区四区| 国产美女视频91| 国产真实乱子伦精品视频| 麻豆精品国产91久久久久久| 日韩成人dvd| 日韩 欧美一区二区三区| 亚洲mv在线观看| 午夜精品免费在线观看| 亚洲成人免费影院| 天堂va蜜桃一区二区三区漫画版| 亚洲国产中文字幕在线视频综合 | 一区二区三区色| 亚洲欧美国产毛片在线| 亚洲精品国产视频| 亚洲丶国产丶欧美一区二区三区| 亚洲午夜国产一区99re久久| 亚洲国产日韩a在线播放性色| 一区二区免费看| 亚洲一二三级电影| 天天做天天摸天天爽国产一区| 视频精品一区二区| 麻豆视频一区二区| 国产一区91精品张津瑜| 成人午夜av电影| 91在线丨porny丨国产| 91色在线porny| 欧美日韩一级视频| 日韩一区二区精品在线观看| 2020国产精品| 国产精品欧美久久久久无广告| 国产精品久久久久久久久免费丝袜 | 91婷婷韩国欧美一区二区| 97精品久久久久中文字幕| 在线视频一区二区三| 欧美三级韩国三级日本一级| 日韩小视频在线观看专区| 久久日一线二线三线suv| 国产日韩欧美精品电影三级在线 | 国产日韩三级在线| 自拍av一区二区三区| 亚洲国产精品一区二区www在线| 丝袜美腿一区二区三区| 黑人巨大精品欧美一区| 菠萝蜜视频在线观看一区| 欧美性受极品xxxx喷水| 欧美成人三级在线| 国产精品福利一区二区三区| 亚洲午夜电影在线| 国产主播一区二区| 在线视频综合导航| 久久美女艺术照精彩视频福利播放 | 亚洲精品欧美专区| 麻豆成人综合网| 99精品欧美一区| 日韩精品在线一区| 综合在线观看色| 青青草国产精品97视觉盛宴| 成人丝袜视频网| 91精品国产一区二区三区| 久久精品亚洲一区二区三区浴池| 亚洲免费视频中文字幕| 精品一区二区在线免费观看| 色综合天天综合给合国产| 国产精品乱人伦一区二区| 亚洲电影欧美电影有声小说| 国产精品亚洲第一区在线暖暖韩国 | 成人精品视频网站| 一区二区三区四区亚洲| 久久福利资源站| 欧美视频一区在线观看| 欧美激情一区二区三区在线| 日本vs亚洲vs韩国一区三区二区 | 26uuu精品一区二区| 亚洲综合一区二区精品导航| 国产成人综合亚洲网站| 日韩一区二区三免费高清| 一区二区在线免费| 成人免费看的视频| 久久这里只精品最新地址| 丝袜诱惑亚洲看片| 日本高清成人免费播放| 国产精品国产精品国产专区不蜜 | 91在线观看污| 国产人久久人人人人爽| 极品少妇xxxx偷拍精品少妇| 欧美日韩高清一区二区不卡| 亚洲人成网站色在线观看| 国产mv日韩mv欧美| 26uuu国产电影一区二区| 青青草97国产精品免费观看 | 91久久人澡人人添人人爽欧美| 欧美国产欧美亚州国产日韩mv天天看完整| 成人在线视频首页| 欧美成人女星排行榜| 日韩成人伦理电影在线观看| 欧美电影在哪看比较好| 亚洲午夜在线视频| 91久久香蕉国产日韩欧美9色| 中文字幕色av一区二区三区| 丁香天五香天堂综合| 国产欧美一区二区在线观看| 国产一区二区三区| 久久精品亚洲精品国产欧美 | 久久精品亚洲一区二区三区浴池| 麻豆精品新av中文字幕| 日韩精品专区在线| 韩国精品主播一区二区在线观看| 日韩精品中文字幕在线一区| 久久国产精品免费| 欧美精品一区二区三区蜜臀| 国模娜娜一区二区三区| 久久久久久久久蜜桃| 国产永久精品大片wwwapp| 久久久精品中文字幕麻豆发布| 国产乱色国产精品免费视频| 日本一区二区三区在线不卡| 国产**成人网毛片九色 | 亚洲国产成人自拍| 成人三级伦理片| 亚洲另类一区二区| 欧美日韩在线综合| 日韩在线一二三区| 亚洲精品在线网站| 成人高清视频在线| 亚洲另类春色国产| 欧美另类变人与禽xxxxx| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品国产乱码久久久久久夜甘婷婷 | 午夜av区久久| 午夜激情久久久| 日韩三级中文字幕| 国产精品2024| 亚洲美女电影在线| 欧美一区二区网站| 国产不卡视频在线观看| 一区二区三区自拍| 日韩精品中午字幕| www..com久久爱| 亚洲aaa精品| 国产视频在线观看一区二区三区 | 欧美日韩激情一区二区三区| 久久精品国产77777蜜臀| 国产精品热久久久久夜色精品三区 | 成人一级片在线观看| 亚洲一区二区免费视频| 精品日韩成人av| 色综合色狠狠天天综合色| 秋霞影院一区二区| **网站欧美大片在线观看| 欧美一区二区视频在线观看| 丁香啪啪综合成人亚洲小说 | 午夜精品影院在线观看| 久久久天堂av| 欧美午夜寂寞影院| 国产精品一区二区在线观看网站 | 中文字幕欧美国产| 欧美剧在线免费观看网站| 风间由美性色一区二区三区| 亚洲成人av一区二区| 亚洲国产激情av| 日韩一区二区三区视频在线| bt欧美亚洲午夜电影天堂| 蜜乳av一区二区| 一区二区三区丝袜| 国产欧美一区二区精品婷婷| 91精品国产91久久久久久一区二区 | 老司机一区二区| 亚洲乱码日产精品bd| 国产日韩亚洲欧美综合| 91精品国产综合久久精品性色| 91在线播放网址|