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

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

?? vector

?? opal的ptlib c++源程序 可以從官方網站上下載
??
?? 第 1 頁 / 共 2 頁
字號:
// vector standard header

#if     _MSC_VER > 1000
#pragma once
#endif

/* This file is for use only in conjunction with a valid license for
Microsoft Visual C++ V5.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 FILE, 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).
 */

#ifndef _VECTOR_
#define _VECTOR_
#include <climits>
#include <memory>
#include <stdexcept>
#include <xutility>

#ifdef  _MSC_VER
#pragma pack(push,8)
#endif  /* _MSC_VER */
_STD_BEGIN
		// TEMPLATE CLASS vector
template<class _Ty, class _A = allocator<_Ty> >
	class vector {
public:
	typedef vector<_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 _A::reference reference;
	typedef _A::const_reference const_reference;
	typedef _A::value_type value_type;
	typedef _Tptr iterator;
	typedef _Ctptr const_iterator;
	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 vector(const _A& _Al = _A())
		: allocator(_Al), _First(0), _Last(0), _End(0) {}
	explicit vector(size_type _N, const _Ty& _V = _Ty(),
		const _A& _Al = _A())
		: allocator(_Al)
		{_First = allocator.allocate(_N, (void *)0);
		_Ufill(_First, _N, _V);
		_Last = _First + _N;
		_End = _Last; }
	vector(const _Myt& _X)
		: allocator(_X.allocator)
		{_First = allocator.allocate(_X.size(), (void *)0);
		_Last = _Ucopy(_X.begin(), _X.end(), _First);
		_End = _Last; }
	typedef const_iterator _It;
	vector(_It _F, _It _L, const _A& _Al = _A())
		: allocator(_Al), _First(0), _Last(0), _End(0)
		{insert(begin(), _F, _L); }
	~vector()
		{_Destroy(_First, _Last);
		allocator.deallocate(_First, _End - _First);
		_First = 0, _Last = 0, _End = 0; }
	_Myt& operator=(const _Myt& _X)
		{if (this == &_X)
			;
		else if (_X.size() <= size())
			{iterator _S = copy(_X.begin(), _X.end(), _First);
			_Destroy(_S, _Last);
			_Last = _First + _X.size(); }
		else if (_X.size() <= capacity())
			{const_iterator _S = _X.begin() + size();
			copy(_X.begin(), _S, _First);
			_Ucopy(_S, _X.end(), _Last);
			_Last = _First + _X.size(); }
		else
			{_Destroy(_First, _Last);
			allocator.deallocate(_First, _End - _First);
			_First = allocator.allocate(_X.size(), (void *)0);
			_Last = _Ucopy(_X.begin(), _X.end(),
				_First);
			_End = _Last; }
		return (*this); }
	void reserve(size_type _N)
		{if (capacity() < _N)
			{iterator _S = allocator.allocate(_N, (void *)0);
			_Ucopy(_First, _Last, _S);
			_Destroy(_First, _Last);
			allocator.deallocate(_First, _End - _First);
			_End = _S + _N;
			_Last = _S + size();
			_First = _S; }}
	size_type capacity() const
		{return (_First == 0 ? 0 : _End - _First); }
	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, const _Ty& _X = _Ty())
		{if (size() < _N)
			insert(end(), _N - size(), _X);
		else if (_N < size())
			erase(begin() + _N, end()); }
	size_type size() const
		{return (_First == 0 ? 0 : _Last - _First); }
	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_back(const _Ty& _X)
		{insert(end(), _X); }
	void pop_back()
		{erase(end() - 1); }
	void assign(_It _F, _It _L)
		{erase(begin(), end());
		insert(begin(), _F, _L); }
	void assign(size_type _N, const _Ty& _X = _Ty())
		{erase(begin(), end());
		insert(begin(), _N, _X); }
	iterator insert(iterator _P, const _Ty& _X = _Ty())
		{size_type _O = _P - begin();
		insert(_P, 1, _X);
		return (begin() + _O); }
	void insert(iterator _P, size_type _M, const _Ty& _X)
		{if (_End - _Last < _M)
			{size_type _N = size() + (_M < size() ? size() : _M);
			iterator _S = allocator.allocate(_N, (void *)0);
			iterator _Q = _Ucopy(_First, _P, _S);
			_Ufill(_Q, _M, _X);
			_Ucopy(_P, _Last, _Q + _M);
			_Destroy(_First, _Last);
                        size_type _O = size();
			allocator.deallocate(_First, _End - _First);
			_End = _S + _N;
			_Last = _S + _O + _M;
			_First = _S; }
		else if (_Last - _P < _M)
			{_Ucopy(_P, _Last, _P + _M);
			_Ufill(_Last, _M - (_Last - _P), _X);
			fill(_P, _Last, _X);
			_Last += _M; }
		else if (0 < _M)
			{_Ucopy(_Last - _M, _Last, _Last);
			copy_backward(_P, _Last - _M, _Last);
			fill(_P, _P + _M, _X);
			_Last += _M; }}
	void insert(iterator _P, _It _F, _It _L)
		{size_type _M = 0;
		_Distance(_F, _L, _M);
		if (_End - _Last < _M)
			{size_type _N = size() + (_M < size() ? size() : _M);
			iterator _S = allocator.allocate(_N, (void *)0);
			iterator _Q = _Ucopy(_First, _P, _S);
			_Q = _Ucopy(_F, _L, _Q);
			_Ucopy(_P, _Last, _Q);
			_Destroy(_First, _Last);
                        size_type _O = size();
			allocator.deallocate(_First, _End - _First);
			_End = _S + _N;
			_Last = _S + _O + _M;
			_First = _S; }
		else if (_Last - _P < _M)
			{_Ucopy(_P, _Last, _P + _M);
			_Ucopy(_F + (_Last - _P), _L, _Last);
			copy(_F, _F + (_Last - _P), _P);
			_Last += _M; }
		else if (0 < _M)
			{_Ucopy(_Last - _M, _Last, _Last);
			copy_backward(_P, _Last - _M, _Last);
			copy(_F, _L, _P);
			_Last += _M; }}
	iterator erase(iterator _P)
		{copy(_P + 1, end(), _P);
		_Destroy(_Last - 1, _Last);
		--_Last;
		return (_P); }
	iterator erase(iterator _F, iterator _L)
		{iterator _S = copy(_L, end(), _F);
		_Destroy(_S, end());
		_Last = _S;
		return (_F); }
	void clear()
		{erase(begin(), end()); }
	bool _Eq(const _Myt& _X) const
		{return (size() == _X.size()
			&& equal(begin(), end(), _X.begin())); }
	bool _Lt(const _Myt& _X) const
		{return (lexicographical_compare(begin(), end(),
			_X.begin(), _X.end())); }
	void swap(_Myt& _X)
		{if (allocator == _X.allocator)
			{std::swap(_First, _X._First);
			std::swap(_Last, _X._Last);
			std::swap(_End, _X._End); }
		else
			{_Myt _Ts = *this; *this = _X, _X = _Ts; }}
	friend void swap(_Myt& _X, _Myt& _Y)
		{_X.swap(_Y); }
