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

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

?? smartptr.h

?? hashish-1.1b加密算法庫c++
?? H
字號:
#ifndef CRYPTOPP_SMARTPTR_H#define CRYPTOPP_SMARTPTR_H#include "config.h"#include <algorithm>NAMESPACE_BEGIN(CryptoPP)template<class T> class member_ptr{public:	explicit member_ptr(T *p = NULL) : m_p(p) {}	~member_ptr();	const T& operator*() const { return *m_p; }	T& operator*() { return *m_p; }	const T* operator->() const { return m_p; }	T* operator->() { return m_p; }	const T* get() const { return m_p; }	T* get() { return m_p; }	T* release()	{		T *old_p = m_p;		m_p = 0;		return old_p;	} 	void reset(T *p = 0);protected:	member_ptr(const member_ptr<T>& rhs);		// copy not allowed	void operator=(const member_ptr<T>& rhs);	// assignment not allowed	T *m_p;};template <class T> member_ptr<T>::~member_ptr() {delete m_p;}template <class T> void member_ptr<T>::reset(T *p) {delete m_p; m_p = p;}// ********************************************************template<class T> class value_ptr : public member_ptr<T>{public:	value_ptr(const T &obj) : member_ptr<T>(new T(obj)) {}	value_ptr(T *p = NULL) : member_ptr<T>(p) {}	value_ptr(const value_ptr<T>& rhs)		: member_ptr<T>(rhs.m_p ? new T(*rhs.m_p) : NULL) {}	value_ptr<T>& operator=(const value_ptr<T>& rhs);	bool operator==(const value_ptr<T>& rhs)	{		return (!m_p && !rhs.m_p) || (m_p && rhs.m_p && *m_p == *rhs.m_p);	}};template <class T> value_ptr<T>& value_ptr<T>::operator=(const value_ptr<T>& rhs){	T *old_p = m_p;	m_p = rhs.m_p ? new T(*rhs.m_p) : NULL;	delete old_p;	return *this;}// ********************************************************template<class T> class clonable_ptr : public member_ptr<T>{public:	clonable_ptr(const T &obj) : member_ptr<T>(obj.Clone()) {}	clonable_ptr(T *p = NULL) : member_ptr<T>(p) {}	clonable_ptr(const clonable_ptr<T>& rhs)		: member_ptr<T>(rhs.m_p ? rhs.m_p->Clone() : NULL) {}	clonable_ptr<T>& operator=(const clonable_ptr<T>& rhs);};template <class T> clonable_ptr<T>& clonable_ptr<T>::operator=(const clonable_ptr<T>& rhs){	T *old_p = m_p;	m_p = rhs.m_p ? rhs.m_p->Clone() : NULL;	delete old_p;	return *this;}// ********************************************************template<class T> class counted_ptr{public:	explicit counted_ptr(T *p = 0);	counted_ptr(const T &r) : m_p(0) {attach(r);}	counted_ptr(const counted_ptr<T>& rhs);	~counted_ptr();	const T& operator*() const { return *m_p; }	T& operator*() { return *m_p; }	const T* operator->() const { return m_p; }	T* operator->() { return get(); }	const T* get() const { return m_p; }	T* get();	void attach(const T &p);	counted_ptr<T> & operator=(const counted_ptr<T>& rhs);private:	T *m_p;};template <class T> counted_ptr<T>::counted_ptr(T *p)	: m_p(p) {	if (m_p)		m_p->m_referenceCount = 1;}template <class T> counted_ptr<T>::counted_ptr(const counted_ptr<T>& rhs)	: m_p(rhs.m_p){	if (m_p)		m_p->m_referenceCount++;}template <class T> counted_ptr<T>::~counted_ptr(){	if (m_p && --m_p->m_referenceCount == 0)		delete m_p;}template <class T> void counted_ptr<T>::attach(const T &r){	if (m_p && --m_p->m_referenceCount == 0)		delete m_p;	if (r.m_referenceCount == 0)	{		m_p = r.clone();		m_p->m_referenceCount = 1;	}	else	{		m_p = const_cast<T *>(&r);		m_p->m_referenceCount++;	}}template <class T> T* counted_ptr<T>::get(){	if (m_p && m_p->m_referenceCount > 1)	{		T *temp = m_p->clone();		m_p->m_referenceCount--;		m_p = temp;		m_p->m_referenceCount = 1;	}	return m_p;}template <class T> counted_ptr<T> & counted_ptr<T>::operator=(const counted_ptr<T>& rhs){	if (m_p != rhs.m_p)	{		if (m_p && --m_p->m_referenceCount == 0)			delete m_p;		m_p = rhs.m_p;		if (m_p)			m_p->m_referenceCount++;	}	return *this;}// ********************************************************template <class T> class vector_member_ptrs{public:	vector_member_ptrs(unsigned int size=0)		: _size(size) {ptr = new member_ptr<T>[_size];}	~vector_member_ptrs()		{delete [] ptr;}	member_ptr<T>& operator[](unsigned int index)		{assert(index<_size); return ptr[index];}	const member_ptr<T>& operator[](unsigned int index) const		{assert(index<_size); return ptr[index];}	unsigned int size() const {return _size;}	void resize(unsigned int newSize)	{		member_ptr<T> *newPtr = new member_ptr<T>[newSize];		for (unsigned int i=0; i<STDMIN(_size, newSize); i++)			newPtr[i].reset(ptr[i].release());		delete [] ptr;		_size = newSize;		ptr = newPtr;	}private:	vector_member_ptrs(const vector_member_ptrs<T> &c);	// copy not allowed	void operator=(const vector_member_ptrs<T> &x);		// assignment not allowed	unsigned int _size;	member_ptr<T> *ptr;};NAMESPACE_END#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天婷婷综合| 亚洲精品少妇30p| 在线综合视频播放| 欧美三级韩国三级日本三斤| 99久久久国产精品| 一本大道av伊人久久综合| 99热精品国产| 欧美在线免费视屏| 91高清视频在线| 3d动漫精品啪啪1区2区免费| 欧美电影免费观看高清完整版| 欧美一级片在线观看| 欧美一级电影网站| 久久精品欧美日韩精品| 欧美国产1区2区| 亚洲激情欧美激情| 欧美bbbbb| 福利91精品一区二区三区| 99热这里都是精品| 欧美福利一区二区| 国产性色一区二区| 亚洲综合免费观看高清完整版| 午夜一区二区三区在线观看| 麻豆国产精品一区二区三区 | 亚洲人精品午夜| 久久亚洲综合色| 精品精品国产高清a毛片牛牛| 精品国产一区二区三区av性色| 欧美一区在线视频| 中文一区二区在线观看 | 国产美女av一区二区三区| 国产精品18久久久久久久久久久久| 国产成人一区二区精品非洲| 成人国产在线观看| 欧美一级日韩免费不卡| 国产精品久久久久久久久免费桃花 | 一本色道亚洲精品aⅴ| 欧美久久一区二区| 国产精品视频观看| 视频一区视频二区中文字幕| 国产一区二区日韩精品| 色综合一个色综合亚洲| 精品久久久久99| 亚洲国产精品人人做人人爽| 国产精品18久久久久| 在线视频欧美精品| 中文字幕欧美日韩一区| 麻豆极品一区二区三区| 欧美亚洲一区二区在线观看| 欧美国产一区二区| 国产真实乱子伦精品视频| 欧美综合天天夜夜久久| 国产精品国模大尺度视频| 蜜桃视频一区二区三区| 欧美熟乱第一页| 日韩美女视频一区| 懂色av一区二区在线播放| 欧美一级淫片007| 午夜视频在线观看一区二区三区| 97se亚洲国产综合自在线不卡| 欧美精品一区二区三区高清aⅴ| 性久久久久久久| 欧美在线观看视频一区二区| 亚洲视频电影在线| 91老师国产黑色丝袜在线| 中文字幕一区二区三区在线观看| 国产精品一二三在| 日韩精品中文字幕一区二区三区| 亚洲一区二区三区四区在线免费观看 | 亚洲成人精品影院| 欧美在线观看禁18| 亚洲小少妇裸体bbw| 日本道色综合久久| 亚洲一区二区三区中文字幕| 色成年激情久久综合| 亚洲精品一卡二卡| 在线视频一区二区三区| 亚洲一区视频在线| 欧美精品 国产精品| 日韩av电影免费观看高清完整版 | 中文字幕一区二区三区四区不卡 | 中文字幕一区av| 91视视频在线观看入口直接观看www | 亚洲一区二区黄色| 欧美视频在线一区二区三区| 亚洲电影一级片| 91精品国产麻豆国产自产在线| 丝袜亚洲另类丝袜在线| 日韩一区二区电影网| 激情图片小说一区| 中文文精品字幕一区二区| 99久久精品费精品国产一区二区 | 欧美电影一区二区| 日韩av中文字幕一区二区| 精品国产在天天线2019| 福利一区二区在线| 亚洲一区二区三区国产| 欧美成人一区二区三区 | 亚洲最新在线观看| 日韩精品一区二区三区视频播放 | 麻豆精品一二三| 国产精品视频在线看| 在线观看av不卡| 国内成人免费视频| 国产精品久久久久久久久久久免费看| 日本韩国欧美国产| 久久se这里有精品| 亚洲品质自拍视频| 精品国产网站在线观看| av午夜一区麻豆| 视频一区二区三区在线| 国产欧美一区二区精品秋霞影院| 99国产精品国产精品毛片| 日韩专区一卡二卡| 国产精品色在线观看| 91精品国产综合久久香蕉的特点| 国产99一区视频免费| 日韩精品一区第一页| 国产精品久久毛片av大全日韩| 9191成人精品久久| 成人av网站在线观看免费| 奇米精品一区二区三区在线观看一 | 成人一区二区视频| 奇米四色…亚洲| 亚洲国产精品久久不卡毛片| 国产三级一区二区| 日韩欧美国产综合一区 | 91网页版在线| 国产在线不卡一区| 午夜精品爽啪视频| 亚洲视频电影在线| 中文字幕乱码一区二区免费| 欧美一区二区三区视频| 在线亚洲一区观看| 成人晚上爱看视频| 国产电影精品久久禁18| 久久精品国内一区二区三区| 亚洲图片欧美一区| 一区二区三区免费在线观看| 国产精品久久久久久久久快鸭| 久久久精品2019中文字幕之3| 欧美浪妇xxxx高跟鞋交| 欧洲另类一二三四区| 色偷偷久久一区二区三区| 不卡视频一二三四| 成人听书哪个软件好| 国产高清在线观看免费不卡| 国产精品综合一区二区| 国产成人在线视频网站| 国产成人精品免费视频网站| 国产精品一区二区在线看| 狠狠色丁香久久婷婷综合丁香| 日韩电影一区二区三区| 免费亚洲电影在线| 婷婷综合在线观看| 蜜臀av一区二区在线免费观看 | 一区精品在线播放| 亚洲欧洲日产国产综合网| 18欧美亚洲精品| 亚洲麻豆国产自偷在线| 亚洲欧美电影一区二区| 亚洲免费观看高清| 一区二区欧美精品| 日本亚洲电影天堂| 国产麻豆精品在线观看| 国产精品2024| 色婷婷久久久综合中文字幕| 欧美色视频在线| 91精品国产乱| 国产三级精品三级| 樱花草国产18久久久久| 丝袜美腿亚洲综合| 国产一区二区主播在线| av中文字幕不卡| 在线成人免费观看| 亚洲精品一区在线观看| 欧美激情一二三区| 亚洲第一久久影院| 国精产品一区一区三区mba桃花 | 一区二区三区四区高清精品免费观看 | 亚洲午夜在线视频| 国产综合久久久久久久久久久久| 国产99久久久精品| 欧美日韩国产另类不卡| 精品国产亚洲一区二区三区在线观看 | 国产亚洲污的网站| 亚洲一二三区在线观看| 国产一区二区三区在线看麻豆| 91在线观看美女| 日韩欧美国产精品一区| 中文字幕一区日韩精品欧美| 日本不卡一区二区| 成人毛片视频在线观看| 欧美日韩一级视频| 国产精品免费看片| 极品销魂美女一区二区三区| 在线视频你懂得一区二区三区| wwwwxxxxx欧美| 日韩和欧美一区二区三区| 成人在线综合网站|