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

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

?? deque

?? C標準庫源代碼,能提高對C的理解,不錯的哦
??
?? 第 1 頁 / 共 2 頁
字號:
// deque standard header

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

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

#ifdef  _MSC_VER
#pragma pack(push,8)
#endif  /* _MSC_VER */
_STD_BEGIN
#define _DEQUEMAPSIZ	2
#define _DEQUESIZ (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty))
		// TEMPLATE CLASS deque
template<class _Ty, class _A = allocator<_Ty> >
	class deque {
public:
	typedef deque<_Ty, _A> _Myt;
	typedef _A allocator_type;
	typedef _A::size_type size_type;
	typedef _A::difference_type difference_type;
	typedef _A::pointer _Tptr;
	typedef _A::const_pointer _Ctptr;
	typedef _POINTER_X(_Tptr, _A) _Mapptr;
	typedef _A::reference reference;
	typedef _A::const_reference const_reference;
	typedef _A::value_type value_type;
		// CLASS const_iterator
	class iterator;
	class const_iterator : public _Ranit<_Ty, difference_type> {
	public:
		friend class deque<_Ty, _A>;
		const_iterator()
			: _First(0), _Last(0), _Next(0), _Map(0) {}
		const_iterator(_Tptr _P, _Mapptr _M)
			: _First(*_M), _Last(*_M + _DEQUESIZ),
				_Next(_P), _Map(_M) {}
		const_iterator(const iterator& _X)
			: _First(_X._First), _Last(_X._Last), _Next(_X._Next), 
			  _Map(_X._Map) {}
		const_reference operator*() const
			{return (*_Next); }
		_Ctptr operator->() const
			{return (&**this); }
		const_iterator& operator++()
			{if (++_Next == _Last)
				{_First = *++_Map;
				_Last = _First + _DEQUESIZ;
				_Next = _First; }
			return (*this); }
		const_iterator operator++(int)
			{const_iterator _Tmp = *this;
			++*this;
			return (_Tmp); }
		const_iterator& operator--()
			{if (_Next == _First)
				{_First = *--_Map;
				_Last = _First + _DEQUESIZ;
				_Next = _Last; }
			--_Next;
			return (*this); }
		const_iterator operator--(int)
			{const_iterator _Tmp = *this;
			--*this;
			return (_Tmp); }
		const_iterator& operator+=(difference_type _N)
			{_Add(_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 (_Map == _X._Map ? _Next - _X._Next
				: _DEQUESIZ * (_Map - _X._Map - 1)
				+ (_Next - _First) + (_X._Last - _X._Next)); }
		const_reference operator[](difference_type _N) const
			{return (*(*this + _N)); }
		bool operator==(const const_iterator& _X) const
			{return (_Next == _X._Next); }
		bool operator!=(const const_iterator& _X) const
			{return (!(*this == _X)); }
		bool operator<(const const_iterator& _X) const
			{return (_Map < _X._Map
				|| _Map == _X._Map && _Next < _X._Next); }
		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:
		void _Add(difference_type _N)
			{difference_type _Off = _N + _Next - _First;
			difference_type _Moff = (0 <= _Off)
				? _Off / _DEQUESIZ
				: -((_DEQUESIZ - 1 - _Off) / _DEQUESIZ);
			if (_Moff == 0)
				_Next += _N;
			else
				{_Map += _Moff;
				_First = *_Map;
				_Last = _First + _DEQUESIZ;
				_Next = _First + (_Off - _Moff * _DEQUESIZ); }}
	_PROTECTED:
		_Tptr _First, _Last, _Next;
		_Mapptr _Map;
		};
		// CLASS iterator
	class iterator : public const_iterator {
	public:
		iterator()
			{}
		iterator(_Tptr _P, _Mapptr _M)
			: const_iterator(_P, _M) {}
		reference operator*() const
			{return (*_Next); }
		_Tptr operator->() const
			{return (&**this); }
		iterator& operator++()
			{if (++_Next == _Last)
				{_First = *++_Map;
				_Last = _First + _DEQUESIZ;
				_Next = _First; }
			return (*this); }
		iterator operator++(int)
			{iterator _Tmp = *this;
			++*this;
			return (_Tmp); }
		iterator& operator--()
			{if (_Next == _First)
				{_First = *--_Map;
				_Last = _First + _DEQUESIZ;
				_Next = _Last; }
			--_Next;
			return (*this); }
		iterator operator--(int)
			{iterator _Tmp = *this;
			--*this;
			return (_Tmp); }
		iterator& operator+=(difference_type _N)
			{_Add(_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 (_Map == _X._Map ? _Next - _X._Next
				: _DEQUESIZ * (_Map - _X._Map - 1)
				+ (_Next - _First) + (_X._Last - _X._Next)); }
		reference operator[](difference_type _N) const
			{return (*(*this + _N)); }
		bool operator==(const iterator& _X) const
			{return (_Next == _X._Next); }
		bool operator!=(const iterator& _X) const
			{return (!(*this == _X)); }
		bool operator<(const iterator& _X) const
			{return (_Map < _X._Map
				|| _Map == _X._Map && _Next < _X._Next); }
		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)); }
		};
	typedef reverse_iterator<const_iterator, value_type,
		const_reference, _Ctptr, difference_type>
			const_reverse_iterator;
	typedef reverse_iterator<iterator, value_type,
		reference, _Tptr, difference_type>
			reverse_iterator;
	explicit deque(const _A& _Al = _A())
		: allocator(_Al),
			_First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
		{}
	explicit deque(size_type _N, const _Ty& _V = _Ty(),
		const _A& _Al = _A())
		: allocator(_Al),
			_First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
		{insert(begin(), _N, _V); }
	deque(const _Myt& _X)
		: allocator(_X.allocator),
			_First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
		{copy(_X.begin(), _X.end(), back_inserter(*this)); }
	typedef const_iterator _It;
		deque(_It _F, _It _L, const _A& _Al = _A())
		: allocator(_Al),
			_First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
		{copy(_F, _L, back_inserter(*this)); }
	~deque()
		{while (!empty())
			pop_front(); }
	_Myt& operator=(const _Myt& _X)
		{if (this != &_X)
			{iterator _S;
			if (_X.size() <= size())
				{_S = copy(_X.begin(), _X.end(), begin());
				erase(_S, end()); }
			else
				{const_iterator _Sx = _X.begin() + size();
				_S = copy(_X.begin(), _Sx, begin());
				copy(_Sx, _X.end(), inserter(*this, _S)); }}
		return (*this); }
	iterator begin()
		{return (_First); }
	const_iterator begin() const
		{return ((const_iterator)_First); }
	iterator end()
		{return (_Last); }
	const_iterator end() const
		{return ((const_iterator)_Last); }
	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, _Ty _X = _Ty())
		{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 (allocator.max_size()); }
	bool empty() const
		{return (size() == 0); }
	_A get_allocator() const
		{return (allocator); }
	const_reference at(size_type _P) const
		{if (size() <= _P)
			_Xran();
		return (*(begin() + _P)); }
	reference at(size_type _P)
		{if (size() <= _P)
			_Xran();
		return (*(begin() + _P)); }
	const_reference operator[](size_type _P) const
		{return (*(begin() + _P)); }
	reference operator[](size_type _P)
		{return (*(begin() + _P)); }
	reference front()
		{return (*begin()); }
	const_reference front() const
		{return (*begin()); }
	reference back()
		{return (*(end() - 1)); }
	const_reference back() const
		{return (*(end() - 1)); }
	void push_front(const _Ty& _X)
		{if (empty() || _First._Next == _First._First)
			_Buyfront();
		allocator.construct(--_First._Next, _X);
		++_Size; }
	void pop_front()
		{allocator.destroy(_First._Next++);
		--_Size;
		if (empty() || _First._Next == _First._Last)
			_Freefront(); }
	void push_back(const _Ty& _X)
		{
		if (empty() || (_Last._Next == _Last._Last))
        {
            _Buyback();
            allocator.construct(_Last._Next++, _X);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人一二三| 欧美精品一区二区三区蜜桃视频 | 国产成人自拍网| 日韩一卡二卡三卡四卡| 精品在线免费视频| 久久精品欧美一区二区三区麻豆| 国产精品一二三四五| 国产精品不卡视频| 欧美揉bbbbb揉bbbbb| 男女男精品视频网| 国产欧美一区视频| 日本精品裸体写真集在线观看 | 青青草国产精品亚洲专区无| 精品欧美久久久| 99久久国产综合精品女不卡| 一区二区久久久久久| 日韩一区二区电影网| 粉嫩绯色av一区二区在线观看 | 久久蜜桃av一区精品变态类天堂 | 激情久久五月天| 中文字幕va一区二区三区| 在线观看av一区| 国内偷窥港台综合视频在线播放| 国产农村妇女毛片精品久久麻豆 | 国产a级毛片一区| 亚洲综合色网站| 精品久久久久久最新网址| 波多野结衣亚洲| 视频一区视频二区中文| 中文字幕二三区不卡| 3d动漫精品啪啪一区二区竹菊 | 久久国产夜色精品鲁鲁99| 中文字幕精品在线不卡| 欧美美女一区二区在线观看| 国产福利一区二区三区在线视频| 一区二区成人在线| 久久精品欧美日韩精品| 欧美群妇大交群的观看方式| 成人一区二区三区中文字幕| 日韩中文字幕亚洲一区二区va在线| 国产日韩欧美一区二区三区乱码| 精品视频一区 二区 三区| 成人av小说网| 九色综合狠狠综合久久| 视频一区视频二区中文| 亚洲精品亚洲人成人网在线播放| 精品久久久网站| 欧美调教femdomvk| 91丨九色丨蝌蚪富婆spa| 激情都市一区二区| 蜜臀av性久久久久av蜜臀妖精| 亚洲最大成人网4388xx| 国产精品久久久久aaaa樱花| 日韩精品中文字幕在线一区| 欧美日韩一级二级| 在线免费一区三区| 成人app在线观看| 国产91精品露脸国语对白| 久草这里只有精品视频| 琪琪一区二区三区| 日韩中文字幕区一区有砖一区 | 久久亚洲精华国产精华液| 制服丝袜激情欧洲亚洲| 精品视频全国免费看| 一本色道a无线码一区v| 91丨九色丨蝌蚪丨老版| 白白色 亚洲乱淫| 不卡一区二区三区四区| 成人在线视频一区二区| 成人免费高清在线| 精品一区二区三区蜜桃| 国产综合色视频| 国内精品视频一区二区三区八戒| 免费高清在线一区| 久久99这里只有精品| 精品一区二区成人精品| 国内久久精品视频| 国产成人亚洲综合a∨婷婷| 国产麻豆精品久久一二三| 久久精品国产99| 国产在线精品一区二区夜色 | 成人白浆超碰人人人人| 成人高清视频免费观看| 91亚洲永久精品| 色天使色偷偷av一区二区| 在线一区二区视频| 欧美久久久久久久久| 日韩色在线观看| 久久久久久久电影| 亚洲视频你懂的| 亚洲va欧美va天堂v国产综合| 午夜视频一区二区| 久久国产精品99久久久久久老狼 | 制服丝袜亚洲色图| 欧美精品一区二区三区视频| 国产亚洲视频系列| 国产精品每日更新| 一区二区三区高清在线| 日韩不卡一二三区| 国产福利一区二区| 色狠狠av一区二区三区| 在线播放视频一区| 久久夜色精品国产噜噜av| 国产精品二三区| 亚洲3atv精品一区二区三区| 久久69国产一区二区蜜臀| av在线一区二区三区| 69堂精品视频| 国产精品视频你懂的| 亚洲地区一二三色| 国产精品123| 欧美午夜免费电影| 2019国产精品| 亚洲制服欧美中文字幕中文字幕| 蜜桃久久久久久久| 色综合色综合色综合| 精品欧美一区二区久久| 亚洲欧美日韩中文播放| 精品一区二区影视| 91激情五月电影| 久久蜜臀中文字幕| 丝袜诱惑制服诱惑色一区在线观看 | 成人午夜免费电影| 欧美猛男男办公室激情| 国产精品沙发午睡系列990531| 日韩中文字幕区一区有砖一区| 国产成人av电影在线| 欧美精品色一区二区三区| 亚洲国产成人自拍| 日本不卡中文字幕| 91国偷自产一区二区开放时间| 久久网这里都是精品| 图片区小说区国产精品视频| 成人激情小说网站| 欧美电视剧在线看免费| 亚洲午夜电影网| av一区二区三区在线| 精品va天堂亚洲国产| 亚洲影院免费观看| 99久久免费国产| 国产欧美一区二区在线| 久久成人麻豆午夜电影| 欧美丰满美乳xxx高潮www| 亚洲女爱视频在线| 国产成人在线视频播放| 精品处破学生在线二十三| 亚洲电影在线播放| 91福利在线播放| 亚洲天堂av一区| 国产91精品一区二区| 久久久久9999亚洲精品| 精品中文字幕一区二区小辣椒| 欧美日韩久久久久久| 亚洲伦在线观看| 99久久综合色| 欧美国产一区在线| 国产成人免费9x9x人网站视频| 精品精品欲导航| 久久草av在线| 精品粉嫩aⅴ一区二区三区四区| 首页欧美精品中文字幕| 69堂精品视频| 蜜臀a∨国产成人精品| 91麻豆精品国产91久久久| 亚洲高清在线视频| 欧美精品亚洲一区二区在线播放| 亚洲主播在线播放| 欧美色综合久久| 婷婷久久综合九色综合伊人色| 欧美日韩免费观看一区二区三区 | 欧美日韩精品欧美日韩精品一综合| 亚洲人成7777| 91国模大尺度私拍在线视频 | 日韩经典一区二区| 欧美一区二区久久| 久久99最新地址| 久久久精品黄色| av电影在线观看一区| 一区二区久久久久久| 欧美日本乱大交xxxxx| 日本中文字幕一区二区视频 | 国产精品不卡视频| 在线视频一区二区免费| 丝袜美腿亚洲一区| 久久人人超碰精品| 成人av网站在线| 亚洲宅男天堂在线观看无病毒| 欧美日本在线观看| 狠狠色狠狠色综合| 最新日韩av在线| 欧美猛男gaygay网站| 狠狠色丁香婷婷综合| 最新国产成人在线观看| 欧美精品tushy高清| 韩国午夜理伦三级不卡影院| 国产精品日韩精品欧美在线| 欧美伊人久久久久久久久影院 | 午夜不卡在线视频| 久久综合九色综合97婷婷女人| 成人免费毛片嘿嘿连载视频|