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

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

?? basecollection.h

?? 線程安全的帶索引功能的對象集合類
?? H
字號:
/******************************************************************************
    CopyRight (c) 2000-2005 南京南自信息技術有限公司
    All rights reserved.

    文件名稱:BaseCollection.h
    文件標識:對象集合基類
    文件摘要:對象集合基類實現文件

    作    者:王強
    建立日期:2005.11.09
    完成日期:
    當前版本:1.0

    修訂版本:未修訂
    作    者:
    完成日期:
******************************************************************************/
/******************************************************************************
    CopyRight (c) 2000-2005 南京南自信息技術有限公司
    All rights reserved.

    類    名:TBaseCollection
    父    類:無

    作    者:王強
    當前版本:1.1
    建立日期:2005.11.09
    完成日期:2006.06.14

    修訂版本:1.0
    作    者:王強
    完成日期:2005.11.09

    目    的:實現通用的對象集合類功能,即添加、刪除、查找等操作
    接    口:見文檔
******************************************************************************/
#ifndef BaseCollectionH
#define BaseCollectionH

#include "bcb_comm.h"
#include <vector>
#include <map>
using namespace std;

//說明:
//1:K類型表示關鍵字索引類型,此類型需要重載<和==操作符
//2:T類型表示集合中元素的指針類型,此類型需要有拷貝構造函數
template<class K, class T> class TBaseCollection
{
	typedef map< K, T* >				CollectionType;
    typedef CollectionType::iterator	Position;
public:
    //構造
	TBaseCollection( void )
    {

    }

    //拷貝構造
    TBaseCollection(const TBaseCollection &rhs)
    {
        Position iteb(m_map.begin());
        Position itee(m_map.end());
        for(;iteb!=itee;++iteb)
        {
            T *pObj(new T(*iteb->second));
            m_map.insert(make_pair(iteb->first,pObj));
        }
    }

    //重載的=操作符
    TBaseCollection &operator=(const TBaseCollection &rhs)
    {
        if(this!=&rhs)
        {
            Clear();
            Position iteb(m_map.begin());
            Position itee(m_map.end());
            for(;iteb!=itee;++iteb)
            {
                T *pObj(new T(*iteb->second));
                m_map.insert(make_pair(iteb->first,pObj));
            }
        }
        return *this;
    }
    
    //析構
    virtual ~TBaseCollection( void )
    {
    	Clear();
    }

    //添加成員到集合中
    T* Add(const K &key, const T *object, const bool bUpdate =true)
    {
        if(object==NULL)
        {
            return NULL;
        }
        
    	//如果在集合中找到相同關鍵字的元素,則根據bUpdate參數的值來決定是否更新
        //集合中的元素,如果bUpdate為true,則表示要更新,否則不更新
    	Position itePos(m_map.find(key));
        //查找指定關鍵字的元素是否存在
        if(itePos==m_map.end())
        {
            //添加進集合中的元素需要有拷貝構造函數
            //這里集合中保存的是要添加元素的副本
        	T *newobj(new T(*object));
            m_map.insert(make_pair(key,newobj));
            return newobj;
        }
        else
        {
        	if(bUpdate)
            {
            	*(itePos->second) = *object;
            }
            return itePos->second;
        }
    }

    //從集合中刪除元素,返回true表示指定元素被刪除,返回false表示未找到指定元素
	bool Remove(const K &key)
    {
    	Position itePos(m_map.find(key));
        //查找指定關鍵字的元素是否存在
        if(itePos!=m_map.end())
        {
			T *obj(itePos->second);
            SAFE_DELETE(obj);
            m_map.erase(itePos);
            return true;
        }
        return false;
    }

    //從集合中查找元素
    T* Find(const K &key)
    {
    	Position itePos(m_map.find(key));
        //查找指定關鍵字的元素是否存在
        if(itePos!=m_map.end())
        {
            return itePos->second;
        }
        return NULL;
    }

    //返回集合中元素個數
    int Count(void)
    {
    	return m_map.size();
    }

    //根據索引返回指定位置的元素
    T* GetByIndex(int idx)
    {
		Position iteb(m_map.begin());
        Position itee(m_map.end());
        for(int i=0;iteb!=itee;++iteb,++i)
        {
        	T *obj(iteb->second);
            if(i==idx)
            {
            	return obj;
            }
        }
        return NULL;
    }

    //清空集合中元素,并釋放元素占用的內容空間
    void Clear(void)
    {
    	//釋放集合中元素對象占用的內存
		Position iteb(m_map.begin());
        Position itee(m_map.end());
        for(;iteb!=itee;++iteb)
        {
        	T *obj(iteb->second);
            SAFE_DELETE(obj);
        }
        m_map.clear();
    }

    //返回集合中所有對象
    int GetAllObjects(vector<T*> &vct,bool bClear=true)
    {
        if(bClear)
        {
            vct.clear();
        }
		Position iteb(m_map.begin());
        Position itee(m_map.end());
        for(int i=0;iteb!=itee;++iteb,++i)
        {
            vct.push_back(iteb->second);
        }
        return vct.size();
    }

    //返回某個對象的副本
    //2006.06.20    add by wq
    bool GetObjectCopy(const K &key,T *&pObject)
    {
        T *pFoo(Find(key));
        if(pFoo)
        {
            pObject = new T(*pFoo);
            return true;
        }
        return false;
    }

protected:
	CollectionType	m_map;
};

