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

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

?? deque

?? opal的ptlib c++源程序 可以從官方網(wǎng)站上下載
??
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(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)); }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa国产一区| 99re视频这里只有精品| 国产精品亲子伦对白| 欧美日韩不卡在线| 成人精品国产福利| 久久福利视频一区二区| 一区二区成人在线| 中文一区一区三区高中清不卡| 欧美日韩视频在线一区二区| aa级大片欧美| 国产精品一区二区三区乱码| 日韩专区欧美专区| 亚洲人成网站精品片在线观看| 亚洲精品一区二区三区四区高清| 欧美三级在线视频| 99精品欧美一区二区三区小说| 精品中文字幕一区二区| 亚洲成av人综合在线观看| 亚洲欧洲av色图| 国产亚洲欧美日韩俺去了| 日韩欧美一级二级三级久久久| 欧美性色aⅴ视频一区日韩精品| av亚洲精华国产精华精| 国产精选一区二区三区| 玖玖九九国产精品| 日本欧美一区二区在线观看| 亚洲成人自拍一区| 一区二区三区四区国产精品| 中文字幕一区在线| 中文字幕精品一区二区精品绿巨人| 精品国产伦一区二区三区观看方式| 欧美精三区欧美精三区| 欧美亚洲动漫制服丝袜| 欧洲视频一区二区| 91在线视频播放| 不卡在线视频中文字幕| 波多野结衣精品在线| 国产东北露脸精品视频| 国产91精品欧美| 成人性生交大片免费看中文| 丁香桃色午夜亚洲一区二区三区| 国产自产2019最新不卡| 国产美女在线观看一区| 国产黑丝在线一区二区三区| 国产精品亚洲专一区二区三区| 国产成人99久久亚洲综合精品| 国产成人综合亚洲91猫咪| 国产aⅴ综合色| 成人99免费视频| 在线视频亚洲一区| 欧美日韩久久久| 日韩视频免费直播| 精品sm捆绑视频| 国产精品污网站| 亚洲黄色尤物视频| 亚洲成人精品一区二区| 日韩av电影天堂| 韩国女主播一区| eeuss国产一区二区三区| 色婷婷综合久久久中文一区二区| 欧美影片第一页| 91精品婷婷国产综合久久性色 | 最新中文字幕一区二区三区| 亚洲欧洲精品一区二区精品久久久| 亚洲人成精品久久久久久| 亚洲丰满少妇videoshd| 蓝色福利精品导航| 成人精品一区二区三区四区| 在线免费观看视频一区| 日韩欧美亚洲国产另类| 国产精品网曝门| 亚洲综合男人的天堂| 久久国产精品色婷婷| 不卡欧美aaaaa| 欧美老女人第四色| 国产喷白浆一区二区三区| 一区二区三区在线看| 美女视频一区二区三区| 不卡的看片网站| 日韩一卡二卡三卡国产欧美| 亚洲国产精品黑人久久久| 亚洲1区2区3区4区| 国产suv一区二区三区88区| 欧美国产日韩亚洲一区| 亚洲欧美日韩一区| 美美哒免费高清在线观看视频一区二区| 国产成人亚洲综合色影视| 色婷婷亚洲综合| www亚洲一区| 夜夜揉揉日日人人青青一国产精品| 久久99国产精品久久99| 在线观看欧美精品| 国产香蕉久久精品综合网| 亚洲国产精品欧美一二99| 国产成人av在线影院| 69堂成人精品免费视频| 亚洲少妇屁股交4| 精品一区二区在线观看| 欧美最新大片在线看| 中文字幕 久热精品 视频在线| 日韩福利视频网| 在线免费观看日本欧美| 国产拍欧美日韩视频二区| 免费日韩伦理电影| 色系网站成人免费| 欧美激情在线观看视频免费| 琪琪久久久久日韩精品| 在线亚洲高清视频| 国产精品久久久久久亚洲毛片| 久久不见久久见免费视频7| 欧美性xxxxxxxx| 亚洲视频免费看| 成人永久免费视频| 精品成人一区二区| 久久精品国产99国产| 欧美乱妇20p| 亚洲va在线va天堂| 色综合天天综合网天天狠天天 | 丁香婷婷综合五月| 日韩欧美高清dvd碟片| 亚洲成年人网站在线观看| 色网站国产精品| 日韩毛片在线免费观看| 成人免费高清视频| 中文字幕av一区 二区| 欧美色精品在线视频| 国产欧美一二三区| 国产成人精品免费| 久久久蜜臀国产一区二区| 久久99热国产| 精品理论电影在线| 久久99久久久欧美国产| 欧美刺激脚交jootjob| 七七婷婷婷婷精品国产| 欧美一区二区三区免费大片| 日韩黄色在线观看| 日韩一区二区在线看| 日韩二区三区四区| 日韩一区二区三区三四区视频在线观看| 亚洲va国产va欧美va观看| 欧美日韩精品一区二区在线播放| 亚洲第一主播视频| 7878成人国产在线观看| 日本亚洲天堂网| 精品国内片67194| 国产成人午夜99999| 国产精品毛片久久久久久| 9l国产精品久久久久麻豆| 亚洲三级在线观看| 在线看国产一区| 视频一区二区三区在线| 欧美一级黄色片| 国内成人免费视频| 国产精品麻豆视频| 欧美亚洲高清一区二区三区不卡| 五月综合激情日本mⅴ| 五月天久久比比资源色| 777亚洲妇女| 国产精品456露脸| 最新国产精品久久精品| 欧美三日本三级三级在线播放| 日韩国产精品久久久久久亚洲| 久久影院电视剧免费观看| 成人精品在线视频观看| 亚洲成人777| 久久久久久久久久久久久久久99 | 国产乱码精品一区二区三区av| 亚洲国产精品av| 欧美三区在线视频| 捆绑调教一区二区三区| 亚洲视频一区二区免费在线观看| 欧美性做爰猛烈叫床潮| 韩国一区二区三区| 亚洲欧美日本在线| 日韩视频中午一区| 99久久婷婷国产综合精品| 午夜精品福利一区二区三区蜜桃| 欧美精品一区二区三区在线| 91丨九色porny丨蝌蚪| 日本伊人精品一区二区三区观看方式| 精品理论电影在线观看| 在线看日本不卡| 国产精品一区二区久激情瑜伽 | 日韩久久久久久| jizz一区二区| 美洲天堂一区二卡三卡四卡视频| 成人欧美一区二区三区黑人麻豆| 欧美男同性恋视频网站| 高清国产一区二区| 日韩av在线免费观看不卡| 亚洲人午夜精品天堂一二香蕉| 日韩精品一区二区三区中文精品| av中文字幕不卡| 精品一区二区三区日韩| 亚洲一区二区三区自拍| 国产日本欧洲亚洲| 日韩一区二区三区视频在线| 欧洲亚洲精品在线| 成人av动漫网站| 国产成人精品影视|