protected:
	void _Destroy(iterator _F, iterator _L)
		{for (; _F != _L; ++_F)
			allocator.destroy(_F); }
	iterator _Ucopy(const_iterator _F, const_iterator _L,
		iterator _P)
		{for (; _F != _L; ++_P, ++_F)
			allocator.construct(_P, *_F);
		return (_P); }
	void _Ufill(iterator _F, size_type _N, const _Ty &_X)
		{for (; 0 < _N; --_N, ++_F)
			allocator.construct(_F, _X); }
	void _Xran() const
		{_THROW(out_of_range, "invalid vector<T> subscript"); }
	_A allocator;
	iterator _First, _Last, _End;
	};
		// CLASS vector<_Bool, allocator>
typedef unsigned int _Vbase;
const int _VBITS = CHAR_BIT * sizeof (_Vbase);
typedef allocator<_Vbase> _Bool_allocator;
class vector<_Bool, _Bool_allocator> {
public:
	typedef _Bool_allocator _A;
	typedef _Bool _Ty;
	typedef vector<_Ty, _A> _Myt;
	typedef vector<_Vbase, _A> _Vbtype;
	typedef _A allocator_type;
	typedef _A::size_type size_type;
	typedef _A::difference_type difference_type;

		// CLASS reference
	class reference {
	public:
		reference()
			: _Mask(0), _Ptr(0) {}
		reference(size_t _O, _Vbase *_P)
			: _Mask((_Vbase)1 << _O), _Ptr(_P) {}
		reference& operator=(const reference& _X)
			{return (*this = bool(_X)); }
		reference& operator=(bool _V)
			{if (_V)
				*_Ptr |= _Mask;
			else
				*_Ptr &= ~_Mask;
			return (*this); }
		void flip()
			{*_Ptr ^= _Mask; }
		bool operator~() const
			{return (!bool(*this)); }
		operator bool() const
			{return ((*_Ptr & _Mask) != 0); }
	protected:
		_Vbase _Mask, *_Ptr;
		};