#endif	//BaseCollectionH

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费| 91豆麻精品91久久久久久| 国产不卡免费视频| voyeur盗摄精品| 欧美日韩在线观看一区二区| 欧美一个色资源| 国产午夜亚洲精品不卡| 亚洲人成电影网站色mp4| 视频一区免费在线观看| 国产伦精品一区二区三区在线观看| 成人激情黄色小说| 欧美日韩一卡二卡三卡| 精品人伦一区二区色婷婷| 国产精品不卡视频| 免播放器亚洲一区| 99视频热这里只有精品免费| 9191国产精品| 国产精品久久毛片a| 日韩av午夜在线观看| 丰满少妇久久久久久久| 欧美日韩国产高清一区| 国产三级精品三级| 午夜精品久久久久久久蜜桃app| 国精产品一区一区三区mba视频| 91小视频在线| 首页欧美精品中文字幕| aaa欧美色吧激情视频| 欧美一二三区精品| 亚洲柠檬福利资源导航| 国产麻豆精品theporn| 欧美日韩国产免费| 自拍偷拍亚洲综合| 国内外成人在线视频| 精品视频123区在线观看| 国产欧美一区在线| 日本亚洲最大的色成网站www| av在线不卡网| 久久综合精品国产一区二区三区| 亚洲午夜免费视频| a美女胸又www黄视频久久| 欧美va亚洲va| 亚洲高清视频在线| 99久久精品一区二区| 久久伊人中文字幕| 日本午夜精品一区二区三区电影| 99精品视频一区| 国产网站一区二区| 美女一区二区久久| 欧美区一区二区三区| 最近日韩中文字幕| 成人午夜av影视| 久久五月婷婷丁香社区| 免费精品99久久国产综合精品| 色狠狠色狠狠综合| 国产精品久久三| 豆国产96在线|亚洲| 久久综合九色综合欧美亚洲| 日本亚洲视频在线| 9191成人精品久久| 性做久久久久久久免费看| 一本色道久久综合亚洲aⅴ蜜桃| 国产日本一区二区| 国产精品一二三在| www国产精品av| 毛片av一区二区三区| 91.xcao| 午夜电影网亚洲视频| 欧美亚洲国产一区二区三区va| 亚洲婷婷综合色高清在线| 成人免费高清在线| 国产精品国产三级国产a| 成人激情图片网| 国产盗摄精品一区二区三区在线| 精品日韩一区二区三区| 青草国产精品久久久久久| 这里是久久伊人| 免费人成网站在线观看欧美高清| 91精品在线一区二区| 日韩不卡在线观看日韩不卡视频| 欧美精品丝袜久久久中文字幕| 亚洲国产日韩av| 欧美精品1区2区| 美女性感视频久久| 国产亚洲欧美一区在线观看| 国产成人福利片| 国产精品激情偷乱一区二区∴| 99这里都是精品| 亚洲永久精品国产| 555www色欧美视频| 久久国产视频网| 精品成人私密视频| 黄色日韩网站视频| 国产欧美va欧美不卡在线| 高清在线观看日韩| 国产精品久久久久久久久免费樱桃 | 欧美午夜电影网| 亚洲少妇30p| 91日韩一区二区三区| 一区二区三区四区高清精品免费观看| 91在线视频观看| 国产精品精品国产色婷婷| 国产精品羞羞答答xxdd| 中文字幕精品一区二区精品绿巨人| 成人在线综合网站| 亚洲欧洲制服丝袜| 欧美手机在线视频| 狠狠狠色丁香婷婷综合久久五月| 久久久噜噜噜久久中文字幕色伊伊 | 精品一区二区三区免费毛片爱 | 日本伦理一区二区| 一区二区三区在线高清| 欧美日韩精品欧美日韩精品一 | 91丝袜国产在线播放| 亚洲亚洲人成综合网络| 日韩欧美一区电影| 日韩高清在线一区| 亚洲国产精品激情在线观看| av电影天堂一区二区在线观看| 亚洲精品五月天| 欧美一级一区二区| 国产一区二区视频在线| 亚洲欧洲精品一区二区三区不卡 | 午夜视频在线观看一区二区三区| 欧美日韩三级一区| 久久99久久精品| 中文字幕一区二区三区蜜月| 在线日韩国产精品| 美女在线观看视频一区二区| 久久久精品欧美丰满| 一本色道综合亚洲| 蜜桃在线一区二区三区| 中文字幕乱码亚洲精品一区| 日本韩国欧美国产| 麻豆精品视频在线观看免费| 久久免费看少妇高潮| 欧美日韩1区2区| 国产黄色91视频| 亚洲综合小说图片| 欧美大片一区二区三区| 99re66热这里只有精品3直播| 日韩1区2区3区| 欧美—级在线免费片| 欧美三级日韩在线| 国产大陆亚洲精品国产| 亚洲国产美国国产综合一区二区| 26uuu国产电影一区二区| 精品1区2区3区| 高清不卡在线观看| 日韩和欧美一区二区三区| 国产精品嫩草99a| 91精品在线观看入口| 99久久精品国产导航| 免费观看在线综合| 亚洲日本一区二区| 久久品道一品道久久精品| 欧美群妇大交群中文字幕| 北条麻妃一区二区三区| 日韩国产成人精品| 亚洲成人免费电影| 国产精品色噜噜| 精品免费国产二区三区 | 精品人在线二区三区| 99国产精品久久久久久久久久| 午夜精品国产更新| 国产精品欧美经典| 久久综合给合久久狠狠狠97色69| 欧美在线短视频| 国产精品77777竹菊影视小说| 无吗不卡中文字幕| 日韩美女精品在线| 国产亚洲一区字幕| 欧美日韩高清一区二区三区| 91一区在线观看| 91麻豆国产福利精品| 国内外成人在线| 免费黄网站欧美| 视频一区二区三区在线| 夜夜夜精品看看| 亚洲自拍都市欧美小说| 中文字幕在线一区免费| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美情侣在线播放| 欧美四级电影网| 91同城在线观看| 99国产精品视频免费观看| 亚洲一二三区视频在线观看| 最新成人av在线| 中文字幕第一区二区| 久久精品亚洲麻豆av一区二区| 日韩西西人体444www| 69av一区二区三区| 在线成人高清不卡| 欧美精品精品一区| 3d成人h动漫网站入口| 在线观看亚洲a| 91 com成人网| 日韩免费高清视频| 欧美哺乳videos| 欧美一区二区三区在线观看视频| 欧美一区国产二区|