	typedef const reference const_reference;
	typedef bool value_type;
		// CLASS const_iterator
	class iterator;
	class const_iterator : public _Ranit<_Bool, difference_type> {
	public:
		const_iterator()
			: _Off(0), _Ptr(0) {}
		const_iterator(size_t _O, const _Vbase *_P)
			: _Off(_O), _Ptr((_Vbase*)_P) {}
		const_iterator(const iterator& _X)
			: _Off(_X._Off), _Ptr(_X._Ptr) {}
		const_reference operator*() const
			{return (const_reference(_Off, _Ptr)); }
		const_iterator& operator++()
			{_Inc();
			return (*this); }
		const_iterator operator++(int)
			{const_iterator _Tmp = *this;
			_Inc();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费av成人在线| 欧美三日本三级三级在线播放| 国产欧美一区二区精品秋霞影院 | 欧美精品一二三四| 国产成a人无v码亚洲福利| 性欧美疯狂xxxxbbbb| 中文天堂在线一区| 亚洲精品一区二区三区在线观看| 色婷婷av一区二区三区软件| 日本大胆欧美人术艺术动态| 亚洲综合偷拍欧美一区色| 欧美国产日韩亚洲一区| 久久理论电影网| 一本大道久久精品懂色aⅴ| 国产综合久久久久久鬼色| 日日夜夜一区二区| 亚洲婷婷在线视频| 国产精品欧美极品| 国产日产亚洲精品系列| 日韩欧美一区二区久久婷婷| 日韩一二三四区| 在线观看视频91| 色综合网站在线| 色综合av在线| 国产精品88av| 国产成人在线视频网站| 激情六月婷婷久久| 国产一区二区调教| 视频一区二区三区在线| 婷婷久久综合九色综合绿巨人| 一区二区在线观看免费视频播放| 亚洲色图在线播放| 亚洲欧美另类小说| 一区二区免费在线| 亚洲图片欧美色图| 午夜视频在线观看一区二区| 亚洲大片精品永久免费| 亚洲国产一二三| 五月婷婷色综合| 麻豆精品一区二区| 国产一区二区三区四区五区美女 | 色婷婷一区二区三区四区| 成人黄色网址在线观看| 91美女片黄在线| 欧美日韩黄色影视| 精品av久久707| 中文字幕色av一区二区三区| 亚洲男人的天堂网| 轻轻草成人在线| 国产ts人妖一区二区| 91麻豆精品一区二区三区| 欧美日韩精品欧美日韩精品一| 91精品婷婷国产综合久久竹菊| 欧美一级日韩免费不卡| 中文av一区二区| 亚洲国产一区在线观看| 精品一区二区三区在线观看国产| 九色|91porny| 成人性生交大合| 在线观看视频一区| 久久亚洲二区三区| 国产午夜久久久久| 亚洲成人一区在线| 狠狠色丁香婷综合久久| 91麻豆自制传媒国产之光| 在线观看欧美黄色| 欧美极品另类videosde| 亚洲一区二区三区四区五区中文| 蜜桃久久久久久| 99国内精品久久| 久久综合色之久久综合| 亚洲一区二区三区四区在线观看| 国产伦精品一区二区三区视频青涩 | 久久精品免视看| 日日夜夜免费精品视频| 91国在线观看| 亚洲精品福利视频网站| 99久免费精品视频在线观看| 日本一区二区三区高清不卡| 国产精品中文欧美| 久久综合久久综合九色| 久久国产精品一区二区| 制服丝袜亚洲精品中文字幕| 日日摸夜夜添夜夜添国产精品| 欧美日韩中字一区| 亚洲成在人线免费| 欧美人体做爰大胆视频| 偷偷要91色婷婷| 555夜色666亚洲国产免| 美腿丝袜亚洲三区| 久久久精品综合| 成人福利视频网站| 亚洲免费毛片网站| 欧美三日本三级三级在线播放| 亚洲不卡一区二区三区| 欧美一级一级性生活免费录像| 免费成人在线网站| 久久综合九色综合97婷婷女人 | 日韩一级免费观看| 久久99精品国产91久久来源| 久久亚洲二区三区| 北岛玲一区二区三区四区| 一区二区三区视频在线看| 欧美日韩一区二区在线观看视频| 日产精品久久久久久久性色| 精品久久久久久久一区二区蜜臀| 国产麻豆一精品一av一免费| 国产精品国产三级国产专播品爱网 | 性久久久久久久| 欧美tk—视频vk| 国产·精品毛片| 亚洲精品精品亚洲| 91精品国产乱| 粉嫩av一区二区三区粉嫩| 亚洲欧美电影院| 777午夜精品视频在线播放| 日韩专区欧美专区| 国产亚洲一区二区在线观看| 99久久久无码国产精品| 亚洲成人av免费| 久久久久久久久久久久久女国产乱| 91亚洲国产成人精品一区二区三 | 人人狠狠综合久久亚洲| 欧美国产丝袜视频| 欧美精品一级二级三级| 不卡视频免费播放| 美女网站色91| 亚洲激情自拍偷拍| 国产亚洲成年网址在线观看| 欧美三级日本三级少妇99| 国产成人av影院| 美国一区二区三区在线播放| 怡红院av一区二区三区| 国产欧美一二三区| 日韩精品一区二区三区在线 | 51久久夜色精品国产麻豆| 懂色中文一区二区在线播放| 喷水一区二区三区| 一区二区三区欧美日| 久久久久久影视| 欧美精品久久99久久在免费线 | 亚洲色图丝袜美腿| 2020国产成人综合网| 欧美电影一区二区| 欧美中文字幕一区| 91在线视频官网| 成人免费高清视频| 麻豆一区二区三| 欧美aa在线视频| 日韩和欧美一区二区三区| 一区二区三区美女| 亚洲精品伦理在线| 亚洲美女一区二区三区| 中文字幕色av一区二区三区| 国产欧美日韩不卡| 国产欧美日韩在线视频| 久久亚洲一级片| 久久精品亚洲麻豆av一区二区| 日韩一级成人av| 精品剧情在线观看| 精品久久久久香蕉网| 337p日本欧洲亚洲大胆精品| 日韩欧美一级二级| 久久夜色精品国产欧美乱极品| 欧美成人伊人久久综合网| 日韩欧美一区二区免费| 精品国产网站在线观看| 日韩精品一区二区三区三区免费| 91精品国产综合久久久蜜臀图片| 欧美浪妇xxxx高跟鞋交| 欧美一区二区网站| 欧美xfplay| 国产日产欧美精品一区二区三区| 国产精品丝袜一区| 亚洲欧洲精品成人久久奇米网| 中文字幕亚洲一区二区va在线| 一区二区三区在线高清| 亚洲在线一区二区三区| 肉丝袜脚交视频一区二区| 美女在线一区二区| 国产成人免费视频精品含羞草妖精| 国产高清久久久| 一本色道久久加勒比精品| 欧美日韩一区二区在线观看| 91精选在线观看| 亚洲国产激情av| 亚洲乱码国产乱码精品精小说| 午夜欧美电影在线观看| 国产麻豆9l精品三级站| 91丨九色丨尤物| 日韩一二三区视频| 国产精品不卡一区| 午夜精品免费在线观看| 国产精品一色哟哟哟| 色先锋资源久久综合| 精品国产精品网麻豆系列| 亚洲视频图片小说| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产精品一区在线| 在线观看亚洲精品|